본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

데이터 중심 애플리케이션 설계 상세페이지

컴퓨터/IT 개발/프로그래밍

데이터 중심 애플리케이션 설계

신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 시스템을 지탱하는 핵심 아이디어
소장종이책 정가36,000
전자책 정가28%26,000
판매가26,000
데이터 중심 애플리케이션 설계 표지 이미지

데이터 중심 애플리케이션 설계작품 소개

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

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

★ 이 책에서 다루는 내용 ★

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


출판사 서평

추천사
“이 책은 물건이다. 분산 시스템 이론과 실제 엔지니어링 사이의 거대한 간격을 메우는 책이다. 이 책은 10년 전에 나왔어야 했다. 그때 내가 이 책을 읽었다면 그동안 저질렀던 실수를 하지 않았을 것이다.”

--제이 크렙스(Jay Kreps), 아파치 카프카의 창시자, 컨플루언트 CEO

“소프트웨어 엔지니어라면 모두 이 책을 읽어야 한다. 《데이터 중심 애플리케이션 설계》는 이론과 실전을 넘나드는 책으로 데이터 인프라와 시스템을 설계하고 구현하는 개발자가 현명한 결정을 내려야 할 때 이 정도 도움을 줄 수 있는 책은 거의 없다.”

--케빈 스콧(Kevin Scott), 마이크로소프트 최고 기술 책임자


저자 소개

마틴 클레프만(Martin Kleppmann)
마틴 클레프만은 영국 캠브리지 대학에서 분산 시스템을 연구하는 연구원이다. 마틴은 링크트인(LinkedIn)과 래포티브(Rapportive) 등의 인터넷 회사에서 대규모 데이터 인프라를 다루는 소프트웨어 엔지니어와 사업가로 일했다. 그 과정에서 많은 고생을 하며 몇 가지를 배웠고 사람들이 이 같은 실수를 반복하지 않기를 바라는 마음에 이 책을 썼다.

마틴은 정규 컨퍼런스 강연자이자 블로거, 오픈소스 공헌자로 활약 중이다. 그는 심오한 기술적 개념은 모든 사람들이 쉽게 접근 가능해야 하고 이해가 깊으면 깊을수록 더 좋은 소프트웨어를 개발하는 데 도움이 된다고 믿는다.

목차

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


리뷰

구매자 별점

5.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

3명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전