2. 1.데이터 모델링
• 데이터를 분류 하는 작업
• 개발자/기획자가 같은 뷰를 보고 이야기 할 수 있는 매개체
• NoSQL에서도 데이터 모델링은 필요하다.
3. 2. NoSQL의 종류
• 기본적으로 Key/Value 구조
• 간단한 텍스트가 저장 될 수도 있고 JSON/XML 문서가 저장 될
수도 있다.
KEY VALUE
이름 에이치티비욘드
법인여부 예
4. 3. RDBMS와 NoSQL의 차이
*NoSQL에서 위 다섯 가지의 처리를 하기 쉽지 않음
데이터를 어떤 관점에서 가져올 것인지를 고려 하여 데이터 모델링이
되어야 한다.
(가져오는 속도, 가공같은 관점 고려)
분류 RDBMS NoSQL
Sorting 자체 제공 소스로 구현
JOIN SQL문으로 제공 불가
Grouping SQL문으로 제공 소스로 구현(복잡도가 높음)
Range Query SQL문으로 제공 소스로 구현
Index DB 제공 디비에 따라 차이
MongoDB에서 인덱스 제공
5. • RDBMS는 정규화를 해야하나 NoSQL은 정규화가 의미가 없다.
• 데이터간의 관계를 정의 하지 않음->테이블은 그냥 하나의 테
이블 이므로 JOIN없음
• RDBMS 테이블 중심 -> 쿼리로 결과 추출
• NoSQL 쿼리결과 중심-> 테이블을 만듬
• NoSQL에서는 원하는 결과를 먼저 구상한 후에 테이블을 만든
다.
->그러나 여전히 데이터 품질은 중요하다.
3. RDBMS와 NoSQL의 차이
6. 1. 데이터에 대한 파악
아무리 NoSQL이라지만 어떤 데이터가 어떻게 생성 되지는지 어
떤 의미를 담고 있는지 정도는 파악해야 한다.
이 데이터가 뭔지도 모르는데 어디에 사용할지 어떻게 안단 말인
가?
4. NoSQL 모델링 절차
7. 4. NoSQL 모델링 형태
예시)RDBMS
고객
고객번호(pk)
이름
주소
전화번호
고객거주아파트
고객번호(FK)
아파트번호(FK)
아파트
아파트동번호(pk)
세대수
관리주체
예시)NoSQL – RDBMS에서 테이블 세개로 표현되는 것이 NoSQL에서는 하나로 표현된다
고객번호
이름 주소
홍길동 서울시 구로
아파트동번호 세대수
302동 1123세대
8. 5. HT 적용 방법
데이터 성격 중분류 DB 구분
마스터 정보
동 호수 정보
RDBMS
세대 주민 정보
아파트 위치 정보
아파트 관리주체
로그성 정보
에너지(난방,조명,가스) 사용 정보
NoSQL스마트폰 (난방,조명,가스) 제어 정보
기타 센싱 정보
9. 5. HT 적용 방법
2. 최 우선적으로 보아야할 결과에 대한 테이블 설계.
-> 1차 관리 대상 테이블로 선정 후 해당 테이블 및 데이터에
대한 지속적인 품질 관리 모니터링
-> 임시성 테이블 및 데이터에 대한 관리는 후 순위
#NoSQL이라고 해서 무한정 테이블을 만들고 모든 테이블을 지
속 관리할 수는 없다.
->추후 테이터 품질 관리 시스템 구축 여건이 된다면 관리 테이
블을 늘려 갈 수 있음
10. 5. HT 적용 방법
제품군
• Key-Value Stores: Oracle Coherence, Redis(인 메모리 디비), Kyoto
Cabinet
• BigTable-style Databases: Apache HBase, Apache Cassandra
장점 :
단점 :
• Document Databases: MongoDB, CouchDB
장점 :
단점 :
• Full Text Search Engines: Apache Lucene, Apache Solr
• Graph Databases: neo4j, FlockDB
11. 6.참고 자료
• NoSQL 데이터 모델링 빅데이터 시대를 여는 첫걸음(저자:이장
복)
• 조대협의 블로그 http://bcho.tistory.com/665