Description
데이터는 오늘날 시스템을 설계할 때 마주치는 많은 도전 과제 중에서도 가장 중심에 있다. 확장성, 일관성, 신뢰성, 효율성, 유지보수성과 같은 해결하기 어려운 문제를 파악해야 할 뿐 아니라 관계형 데이터베이스, NoSQL 데이터스토어, 스트림 처리자 또는 일괄 처리 처리자, 메시지 브로커 등을 포함한 도구의 다양성에 압도된다. 어떤 선택이 애플리케이션에 적합한가? 이 유행어들을 얼마나 이해하고 있는가?

마틴 클레프만은 이 실용적이고 포괄적인 안내서에서 데이터를 처리하고 저장하는 다양한 기술의 장단점을 검토한다. 이 책은 여러분이 거대한 문제 공간 속을 항해하는 데 좋은 길잡이가 될 것이다. 소프트웨어는 계속 변하지만 근본 원리는 동일하다. 이 책에서 소프트웨어 엔지니어와 아키텍트는 실전에 이 개념을 어떻게 적용하는지, 그리고 현대 애플리케이션에서 어떻게 데이터를 최대한 활용하는지 배운다.

저자

마틴클레프만

마틴클레프만(MartinKleppmann)
마틴클레프만은영국캠브리지대학에서분산시스템을연구하는연구원이다.마틴은링크트인(LinkedIn)과래포티브(Rapportive)등의인터넷회사에서대규모데이터인프라를다루는소프트웨어엔지니어와사업가로일했다.그과정에서많은고생을하며몇가지를배웠고사람들이이같은실수를반복하지않기를바라는마음에이책을썼다.
마틴은정규컨퍼런스강연자이자블로거,오픈소스공헌자로활약중이다.그는심오한기술적개념은모든사람들이쉽게접근가능해야하고이해가깊으면깊을수록더좋은소프트웨어를개발하는데도움이된다고믿는다.





김영준
아주대학교에서컴퓨터공학을전공했다.네이버에서검색서비스,모니터링시스템,증분검색솔루션을개발했다.현재는딥러닝에기반한이미지검색기술을연구하고있다.《빅데이터:람다아키텍처로알아보는실시간빅데이터구축의핵심원리와기법》(정보문화사,2016)을공역했다.





이도경
서울대학교컴퓨터공학부를졸업했고동대학원에서석사학위를받았다.네이버에서검색시스템개발과시스템운영을경험했고대규모실시간처리시스템설계와개발및시스템운영을했다.지금은이전빅데이터처리경험을바탕으로대규모실시간추천시스템을설계,개발,운영하고있다.《빅데이터:람다아키텍처로알아보는실시간빅데이터구축의핵심원리와기법》(정보문화사,2016)을공역했다.





정재부
현재네이버에서다양한분산오픈소스솔루션을이용한데이터처리플랫폼을개발,운영하고있다.하둡,슬라이더기반의멀티테넌트분산플랫폼구축과스톰,스팍을이용한데이터처리프레임워크개발에관심이많다.《빅데이터:람다아키텍처로알아보는실시간빅데이터구축의핵심원리와기법》(정보문화사,2016)을공역했다.





목차

[Part1]데이터시스템의기초

▣01장:신뢰할수있고확장가능하며유지보수하기쉬운애플리케이션
데이터시스템에대한생각
신뢰성
___하드웨어결함
___소프트웨어오류
___인적오류
___신뢰성은얼마나중요할까?
확장성
___부하기술하기
___성능기술하기
___부하대응접근방식
유지보수성
___운용성:운영의편리함만들기
___단순성:복잡도관리
___발전성:변화를쉽게만들기
정리
참고문헌

▣02장:데이터모델과질의언어
관계형모델과문서모델
___NoSQL의탄생
___객체관계형불일치
___다대일과다대다관계
___문서데이터베이스는역사를반복하고있나?
___관계형데이터베이스와오늘날의문서데이터베이스
데이터를위한질의언어
___웹에서의선언형질의
___맵리듀스질의
그래프형데이터모델
___속성그래프
___사이퍼질의언어
___SQL의그래프질의
___트리플저장소와스파클
___초석:데이터로그
정리
참고문헌

▣03장:저장소와검색
데이터베이스를강력하게만드는데이터구조
___해시색인
___SS테이블과LSM트리
___B트리
___B트리와LSM트리비교
___기타색인구조
트랜잭션처리나분석?
___데이터웨어하우징
___분석용스키마:별모양스키마와눈꽃송이모양스키마
칼럼지향저장소
___칼럼압축
___칼럼저장소의순서정렬
___칼럼지향저장소에쓰기
___집계:데이터큐브와구체화뷰
정리
참고문헌

▣04장:부호화와발전
데이터부호화형식
___언어별형식
___JSON과XML,이진변형
___스리프트와프로토콜버퍼
___아브로
___스키마의장점
데이터플로모드
___데이터베이스를통한데이터플로
___서비스를통한데이터플로:REST와RPC
___메시지전달데이터플로
정리
참고문헌

[Part2]분산데이터

고부하로확장
___비공유아키텍처
___복제대파티셔닝
참고문헌

