데이터 무결성을 유지하면서 스키마 유연성 확보

구조화된 데이터와 반구조화된 데이터를 모두 활용하는 하이브리드 데이터 모델링은 ACID 트랜잭션이나 표준 SQL을 희생하지 않으면서도 현대적인 웹, 모바일 및 IoT 애플리케이션이 요구하는 유연성 요건을 충족할 수 있습니다.

JSON + 관계형: 하이브리드 데이터 모델 사용 방법

구조화 및 반구조화 데이터를 모델링하고, SQL을 사용하여 JSON 문서를 색인화 및 쿼리하며, JSON 문서의 데이터 무결성을 보장하는 방법을 알아보세요.

지금 시청하세요

Relational + JSON을 사용해야 하는 5가지 이유

   트랜잭션을 사용하여 여러 JSON 문서를 삽입하거나 수정할 수 있습니다.

   JSON 문서 내의 특정 필드에 무결성 제약 조건을 적용할 수 있습니다.

   표준 SQL 함수를 사용하여 JSON 문서를 쿼리할 수 있으며, JOIN 데이터를 기존 테이블과 JOIN 수 있습니다.

   JSON 문서 내의 특정 필드를 인덱싱할 수 있습니다.

   JSON 문서를 관계형 데이터로 반환할 수 있으며, 그 반대의 경우도 마찬가지입니다.

하이브리드 데이터 모델 쿼리

사용자 프로필을 한 행에 저장하고 싶다면 어떻게 해야 할까요? 네, 사용자에게는 user_id, 이름, 국가(그 외 정보도 포함)가 있습니다. 하지만 사용자는 개인 이메일 주소와 업무용 이메일 주소는 물론, 휴대폰 번호와 사무실 전화번호도 가지고 있을 수 있습니다. 어떤 사용자는 트위터와 링크드인 계정을 가지고 있는 반면, 다른 사용자는 페이스북과 인스타그램 계정을 가지고 있을 수도 있습니다. 관심사는 어떨까요?

JSON 함수를 사용하면 사용자 프로필을 단일 행에 저장할 수 있습니다.

user_id이름국가attr
sjohnson셰인미국{
"email": {
"work": "shane.johnson@mariadb.com"},
"phone": {
"mobile": "(555) 555-5555"},
"social": {
"twitter": "@shane_dev",
"linkedin": "/in/shanekjohnson"},
"interests": [
"Science Fiction",
"Distributed Systems"]
SELECT ,
   JSON_VALUE(attr, "$.email.personal") AS email,
   JSON_VALUE(attr, "$.social.twitter") AS twitter,
   JSON_VALUE(attr, "$.interests[0]") AS favorite_interest
FROM  
WHERE  = "sjohnson";


이름이메일트위터좋아하는 것_관심사
셰인없음@shane_dev공상과학
파랑