[Part 1] 데이터 시스템의 기초 ▣ 01장: 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션데이터 시스템에 대한 생각신뢰성하드웨어 결함소프트웨어 오류인적 오류신뢰성은 얼마나 중요할까? 확장성 부하 기술하기 성능 기술하기 부하 대응 접근 방식 유지보수성 운용성: 운영의 편리함 만들기 단순성: 복잡도 관리 발전성: 변화를 쉽게 만들기 정리 참고 문헌 ▣ 02장: 데이터 모델과 질의 언어 관계형 모델과 문서 모델 NoSQL의 탄생 객체 관계형 불일치 다대일과 다대다 관계 문서 데이터베이스는 역사를 반복하고 있나? 관계형 데이터베이스와 오늘날의 문서 데이터베이스 데이터를 위한 질의 언어 웹에서의 선언형 질의 맵리듀스 질의 그래프형 데이터 모델 속성 그래프 사이퍼 질의 언어 SQL의 그래프 질의 트리플 저장소와 스파클 초석: 데이터로그 정리 참고 문헌 ▣ 03장: 저장소와 검색 데이터베이스를 강력하게 만드는 데이터 구조 해시 색인 SS테이블과 LSM 트리 B 트리 B 트리와 LSM 트리 비교 기타 색인 구조 트랜잭션 처리나 분석? 데이터 웨어하우징 분석용 스키마: 별 모양 스키마와 눈꽃송이 모양 스키마 칼럼 지향 저장소 칼럼 압축 칼럼 저장소의 순서 정렬 칼럼 지향 저장소에 쓰기 집계: 데이터 큐브와 구체화 뷰 정리 참고 문헌 ▣ 04장: 부호화와 발전 데이터 부호화 형식 언어별 형식 JSON과 XML, 이진 변형 스리프트와 프로토콜 버퍼 아브로 스키마의 장점 데이터플로 모드 데이터베이스를 통한 데이터플로 서비스를 통한 데이터플로: REST와 RPC 메시지 전달 데이터플로 정리 참고 문헌 [Part 2] 분산 데이터고부하로 확장 비공유 아키텍처 복제 대 파티셔닝 참고 문헌 ▣ 05장: 복제 리더와 팔로워 동기식 대 비동기식 복제 새로운 팔로워 설정 노드 중단 처리 복제 로그 구현 복제 지연 문제 자신이 쓴 내용 읽기 단조 읽기 일관된 순서로 읽기 복제 지연을 위한 해결책 다중 리더 복제 다중 리더 복제의 사용 사례 쓰기 충돌 다루기 다중 리더 복제 토폴로지 리더 없는 복제 노드가 다운됐을 때 데이터베이스에 쓰기 정족수 일관성의 한계 느슨한 정족수와 암시된 핸드오프 동시 쓰기 감지 정리 참고 문헌 ▣ 06장: 파티셔닝 파티셔닝과 복제 키-값 데이터 파티셔닝 키 범위 기준 파티셔닝 키의 해시값 기준 파티셔닝 쏠린 작업부하와 핫스팟 완화 파티셔닝과 보조 색인 문서 기준 보조 색인 파티셔닝 용어 기준 보조 색인 파티셔닝 파티션 재균형화 재균형화 전략 운영: 자동 재균형화와 수동 재균형화 요청 라우팅 병렬 질의 실행 정리 참고 문헌 ▣ 07장: 트랜잭션 애매모호한 트랜잭션의 개념 ACID의 의미 단일 객체 연산과 다중 객체 연산 완화된 격리 수준 커밋 후 읽기 스냅숏 격리와 반복 읽기 갱신 손실 방지 쓰기 스큐와 팬텀 직렬성 실제적인 직렬 실행 2단계 잠금(2PL) 직렬성 스냅숏 격리(SSI) 정리 참고 문헌 ▣ 08장: 분산 시스템의 골칫거리 결함과 부분 장애 클라우드 컴퓨팅과 슈퍼컴퓨팅 신뢰성 없는 네트워크 현실의 네트워크 결함 결함 감지 타임아웃과 기약 없는 지연 동기 네트워크 대 비동기 네트워크 신뢰성 없는 시계 단조 시계 대 일 기준 시계 시계 동기화와 정확도 동기화된 시계에 의존하기 프로세스 중단 지식, 진실, 그리고 거짓말 진실은 다수결로 결정된다 비잔틴 결함 시스템 모델과 현실 정리 참고 문헌 ▣ 09장: 일관성과 합의 일관성 보장 선형성 시스템에 선형성을 부여하는 것은 무엇인가? 선형성에 기대기 선형성 시스템 구현하기 선형성의 비용 순서화 보장 순서화와 인과성 일련번호 순서화 전체 순서 브로드캐스트 분산 트랜잭션과 합의 원자적 커밋과 2단계 커밋(2PC) 현실의 분산 트랜잭션 내결함성을 지닌 합의 멤버십과 코디네이션 서비스 정리 참고 문헌 [Part 3] 파생 ▣ 10장: 일괄 처리 유닉스 도구로 일괄 처리하기 단순 로그 분석 유닉스 철학 맵리듀스와 분산 파일 시스템 맵리듀스 작업 실행하기 리듀스 사이드 조인과 그룹화 맵 사이드 조인 일괄 처리 워크플로의 출력 하둡과 분산 데이터베이스의 비교 맵리듀스를 넘어 _중간 상태 구체화 그래프와 반복 처리 고수준 API와 언어 정리 참고 문헌 ▣ 11장: 스트림 처리 이벤트 스트림 전송 메시징 시스템 파티셔닝된 로그 데이터베이스와 스트림 시스템 동기화 유지하기 변경 데이터 캡처이벤트 소싱 상태와 스트림과 불변성 스트림 처리 스트림 처리의 사용 시간에 관한 추론 스트림 조인 내결함성 정리 참고 문헌 ▣ 12장: 데이터 시스템의 미래 데이터 통합 파생 데이터에 특화된 도구의 결합 일괄 처리와 스트림 처리 데이터베이스 언번들링 데이터 저장소 기술 구성하기 데이터플로 주변 애플리케이션 설계 파생 상태 관찰하기 정확성을 목표로 데이터베이스에 관한 종단 간 논증 제약 조건 강제하기 적시성과 무결성 믿어라. 하지만 확인하라. 옳은 일 하기 예측 분석 사생활과 추적 정리 참고 문헌 용어집