이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
데이터 접근 패턴 Data Access Patterns
데이터베이스와 효율적으로 상호작용하는 25가지 소프트웨어 디자인 패턴
가격
40,000
10 36,000
YES포인트?
2,000원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

에이콘 데이터 과학 시리즈

책소개

목차

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장 원상회복 트랜잭션
___설명
___배경
___적용 가능성
___구조
___상호작용
___결과
___전략
___예제 코드
___연관 패턴과 기술

품목정보

발행일
2013년 05월 20일
쪽수, 무게, 크기
528쪽 | 1060g | 188*250*35mm
ISBN13
9788960774292

책 속으로

데이터는 모든 기업의 근간을 이루는 중대한 요소다. 회계사는 금융 데이터를 사용해 결정을 내리거나 방어한다. 제조업자와 구매자는 재고와 주문 데이터에 기반을 두고 재고를 통제한다. 판매원은 고객 이력 데이터를 조사한다. 경영진은 회사의 제어 상태를 검사하기 위해 데이터를 필요로 한다.

기업용 소프트웨어는 이런 중요한 결정을 내리는 사람들이 데이터를 읽고, 쓰고, 정리할 수 있게 한다. 비즈니스 애플리케이션의 데이터 접근 기능은 품질과 유용성에 중요한 역할을 한다. 개발자는 효율적인 데이터 접근 코드를 설계하기 위해 상당한 노력을 해야 한다. 그렇지 않으면 전체 애플리케이션이 느려지거나 결함을 갖기 쉬울 것이다.

데이터 접근 패턴

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

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

이런 문제에 대한 일반적인 솔루션이 있다. 매우 직관적이어서 그야말로 수천 명의 개발자가 저마다 자신만의 방법으로 해결한 솔루션도 있고, 일부는 모호해서 매우 견고한 데이터 접근 솔루션에서만 해결할 수 있었던 솔루션도 있다.

데이터 접근 패턴은 앞에서와 같은 일반적인 설계 문제를 해결하는 포괄적 전략을 기술한다. 패턴은 특정한 구현을 반드시 강제하지 않는다. 그 대신 솔루션의 기초를 형성하는 효율적인 설계와 구조를 기술한다.

이 책은 특히 관계형 데이터 접근(relational data access)에 적용되는 패턴들을 설명한다. 기업용 소프트웨어가 오늘날 사용하는 가장 일반적이고 검증된 데이터 저장 방식은 단연 관계형 데이터베이스다. 객체지향이나 계층형 데이터베이스 같은 다른 지속적인 기술은 인기가 높아지고 있는 중이다. 이런 대안 데이터베이스는 데이터를 런타임 객체 형태에 가깝게 저장함으로써 종래의 객체지향 디자인 패턴과 기법을 더 쉽게 적용할 수 있다.
---「저자 서문」 중에서

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

책에서 설명한 패턴을 적용해서 얻을 수 있는 장점에는 다음과 같은 것이 있습니다.

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

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

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

---「옮긴이의 말」 중에서

출판사 리뷰

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

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

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

이 책에서 다루는 내용

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

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

이 책의 대상 독자

이 책은 데이터 접근 소프트웨어의 구성 요소를 만드는 일을 맡은 소프트웨어 아키텍트, 디자이너, 엔지니어들을 위한 책이다. 또한 이 책의 자료는 공통적인 데이터 접근 문제와 해결책을 이해하려는 학생들에게도 적합하다.

독자가 이미 데이터베이스와 객체지향 개념에 익숙하다고 가정하고, 일반적인 데이터베이스와 객체지향 개념과 용어를 사용해 데이터 접근 패턴을 설명한다. 친숙하지 않은 용어를 만났을 때는 책의 마지막 부분에 있는 ‘용어 정리’를 참고하라.

이 책의 패턴은 다양한 플랫폼, 프로그래밍 언어, 데이터베이스에 적용된다. 각 패턴의 예제 코드는 Java 2 Standard Edition(J2SE), Java 2 Enterprise Edition(J2EE), Java Database Connectivity(JDBC) API를 사용해 작성됐다. 예제 코드는 데이터베이스 연산을 SQL로 표현했다. 자바와 JDBC를 이미 알고 있다면 예제 코드를 공부할 때 도움이 되지만, 잘 몰라도 무방하다. 복잡한 코드에는 주석과 설명을 붙였다.

이 책의 구성

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

패턴들은 간결하고, 서술적이고, 친숙한 이름으로 식별된다. 패턴 이름은 대화와 문서에서 사용되기 때문에 중요하다. 상호작용하는 클래스들을 자원 장식자(Resource Decorator)의 인스턴스라고 기술하는 것이 패턴의 각 요소들을 반복해 자세히 기술하는 것보다 훨씬 효율적이다.

이 책의 ‘서론’에서는 데이터 접근 패턴을 학습하고 적용하는 동기를 보여주고, 각 패턴을 간단히 소개한다. 서론에서는 또한 이후 장에서 패턴 세부 사항을 기술할 양식을 미리 정의한다.

이 책의 나머지는 각 패턴 범주에 해당하는 부분으로 나뉜 패턴 목록이다.

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

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.