▣05장:복제
리더와팔로워
___동기식대비동기식복제
___새로운팔로워설정
___노드중단처리
___복제로그구현
복제지연문제
___자신이쓴내용읽기
___단조읽기
___일관된순서로읽기
___복제지연을위한해결책
다중리더복제
___다중리더복제의사용사례
___쓰기충돌다루기
___다중리더복제토폴로지
리더없는복제
___노드가다운됐을때데이터베이스에쓰기
___정족수일관성의한계
___느슨한정족수와암시된핸드오프
___동시쓰기감지
정리
참고문헌

▣06장:파티셔닝
파티셔닝과복제
키-값데이터파티셔닝
___키범위기준파티셔닝
___키의해시값기준파티셔닝
___쏠린작업부하와핫스팟완화
파티셔닝과보조색인
___문서기준보조색인파티셔닝
___용어기준보조색인파티셔닝
파티션재균형화
___재균형화전략
___운영:자동재균형화와수동재균형화
요청라우팅
___병렬질의실행
정리
참고문헌

▣07장:트랜잭션
애매모호한트랜잭션의개념
___ACID의의미
___단일객체연산과다중객체연산
완화된격리수준
___커밋후읽기
___스냅숏격리와반복읽기
___갱신손실방지
___쓰기스큐와팬텀
직렬성
___실제적인직렬실행
___2단계잠금(2PL)
___직렬성스냅숏격리(SSI)
정리
참고문헌

▣08장:분산시스템의골칫거리
결함과부분장애
___클라우드컴퓨팅과슈퍼컴퓨팅
신뢰성없는네트워크
___현실의네트워크결함
___결함감지
___타임아웃과기약없는지연
___동기네트워크대비동기네트워크
신뢰성없는시계
___단조시계대일기준시계
___시계동기화와정확도
___동기화된시계에의존하기
___프로세스중단
지식,진실,그리고거짓말
___진실은다수결로결정된다
___비잔틴결함
___시스템모델과현실
정리
참고문헌

▣09장:일관성과합의
일관성보장
선형성
___시스템에선형성을부여하는것은무엇인가?
___선형성에기대기
___선형성시스템구현하기
___선형성의비용
순서화보장
___순서화와인과성
___일련번호순서화
___전체순서브로드캐스트
분산트랜잭션과합의
___원자적커밋과2단계커밋(2PC)
___현실의분산트랜잭션
___내결함성을지닌합의
___멤버십과코디네이션서비스
정리
참고문헌

[Part3]파생

▣10장:일괄처리
유닉스도구로일괄처리하기
___단순로그분석
___유닉스철학
맵리듀스와분산파일시스템
___맵리듀스작업실행하기
___리듀스사이드조인과그룹화
___맵사이드조인
___일괄처리워크플로의출력
___하둡과분산데이터베이스의비교
맵리듀스를넘어
___중간상태구체화
___그래프와반복처리
___고수준API와언어
정리
참고문헌

▣11장:스트림처리
이벤트스트림전송
___메시징시스템
___파티셔닝된로그
데이터베이스와스트림
___시스템동기화유지하기
___변경데이터캡처
___이벤트소싱
___상태와스트림과불변성
스트림처리
___스트림처리의사용
___시간에관한추론
___스트림조인
___내결함성
정리
참고문헌

▣12장:데이터시스템의미래
데이터통합
___파생데이터에특화된도구의결합
___일괄처리와스트림처리
데이터베이스언번들링
___데이터저장소기술구성하기
___데이터플로주변애플리케이션설계
___파생상태관찰하기
정확성을목표로
___데이터베이스에관한종단간논증
___제약조건강제하기
___적시성과무결성
___믿어라.하지만확인하라.
옳은일하기
___예측분석
___사생활과추적
정리
참고문헌

용어집

출판사 서평

데이터는오늘날시스템을설계할때마주치는많은도전과제중에서도가장중심에있다.확장성,일관성,신뢰성,효율성,유지보수성과같은해결하기어려운문제를파악해야할뿐아니라관계형데이터베이스,NoSQL데이터스토어,스트림처리자또는일괄처리처리자,메시지브로커등을포함한도구의다양성에압도된다.어떤선택이애플리케이션에적합한가?이유행어들을얼마나이해하고있는가?

마틴클레프만은이실용적이고포괄적인안내서에서데이터를처리하고저장하는다양한기술의장단점을검토한다.이책은여러분이거대한문제공간속을항해하는데좋은길잡이가될것이다.소프트웨어는계속변하지만근본원리는동일하다.이책에서소프트웨어엔지니어와아키텍트는실전에이개념을어떻게적용하는지,그리고현대애플리케이션에서어떻게데이터를최대한활용하는지배운다.

★이책에서배우는내용★

◎기존에사용하고있는시스템의내부를자세히들여다보고더효율적으로사용하고운용하는방법을배운다.
◎정보에입각한의사결정이가능하게끔다양한도구의강점과약점을파악한다.
◎일관성,확장성,내결함성,복잡성에관한트레이드오프를배운다.
◎현대데이터베이스의기반이되는분산시스템연구를이해한다.
◎주요온라인서비스의배경을파악하고서비스아키텍처를배운다.