간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 5만원 이상 결제시, 4/1~4/30 기간 중 1회)
우리카드 3천원/7천원/1만 5천원 즉시할인
3만원/5만원/10만원 이상 결제시
삼성카드 6% (33,840원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (34,200원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (28,800원)
(최대할인 4만원 / 2만원 이상 결제)
Close

데이터 접근 패턴 : 데이터베이스와 효율적으로 상호작용하는 25가지 소프트웨어 디자인 패턴

원제 : Data Access Patterns
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(36)

  • 사은품(4)

출판사 서평

데이터 접근과 애플리케이션 성능을 향상시키는 검증된 25가지 소프트웨어 디자인 패턴!

효율적인 고품질의 데이터 접근 코드는 기업용 애플리케이션의 성능과 사용성에 결정적이다. 그리고 기존 시스템의 성능을 향상시키는 데 데이터 접근 코드를 최적화하는 것보다 더 좋은 방법은 없다. 개발자는 데이터베이스 엔진, 플랫폼, 언어, 애플리케이션과 상관없이 반복적으로 같은 관계형 데이터베이스에 접근하는 도전에 부딪힌다. [데이터 접근 패턴 Data Access Patterns]에서 저자 클리프턴 녹은 25가지의 검증된 솔루션을 알아보고, 각각을 명쾌하고 사용하기 쉬운 패턴 형태로 제시한다.

이러한 데이터 접근 패턴은 효율적인 데이터베이스 독립 애플리케이션을 만들고, 이해하기 어려운 데이터베이스 의미 체계를 사용자에게서 숨기고, 개발과 유지 보수를 단순화하고, 동시성과 트랜잭션 지원을 향상시키고, 데이터 접근 병목을 제거하는 등의 광범위한 문제를 해결한다. 모든 패턴은 충분히 주석을 붙인 자바/JDBC 코드 예제와 인터페이스, 클래스, 관계를 나타내는 UML 다이어그램과 함께 설명했다.

이 책에서 다루는 내용

*분리 패턴: 다른 애플리케이션 로직으로부터 데이터 접근 코드를 분리해서 더 깔끔하고 신뢰성 있는 시스템을 만든다.
*리소스 패턴: 관계형 데이터베이스 리소스를 더 효율적으로 관리한다.
*입출력 패턴: '물리적' 관계형 데이터와 그 데이터의 도메인 객체 표현 사이를 일관적으로 해석해서 I/ 연산을 단순화한다.
*캐시 패턴: 데이터 접근 최적화와 캐시 부담 사이의 트레이드오프를 최적화하기 위해 전략적으로 캐싱을 사용한다.
*동시 실행 패턴: 동시성과 트랜잭션을 더 효율적이고 신뢰성 있게 구현한다.

[데이터 접근 패턴 Data Access Patterns]은 전통적으로 가장 견고한 데이터 접근 솔루션에서만 쓰였던 기법을 알기 쉽게 설명한다. 그 기법을 모든 소프트웨어 개발자, 아키텍트, 디자이너에게 실용적으로 만들어 준다.

이 책의 대상 독자

이 책은 데이터 접근 소프트웨어의 구성 요소를 만드는 일을 맡은 소프트웨어 아키텍트, 디자이너, 엔지니어들을 위한 책이다. 또한 이 책의 자료는 공통적인 데이터 접근 문제와 해결책을 이해하려는 학생들에게도 적합하다.
독자가 이미 데이터베이스와 객체지향 개념에 익숙하다고 가정하고, 일반적인 데이터베이스와 객체지향 개념과 용어를 사용해 데이터 접근 패턴을 설명한다. 친숙하지 않은 용어를 만났을 때는 책의 마지막 부분에 있는 '용어 정리'를 참고하라.
이 책의 패턴은 다양한 플랫폼, 프로그래밍 언어, 데이터베이스에 적용된다. 각 패턴의 예제 코드는 Java 2 Standard Editin(J2SE), Java 2 Enterprise Editin(J2EE), Java Database Cnnectivity(JDBC) API를 사용해 작성됐다. 예제 코드는 데이터베이스 연산을 SQL로 표현했다. 자바와 JDBC를 이미 알고 있다면 예제 코드를 공부할 때 도움이 되지만, 잘 몰라도 무방하다. 복잡한 코드에는 주석과 설명을 붙였다.

이 책의 구성

이 책은 일종의 패턴 편람으로, 데이터 접근 패턴들을 자세히 설명한다. 이 책을 구성하는 절들은 여러 가지 패턴을 적용성에 기반을 두고 그룹으로 묶었다. 패턴 편람이므로, 패턴 설명을 반드시 순서대로 읽어야 할 필요는 없다. 특정 패턴이 다른 패턴이 정의하는 개념에 의존한다면 본문에 그 사실을 분명히 명시했다.

패턴들은 간결하고, 서술적이고, 친숙한 이름으로 식별된다. 패턴 이름은 대화와 문서에서 사용되기 때문에 중요하다. 상호작용하는 클래스들을 자원 장식자(Resurce Decratr)의 인스턴스라고 기술하는 것이 패턴의 각 요소들을 반복해 자세히 기술하는 것보다 훨씬 효율적이다.
이 책의 '서론'에서는 데이터 접근 패턴을 학습하고 적용하는 동기를 보여주고, 각 패턴을 간단히 소개한다. 서론에서는 또한 이후 장에서 패턴 세부 사항을 기술할 양식을 미리 정의한다.

이 책의 나머지는 각 패턴 범주에 해당하는 부분으로 나뉜 패턴 목록이다.
1부, '분리 패턴'에서는 데이터 접근 코드를 다른 애플리케이션 로직으로부터 분리함으로써 데이터 접근 세부 사항에만 연관된 변경 사항으로부터 야기된 결함에 덜 민감하고 더 깔끔한 애플리케이션 코드를 낳는 분리 패턴들을 다룬다.
2부, '리소스 패턴'에서는 효율적인 데이터베이스 자원 관리를 위한 패턴들을 다룬다.
3부, '입/출력 패턴'에서는 관계형 데이터의 물리적 형태와 도메인 객체 표현 사이의 일관된 해석을 사용해 데이터 입력과 출력 연산을 단순화하는 패턴들을 다룬다.
4부, '캐시 패턴'에서는 전략적 데이터 캐싱을 가능하게 하는 패턴을 기술하고, 데이터 접근 최적화와 캐시 부담 사이의 트레이드오프를 다룬다.
5부, '동시 실행 패턴'에서는 동시성 전략을 구현하는 패턴을 다룬다.

목차

1부 분리 패턴
데이터 모델과 데이터 접근
도메인 객체와 관계형 데이터
분리 패턴

1장 데이터 접근자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

2장 능동적 도메인 객체
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

3장 객체/관계형 맵
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

4장 계층 중첩
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

2부 리소스 패턴
리소스와 맥락
리소스와 동시성
데이터 접근 리소스
리소스 관리
리소스 패턴

5장 리소스 장식자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

6장 리소스 풀
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

7장 리소스 타이머
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

8장 리소스 기술자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

9장 리트라이어
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

3부 입출력 패턴
입출력 연산
아이덴티티 객체
입출력 패턴

10장 선택 팩토리
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

11장 도메인 객체 팩토리
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

12장 갱신 팩토리
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

13장 도메인 객체 조립자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

14장 페이징 반복자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

4부 캐시 패턴
캐시 연산과 투명성
캐시된 데이터
캐시 패턴

15장 캐시 접근자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

16장 요구 캐시
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

17장 준비된 캐시
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

18장 캐시 검색 시퀀스
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

19장 캐시 컬렉터
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

20장 캐시 복제자
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

21장 캐시 통계
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

5부 동시 실행 패턴
작업 단위
작업 사본
동시 실행 문제
동시 실행 솔루션
동시 실행 패턴

22장 트랜잭션
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

23장 낙관적 잠김
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

24장 비관적 잠김
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

25장 원상회복 트랜잭션
설명
배경
적용 가능성
구조
상호작용
결과
전략
예제 코드
연관 패턴과 기술

본문중에서

데이터는 모든 기업의 근간을 이루는 중대한 요소다. 회계사는 금융 데이터를 사용해 결정을 내리거나 방어한다. 제조업자와 구매자는 재고와 주문 데이터에 기반을 두고 재고를 통제한다. 판매원은 고객 이력 데이터를 조사한다. 경영진은 회사의 제어 상태를 검사하기 위해 데이터를 필요로 한다.
기업용 소프트웨어는 이런 중요한 결정을 내리는 사람들이 데이터를 읽고, 쓰고, 정리할 수 있게 한다. 비즈니스 애플리케이션의 데이터 접근 기능은 품질과 유용성에 중요한 역할을 한다. 개발자는 효율적인 데이터 접근 코드를 설계하기 위해 상당한 노력을 해야 한다. 그렇지 않으면 전체 애플리케이션이 느려지거나 결함을 갖기 쉬울 것이다.

데이터 접근 패턴

기업용 소프트웨어 개발자는 애플리케이션 도메인에 관계없이 동일한 데이터 접근 문제와 씨름한다. 다음은 데이터 접근 구성 요소를 설계할 때 발생하는 공통적인 몇 가지 사례다.

-애플리케이션은 여러 가지의 데이터베이스 제품과 동작해야 한다.
-사용자 인터페이스는 이해하기 힘든 데이터베이스 의미 체계를 감춰야 한다.
-데이터베이스 자원 초기화는 느리다.
-데이터 접근 세부 정보로 인해 애플리케이션 코드는 개발과 유지 보수가 어려워진다.
-애플리케이션은 자주 사용하는 데이터를 캐시에 둬야 한다.
-동일한 데이터에 여러 사용자가 동시에 접근할 수 있어야 한다.

이런 문제에 대한 일반적인 솔루션이 있다. 매우 직관적이어서 그야말로 수천 명의 개발자가 저마다 자신만의 방법으로 해결한 솔루션도 있고, 일부는 모호해서 매우 견고한 데이터 접근 솔루션에서만 해결할 수 있었던 솔루션도 있다. 데이터 접근 패턴은 앞에서와 같은 일반적인 설계 문제를 해결하는 포괄적 전략을 기술한다. 패턴은 특정한 구현을 반드시 강제하지 않는다. 그 대신 솔루션의 기초를 형성하는 효율적인 설계와 구조를 기술한다.
이 책은 특히 관계형 데이터 접근(relati-nal data access)에 적용되는 패턴들을 설명한다. 기업용 소프트웨어가 오늘날 사용하는 가장 일반적이고 검증된 데이터 저장 방식은 단연 관계형 데이터베이스다. 객체지향이나 계층형 데이터베이스 같은 다른 지속적인 기술은 인기가 높아지고 있는 중이다. 이런 대안 데이터베이스는 데이터를 런타임 객체 형태에 가깝게 저장함으로써 종래의 객체지향 디자인 패턴과 기법을 더 쉽게 적용할 수 있다.
(/ 서문 중에서)

프로그래머로 일하면서 작성하는 소프트웨어의 상당수는 데이터를 다루는 애플리케이션입니다. 그 중 많은 수의 애플리케이션이 데이터베이스를 사용합니다. 데이터 관련 작업이 주 역할인 애플리케이션의 성능과 유지 보수 적합성은 데이터베이스 접근 코드를 어떻게 작성하느냐에 달려 있습니다. 애플리케이션과 데이터베이스 사이의 상호작용은 필수적이지만, 데이터를 바라보는 방식이 각기 다르고 상호작용에는 비용 부담이 따르기 때문에 프로그래머가 적절한 완충지대를 마련해줘야 합니다. 이 책은 그런 상황에서 적용해볼 만한 데이터 접근에 관련된 소프트웨어 디자인 패턴을 소개합니다.

책에서 설명한 패턴을 적용해서 얻을 수 있는 장점에는 다음과 같은 것이 있습니다.
- 애플리케이션의 데이터 접근 코드가 특정 지점에 집중되어 개선 및 오류 수정 작업을 하기 쉬워집니다.
- 새로운 기술이나 데이터베이스 제품을 애플리케이션에서 사용하기 쉬워집니다.
- 관계형 데이터 형식이 변경될 때 연관된 도메인 객체를 맞추어 변경하기 쉬워집니다.
- 데이터베이스 접근 횟수를 최적화시켜 애플리케이션의 성능이 좋아집니다.
- 여러 애플리케이션 인스턴스가 동일한 데이터를 사용할 때 발생하는 문제에 대처할 수 있습니다.

원서가 2003년에 출간되었기 때문에, 책에서 사용한 예제가 현장과 조금 동떨어져 있을 수도 있습니다. 그렇지만 책의 내용은 소프트웨어 설계의 일반적인 부분을 다루었기 때문에 여전히 유효합니다. 소개된 패턴을 이해하면 개발하는 데 큰 도움이 될 것이라고 생각합니다. 직접 패턴을 애플리케이션 개발에 적용하고 발전시키는 경우는 물론, 하부 데이터베이스 접근 코드를 직접 작성하지 않고 이미 있는 프레임워크를 사용하는 경우에도 마찬가지입니다. 패턴을 이해하면 프레임워크 설계를 이해하기 쉬워지고, 적절하게 사용할 수 있기 때문입니다.

저자가 붙인 패턴 이름을 번역하는 데 고민이 많았습니다. 의미를 제대로 전달할 수 있고 이미 정착된 외래 용어가 없는 경우라면 번역 용어를 사용하려고 노력했고, 패턴 이름의 경우에는 [GoF의 디자인 패턴](피어슨에듀케이션코리아, 2007)에 사용된 용어를 독자들이 받아들일 만한 일반적인 것으로 보고 그에 따랐습니다.
(/ '옮긴이의 말' 중에서)

저자소개

클리프턴 녹 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

콜로라도 덴버에 있는 피플소프트의 시니어 소프트웨어 아키텍트다. IBM에서 5년 동안 iSeries 운영체제와 그 운영체제에 통합된 데이터베이스에 대한 접근을 단순화하는 프로그래밍 인터페이스를 설계하는 업무를 수행했고, 그 일과 관련된 9개의 미국 특허를 보유 중이다. 미네소타 주립대학에서 프로그래밍 강의 몇 개를 진행했고, 전 세계의 기술 컨퍼런스에서 발표했다. 미네소타 주립대학교의 컴퓨터 과학 석사학위가 있다

생년월일 -
출생지 -
출간도서 0종
판매수 0권

다양한 경험을 추구하며 사는 개발자다. 프로그래밍 언어와 사람이 쓰는 언어 모두에 관심이 있다. 검색엔진, 모바일 메신저 앱, 회원 서비스, 지역 검색, 운영 도구, 사용자 참여 콘텐츠 서비스를 개발하고 있다. 사람이 데이터를 만들고 데이터가 흐르면서 다양한 일이 생기는 것에 재미를 느낀다.
옮긴 책으로는 『데이터 접근 패턴 Data Access Patterns』(2013, 에이콘), 『자연어 텍스트 처리를 통한 검색 시스템 구축』(2014, 에이콘), 『파이썬 성능 높이기 2/e』(2018, 에이콘)이 있다.

이 상품의 시리즈

(총 45권 / 현재구매 가능도서 37권)

펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용