책/데이터중심 애플리케이션 설계9 데이터중심 애플리케이션 설계 - 3장 [저장소와 검색] 리뷰 - 2 B Tree (B 트리) 가장 널리 사용되는 인덱스 구조 ( RDB / NoSQL) SS 테이블과 동일하게 K-V 정렬 유지 (키 - 값 검색 / 범위 쿼리 효율적) 기본 구조 4KB 내외 크기의 고정 크기 페이지(블록)로 나누고 한 번에 하나의 페이지에 읽기 또는 쓰기 (디스크는 고정 크기 블록으로 배열되기 때문) 각 페이지는 주소나 위치를 이용해 식별 가능 -> 해당 방식으로 하나의 페이지가 다른 페이지를 참조 가능 B tree 구조에는 하나의 루트 페이지 존재 (색인에서 키를 찾기 위해서는 루트에서부터 시작) 페이지는 여러 키와 하위 페이지 참조를 포함 최종적으로는 리프 페이지를 포함하는 페이지에 도달 분기 계수 : 한 페이지에서 하위 페이지를 참조하는 수 (페이지 참조와 범위 경계를 저장할 공간의.. 2022. 9. 9. 데이터중심 애플리케이션 설계 - 3장 [저장소와 검색] 리뷰 - 1 3장을 읽으며 발췌 및 정리하면 좋을 내용들에 대해서만 정리하였다. DB의 작업 data 저장 data 요청시, 제공 개발자가 DB 내 저장 및 검색 처리 방법을 주의해야 하는 이유 : - 처음부터 저장소 엔진을 구현하는 것이 아닌, 사용 가능한 여러 저장소 엔진 중 가장 적합한 엔진을 선택해야 하기 때문 ex_ transaction 작업 부하에 맞추어 최적화된 저장소 엔진과 분석을 위해 최적화된 엔진 간의 차이는 크다. 로그 구조 계열 저장소 엔진(Log-structured) - ex) B-tree 페이지 지향 계열 저장소 엔진(Page-Oriented) DB 를 강력하게 만드는 데이터 구조 일반적으로 많은 DB는 내부적으로 추가 전용(append-only) 데이터 파일인 로그(log)를 사용 로그 -.. 2022. 9. 5. 데이터중심 애플리케이션 설계 - 2장 [데이터 모델과 질의 언어] 데이터 모델과 질의 언어 데이터 모델 소프트웨어 개발에서 제일 중요한 부분 SW가 어떻게 작성되었는지, 해결하려는 문제를 어껗게 생각해야하는 지에 대한 영향 대부분의 어플리케이션 : 하나의 데이터 모델을 다른 데이터 모델 위에 계층을 둬서 생성 각 계층의 핵심적인 문제 : 하위 계층 관점에서 데이터 모델을 표현하는 방법 ex: 개발자는 현실을 통해 객체/자료구조/데이터 구조를 다루는 API를 모델링 -> 이러한 구조는 어플리케이션에 특화 데이터 구조 저장 : JSON, XML, RDB Table, Graph Model과 같은 범용 데이터 모델로 표현 각 계층은 명확한 데이터 모델을 제공하여 하위 계층의 복잡성을 숨긴다. 추상화 다양한 데이터 모델 -> 각 데이터 모델은 사용 방법에 대한 가정을 나타낸다... 2022. 8. 27. 이전 1 2 다음