본문 바로가기

DB34

[DDIA] 06장. 파티셔닝 들어가기 전에데이터셋이 매우 크거나 질의 처리량이 매우 높다면 복제만으로는 부족하고 데이터를 파티션으로 쪼갤 필요가 있다. 이 작업을 샤딩이라고 한다. 각 DB에서 파티션을 지칭하는 용어용어DB 종류샤드(shard) 몽고DB, 엘라스틱서치, 솔라클라우드리전(region)HBase태블릿(tablet)빅테이블브이노드(vnode)카산드라, 리악브이버켓(vBucket)카우치베이스 [개념 사전]단어 설명파티셔닝대용량 데이터베이스를 의도적으로 작은 단위로 쪼개는 방법사전 분할(pre-splitting)빈 데이터베이스에 초기 파티션 집합을 설정하는 것 (HBase, 몽고DB 제공)서비스 찾기(service discovery)분산 시스템에서 특정 서비스의 위치(IP 및 포트 등)를 동적으로 찾는 방법파티션 인지(pa.. 2025. 8. 30.
[DDIA] 05장. 복제 들어가기 전에복제란 네트워크로 연결된 여러 장비에 동일한 데이터의 복사본을 유지한다는 의미다. 복제에서 모든 어려움은 복제된 데이터의 변경 처리에 있으며 이것이 이번 장의 내용이다. 데이터 복제가 필요한 여러 이유가 있다.지리적으로 사용자와 가깝게 데이터를 유지해 지연 시간을 줄인다.시스템의 일부에 장애가 발생해도 지속적으로 동작할 수 있게 해 가용성을 높인다.읽기 질의를 제공하는 장비의 수를 확장해 읽기 처리량을 늘린다. [개념 사전]단어의미최종적 일관성분산 시스템에서 즉각적인 일관성을 보장하지 않지만, 일정 시간이 지나면 결국 일관된 상태에 도달하는 특성복제 서버(replica)데이터베이스의 복사본을 저장하는 각 노드리더 기반 복제(leader-based replication)(=능동(active)/.. 2025. 8. 10.
[DDIA] 04장. 부호화와 발전 들어가기 전에발전성은 변경 사항을 쉽게 적용할 수 있게 시스템을 구축해야 한다는 개념이다. 이번 장의 핵심은 서버와 클라이언트가 사용하는 데이터 부호화는 서비스 API의 버전 간 호환이 가능해야 한다는 점이다. [개념 사전]단어의미순회식 업그레이드(rolling upgrade, = 단계적 롤아웃(staged rollout))한 번에 몇 개의 노드에 새 버전을 배포하고 새로운 버전이 원활하게 실행된다면 서서히 모든 노드에서 실행되게 하는 방식최소공통분모 부호화 형식(lowest-common-denominator encoding format)다양한 환경에서 최대한의 호환성을 보장하기 위한 가장 기본적인 포맷바이너리프로토콜(BinaryProtocol)필드 타입과 태그 숫자를 압축 없이 원시 이진 데이터 형태.. 2025. 5. 27.
[DDIA] 03장. 저장소와 검색 들어가기 전에데이터베이스가 저장과 검색을 내부적으로 처리하는 방법을 애플리케이션 개발자가 주의해야 하는 이유는 무엇일까? 특정 작업부하(workload) 유형에서 성능 개선을 위해 저장소 엔진을 조정하려면 엔진 내부의 작업에 대해 대략적인 개념을 이해할 필요가 있다. [개념 사전]단어의미로그(log)추가 전용(append-only) 데이터 파일 (연속된 추가 전용 레코드, 특정 읽기 전용 프로그램만 읽을 수 있는 바이너리 등)색인(index)부가적인 메타데이터를 유지하는 것으로 원하는 데이터의 위치를 찾는 역할바이트 오프셋(byte offset)데이터 파일에서 값(value)을 바로 찾을 수 있는 위치 값세그먼트(segment)로그 구조화 색인이 데이터베이스를 나누는 단위컴팩션(compaction)로그.. 2025. 5. 18.
[DDIA] 02장. 데이터 모델과 질의 언어 들어가기 전에내 언어의 한계는 내 세계의 한계를 의미한다. - 루트비히 비트겐슈타인, 논리-철학 논고(1922) [개념 사전]단어의미다중 저장소 지속성(polyglot persistence)관계형 데이터베이스가 폭넓은 다양함을 가진 비관계형 데이터스토어와 함께 사용될 것이라는 개념임피던스 불일치(impedance mismatch)객체지향 프로그래밍과 관계형 데이터베이스 모델 객체의 패러다임이 상충되는 것문서 참조(document reference)문서 모델에서 의존 관계를 표현할 때 참조하는 고유한 식별자슈레딩(shredding) 관계형 기법문서와 비슷한 구조를 여러 테이블로 나누는 것쓰기 스키마(schema-on-write)관계형 데이터베이스의 전통적인 접근 방식으로 스키마는 명시적이고 데이터 베이스.. 2025. 5. 6.
[DDIA] 01장. 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션 들어가기 전에글또에서 좋은 기회로 스터디에 합류하게 되어 열심히 배우고 있다. Github 레포지토리에 스터디 자료를 정리해서 올리고 있었는데 아무래도 읽는 분들은 블로그 자료를 참고하겠다 싶어서 내용을 공유하기 위해 블로그에도 남기기로 했다. 하지만 특정 템플릿에 따라 내용을 정리했기 때문에 책의 모든 내용이 요약되어있지 않다. 똑같은 내용을 읽으면서 다른 사람은 어떤 점이 새로웠고, 어떤 점이 어려웠는지 그 내용이 비슷하다면 어떤 점을 추가로 배웠는지 등에 초점을 맞춰 보면 좋을 것 같다.   스터디 소개해당 스터디는 매주 1장씩 읽고 다음 템플릿에 따라 학습 내용을 정리하고 발표하며 서로 의견을 나눈다.NDA - 새롭게 알게 된 점(New)- 어려웠거나 이해하지 못한 부분(Difficulty)- .. 2025. 3. 16.