1 개요[ | ]
- sharding, database sharding, horizontal partitioning
- 샤딩, 데이터베이스 샤딩, 수평 파티셔닝
- DB에서 데이터를 수평 분할하는 방식
- 물리적으로 다른 데이터베이스에 데이터를 수평 분할 방식으로 분산 저장하고 조회하는 방법
- 예: '주민' 테이블이 여러 DB에 있을 때, A동 주민에 대한 정보는 DB #1에, B동 주민에 대한 정보는 DB #2에 저장한다.
- 장점: 부하(load)가 여러 노드로 분산되므로 성능상 이점이 있다.
- 단점: 여러 데이터베이스를 대상으로 작업해야 한다.
- 경우에 따라서는 기능에 제약이 있을 수 있음(JOIN 연산 등)
- 일관성(consistency)과 복제(replication) 관리가 복잡할 수 있다.
유형 | 솔루션 예시 | 비고 |
---|---|---|
애플리케이션 서버에서 동작 | Hibernate Shards | 예전에는 이러한 유형이 많았음 |
미들티어에서 동작 | CUBRID, Spock Proxy, Gizzard | |
데이터베이스 자체 기능 | MongoDB |
2 같이 보기[ | ]
3 참고[ | ]
- 위키백과 "샤드 (데이터베이스 아키텍처)"
- 영어 위키백과 "Shard (database architecture)"
- http://d2.naver.com/helloworld/14822 NHN의 안과 밖: Sharding Platform
편집자 Ykhwong Jmnote
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- DB (3)
Lib my.php ― 신정섭Lib my.php ― JmnoteSQLGate ― Andreas Neumann