본문 바로가기

파티셔닝3

데이터중심 애플리케이션 설계 - 6장 [파티셔닝] 리뷰 - 3 이번 포스팅에서는 6장에서의 3번째 주제 파티션 재균형화에 대해 리뷰한다. 파티션 재균형화 재균형화(Rebalancing) : 특정 노드에 대한 데이터와 요청을 다른 노드로 옮기는 과정 재균형화에 대한 요구사항 재균형화 이후에는 부하가 클러스터의 노드들에 대해 균등하게 분배 재균형화 도중에도 DB에 read/write 요청이 가능해야함 재균형화는 빠르게 실행되어야하며, 네트워크, 디스크 I/O 부하를 최소화할 수 있도록 노드간의 데이터 이동은 최소로 이동 파티션 리벨런싱 전략 사용하면 안되는 방법 : 해시값에 mod N 연산 실행 문제점 : 노드 개수 N 이 바뀌면, 대부분의 키의 위치가 노드 사이에서 옮겨진다. 즉, 필요이상의 데이터가 이동하게 되므로 리벨런싱 비용이 너무 많아짐 # 파티션 개수 고정 .. 2022. 10. 22.
데이터중심 애플리케이션 설계 - 6장 [파티셔닝] 리뷰 - 2 인덱스와 파티셔닝의 상호 작용 key - value 데이터 모델에 의존한 파티셔닝 방식 = 기본키를 통해 레코드를 식별한다. 파티셔닝과 보조 색인 보통 보조색인의 역할 : 특정한 값이 발생한 항목을 검색하는 수단으로 이용 ex) user_123 의 실행 액션 조회 / 'water' 가 들어간 글을 모두 조회 보조 색인이 있는 DB 색인 방식 2가지 문서 기반 파티셔닝 [local Index] 용어 기반 파티셔닝 [Global Index] 문서 기반 보조 색인 파티셔닝 문서 파티셔닝 색인 local index(지역 색인)으로 칭하기도 함 각 파티션은 본인의 보조 색인을 유지 보조 색인은 해당 파티션이 속하는 document만 담당 [Create, Update, Delete 시의 파티션만 다루면 된다] 장점.. 2022. 10. 21.
데이터중심 애플리케이션 설계 - 6장 [파티셔닝] 리뷰 - 1 5장 리뷰 작성을 미루다가 6장을 먼저 공부해버렸다. 이후에 5장도 마저 작성하도록한다... 6장 preview 파티셔닝 방법 인덱스와 파티셔닝 간의 상호 작용 재균형화 데이터베이스가 올바른 파티션을 찾아 요청을 전달하고 질의를 실행하는 방법 파티셔닝 데이터 셋이 크거나, 질의 처리량이 매우 높은 경우 데이터를 작은 단위[파티션]으로 쪼개는 작업 (≒ 샤딩) ex) - 샤드(MongoDB, Elasticsearch, Solr), 리전 (Hbase), 태블릿 (Bigtable) - 브이노드 (Cassandra, Riak), 브이버켓 (Couchbase) 파티션은 보통 각 데이터 단위(record, row, document)가 하나의 파티션에 속함 물론 파티셔닝과 샤딩의 정확한 의미의 차이는 존재합니다. 파.. 2022. 10. 20.