데이터중심애플리케이션설계2 데이터중심 애플리케이션 설계 - 6장 [파티셔닝] 리뷰 - 3 이번 포스팅에서는 6장에서의 3번째 주제 파티션 재균형화에 대해 리뷰한다. 파티션 재균형화 재균형화(Rebalancing) : 특정 노드에 대한 데이터와 요청을 다른 노드로 옮기는 과정 재균형화에 대한 요구사항 재균형화 이후에는 부하가 클러스터의 노드들에 대해 균등하게 분배 재균형화 도중에도 DB에 read/write 요청이 가능해야함 재균형화는 빠르게 실행되어야하며, 네트워크, 디스크 I/O 부하를 최소화할 수 있도록 노드간의 데이터 이동은 최소로 이동 파티션 리벨런싱 전략 사용하면 안되는 방법 : 해시값에 mod N 연산 실행 문제점 : 노드 개수 N 이 바뀌면, 대부분의 키의 위치가 노드 사이에서 옮겨진다. 즉, 필요이상의 데이터가 이동하게 되므로 리벨런싱 비용이 너무 많아짐 # 파티션 개수 고정 .. 2022. 10. 22. 데이터중심 애플리케이션 설계 - 2장 [데이터 모델과 질의 언어] 데이터 모델과 질의 언어 데이터 모델 소프트웨어 개발에서 제일 중요한 부분 SW가 어떻게 작성되었는지, 해결하려는 문제를 어껗게 생각해야하는 지에 대한 영향 대부분의 어플리케이션 : 하나의 데이터 모델을 다른 데이터 모델 위에 계층을 둬서 생성 각 계층의 핵심적인 문제 : 하위 계층 관점에서 데이터 모델을 표현하는 방법 ex: 개발자는 현실을 통해 객체/자료구조/데이터 구조를 다루는 API를 모델링 -> 이러한 구조는 어플리케이션에 특화 데이터 구조 저장 : JSON, XML, RDB Table, Graph Model과 같은 범용 데이터 모델로 표현 각 계층은 명확한 데이터 모델을 제공하여 하위 계층의 복잡성을 숨긴다. 추상화 다양한 데이터 모델 -> 각 데이터 모델은 사용 방법에 대한 가정을 나타낸다... 2022. 8. 27. 이전 1 다음