그냥 Postgres를 쓰세요- 관계형 데이터베이스를 넘어 AI 검색 JSON 시계열 지리 공간까지

기본 정보

상품명
그냥 Postgres를 쓰세요- 관계형 데이터베이스를 넘어 AI 검색 JSON 시계열 지리 공간까지
상품번호
1000880246795
최적가
29,700원
판매상태
판매중

구매 혜택

구매혜택
쇼핑혜택 충전결제 시 1.5% 적립 횟수 무제한 SSG MONEY 적립
배송비
무료 (12,000원 이상 무료) 제주 3,000 원 , 도서산간 6,000 원 추가
소득공제안내
신용카드, 현금으로 도서·공연 상품 결제시 구입비에 대한 추가 소득 공제가 가능합니다.
무이자
무이자 할부는 결제 금액 기준으로 적용됩니다. 미가공귀금속, 상품권 등은 일부 개월수 적용 제외됩니다.(주문서에서 확인 필수) 법인/체크카드는 할부 대상에서 제외됩니다. 표시는 SSGPAY로 결제 시에만 적용됩니다. 카드사 결제 금액 무이자 할부 개월 수 SSG.COM카드 EDITION2 1만원 이상 최대 3개월 20만원 이상 최대 9개월 100만원 이상 최대 15개월 SSG.COM카드 1만원 이상 최대 3개월 20만원 이상 최대 9개월 100만원 이상 최대 15개월 이마트e카드(현대카드) 1만원 이상 최대 3개월 20만원 이상 최대 9개월 100만원 이상 최대 15개월 현대카드 1만원 이상 최대 3개월 20만원 이상 최대 9개월 100만원 이상 최대 15개월 이마트KB국민카드 5만원 이상 최대 3개월 KB국민카드 5만원 이상 최대 3개월 이마트삼성카드 5만원 이상 최대 3개월 SSG.COM 삼성카드 5만원 이상 최대 3개월 신세계삼성카드 5만원 이상 최대 3개월 트레이더스삼성카드 5만원 이상 최대 3개월 삼성카드 5만원 이상 최대 3개월 이마트신한카드 5만원 이상 최대 3개월 신세계신한카드 5만원 이상 최대 3개월 신한카드 5만원 이상 최대 3개월 비씨카드 5만원 이상 최대 5개월 하나카드 5만원 이상 최대 5개월 롯데카드 5만원 이상 최대 3개월 NH카드 5만원 이상 최대 6개월 신세계씨티카드 5만원 이상 최대 6개월 50만원 이상 최대 12개월 씨티카드 5만원 이상 최대 6개월 50만원 이상 최대 12개월 우리비씨카드 5만원 이상 최대 5개월 IBK기업은행카드 5만원 이상 최대 5개월

구매 옵션

선택옵션
상품명
대표이미지

상품 상세

책소개 개발자를 위한 범용 데이터베이스, Postgres 하나면 충분하다 오늘날 Postgres(PostgreSQL)는 트랜잭션 처리에 강한 관계형 데이터베이스를 넘어 JSON, 전문 검색, 생성형 AI, 시계열, 지리 공간, 메시지 큐까지 폭넓은 애플리케이션 워크로드를 지원하는 강력한 범용 데이터베이스로 발전했다. 이 책은 애플리케이션 개발자와 데이터베이스 실무자를 대상으로 Postgres의 핵심 기능과 확장 생태계를 현대적인 관점에서 살펴보고, 실제 예제들을 통해 Postgres가 현대 애플리케이션의 다양한 데이터 요구를 어디까지 감당할 수 있는지 보여준다. 목차 옮긴이 머리말 xi 추천사 xiii 추천 서문(조시 롱) xvi 머리말 xix 이 책에 대하여 xxi 감사의 글 xxv 표지에 대하여 xxvii PART I 관계형 데이터베이스로서의 PostgresCHAPTER 1 Postgres 만나기 1.1 왜 Postgres가 인기가 많을까요? 4 1.2 그냥 Postgres를 쓰세요!의 의미 6 1.3 도커에서 Postgres 시작하기 7 1.4 psql로 연결하기 11 1.5 모의 데이터 생성하기 13 1.6 기본 쿼리 실행하기 17 CHAPTER 2 표준 RDBMS 기능 2.1 데이터베이스 구조 생성하기 22 2.2 데이터 쿼리 및 조작하기 31 2.3 데이터 무결성 34 2.4 트랜잭션 42 2.5 조인 49 2.6 함수와 트리거 52 2.7 뷰 65 2.8 역할과 접근 제어 70 요약 77 CHAPTER 3 현대적인 SQL 3.1 현대적 SQL이란 무엇일까요? 79 3.2 음악 서비스 데이터 세트 로드하기 80 3.3 공통 테이블 표현식 82 3.4 재귀적 쿼리 91 3.5 윈도 함수 97 요약 104 CHAPTER 4 인덱스 4.1 왜 인덱스가 그토록 인기를 끌까요? 106 4.2 Postgres 인덱스 유형 개요 108 4.3 멀티플레이어 게임 데이터 세트 로드하기 110 4.4 EXPLAIN 문 사용법 배우기 112 4.5 단일 칼럼 인덱스 117 4.6 복합 인덱스 127 4.7 커버링 인덱스 138 4.8 부분 인덱스 141 4.9 함수 및 표현식 인덱스 144 요약 147 PART II 관계형 모델을 넘어선 핵심 PostgresCHAPTER 5 Postgres와 JSON 5.1 JSON 데이터 저장하기 152 5.2 피자 주문 데이터 세트 로드하기 154 5.3 Postgres에서의 JSON: 균형 맞추기 157 5.4 JSON 데이터 쿼리하기 160 5.5 JSON 데이터 수정하기 172 5.6 JSON 데이터 인덱싱 176 요약 191 CHAPTER 6 Postgres를 이용한 전문 검색 6.1 Postgres 전문 검색의 기초 193 6.2 전문 검색을 위한 데이터 준비 200 6.3 전문 검색 수행하기 207 6.4 검색 결과의 순위 매기기 213 6.5 검색 결과 강조하기 220 6.6 어휘소 인덱싱 223 요약 230 PART III 확장 기능 및 광범위한 생태계CHAPTER 7 PostgreSQL의 확장 기능 7.1 Postgres 확장성의 기원 233 7.2 확장 기능 시작하기 234 7.3 개발자를 위한 필수 확장 기능 243 7.4 Postgres 호환 솔루션 245 요약 246 CHAPTER 8 생성형 AI를 위한 Postgres 8.1 생성형 AI와 함께 Postgres를 사용하는 방법 248 8.2 pgvector와 함께 Postgres 시작하기 252 8.3 임베딩 생성하기 255 8.4 벡터 유사도 검색 262 8.5 임베딩 인덱싱 269 8.6 RAG 구현하기 284 요약 292 CHAPTER 9 시계열 데이터를 위한 Postgres 9.1 Postgres가 시계열 데이터를 처리하는 방식 294 9.2 TimescaleDB와 함께 Postgres 시작하기 298 9.3 시계열 데이터 로드하기 301 9.4 TimescaleDB 하이퍼테이블 탐색하기 303 9.5 시계열 데이터 분석하기 309 9.6 연속 집계 사용하기 318 9.7 시계열 데이터 인덱싱 324 요약 338 CHAPTER 10 공간 데이터 처리를 위한 Postgres 10.1 Postgres가 지리 데이터를 처리하는 방식 340 10.2 PostGIS와 함께 Postgres 시작하기 345 10.3 OpenStreetMap 데이터 세트 로드하기 348 10.4 지리 공간 데이터 시각화 354 10.5 지리 공간 데이터 쿼리하기 357 10.6 공간 인덱스를 활용한 지리 데이터 검색 최적화 371 요약 384 CHAPTER 11 PostgreSQL을 메시지 큐로 사용하기 11.1 언제 Postgres를 메시지 큐로 사용하는가 386 11.2 커스텀 메시지 큐 구축하기 388 11.3 커스텀 큐 사용하기 393 11.4 LISTEN/NOTIFY 활용하기 398 11.5 큐 구현 시 고려 사항 401 11.6 pgmq로 Postgres 시작하기 407 11.7 pgmq 사용하기 410 요약 415 APPENDIX A 다섯 가지 최적화 팁 417 A.1 EXPLAIN 완벽하게 마스터하기 418 A.2 인덱스 사용 시점을 파악하라 420 A.3 커넥션 풀링을 사용하라 424 A.4 정말 필요한 데이터만 조회하라 426 A.5 데이터베이스의 연산 능력을 활용하라 429 APPENDIX B Postgres를 사용하지 말아야 할 때 추천 후기(블라드 미할체아) 432 찾아보기 436 출판사서평 Postgres 하나로 어디까지 가능한지 직접 확인하는 책 오늘날의 Postgres(PostgreSQL)는 관계형 데이터베이스를 넘어, 훨씬 넓은 세계를 품은 범용 데이터베이스로 발전했다. JSON 문서 처리, 전문 검색, 벡터 검색과 RAG, 시계열 데이터, 지리 공간 데이터, 메시지 큐 등 Postgres 하나로 다룰 수 있는 영역은 아주 넓다. 이 책은 바로 그 변화를 개발자가 직접 실행해 보며 납득할 수 있는 방식으로 보여준다. 제목 그냥 Postgres를 쓰세요!는 과장된 주장이 아니라, 새로운 데이터 요구가 생길 때마다 용도별로 데이터베이스를 추가하기 전에 먼저 Postgres의 가능성을 확인해 보자는 실용적인 제안이다. 1부는 Postgres를 관계형 데이터베이스로 제대로 사용하는 데 필요한 기본기를 다룬다. Postgres를 시작하고 psql로 연결하는 방법부터 데이터베이스 구조 설계, 데이터 쿼리와 조작, 제약 조건, 외래 키, 트랜잭션, 조인, 함수, 트리거, 뷰, 접근 제어까지 RDBMS로서의 핵심 기능을 차근차근 살핀다. 이어 CTE, 재귀 쿼리, 윈도 함수 같은 현대적 SQL 기능과 다양한 인덱스 활용법을 다루며, Postgres를 단순 저장소가 아니라 애플리케이션 성능과 구조를 함께 책임지는 도구로 바라보게 한다. 2부는 관계형 모델을 넘어 Postgres가 기본으로 제공하는 JSON 처리와 전문 검색을 다룬다. JSON 객체 저장, 조회/수정, B-트리와 GIN 인덱스로 검색 성능을 높이는 과정, 그리고 텍스트를 어휘소로 변환하는 것부터 순위 매기기, 검색 결과 강조, GIN/GiST 인덱싱까지의 과정을 살펴본다. 3부는 Postgres의 확장 생태계를 훑어본다. pgvector를 이용해 임베딩을 저장하고 벡터 유사도 검색과 RAG 흐름을 구성하는 장은 생성형 AI 시대의 요구와 직접 맞닿아 있고, TimescaleDB를 활용한 시계열 데이터 관리/분석, PostGIS를 활용한 공간 데이터 처리, LISTEN/NOTIFY와 pgmq를 이용한 메시지 큐 패턴까지 차례로 살펴본다. 넓은 각 주제에 대해 세부 이론에 매몰되지 않고 내 애플리케이션에서 어디부터 시작하면 되는가에 초점을 맞춘다. 다섯 가지 최적화 팁과 ‘Postgres를 사용하지 말아야 할 때’까지 다룬 부록은 이 책의 균형 감각을 잘 보여준다. Postgres를 만능으로 포장하지 않고 강점과 한계를 함께 보며 실무적인 판단을 돕는다. 관계형 데이터베이스로만 Postgres를 써왔던 개발자, 새로운 요구사항이 생길 때마다 기술 스택이 늘어나는 것이 부담스러운 팀, 그리고 현대 애플리케이션의 데이터 처리를 더 단순하고 견고하게 설계하고 싶은 DB 실무자에게 이 책은 꼭 필요한 단 한 권의 안내서가 되어줄 것이다. 주요 내용 트랜잭션 워크로드를 처리하는 RDBMS로 Postgres 활용하기 CTE, 재귀 쿼리, 윈도 함수, 다양한 인덱스로 SQL 활용도와 성능 높이기 JSON 문서를 저장/조회/수정하고 애플리케이션 데이터 모델에 적용하기 Postgres의 전문 검색 기능으로 텍스트 검색 기능 구성하기 pgvector로 벡터 유사도 검색과 RAG 흐름 만들어보기 TimescaleDB와 PostGIS로 시계열/지리 공간 데이터 다루기 LISTEN/NOTIFY와 pgmq로 메시지 큐 패턴 활용하기 Postgres에 적합한 사용 사례와 그렇지 않은 사례 판단하기 책 속에서 수년에 걸쳐 그냥 Postgres를 쓰세요!는 사실상 Postgres 커뮤니티의 모토가 되었으며, 데이터베이스가 이제 감당할 수 있는 사용 사례의 폭과 깊이를 함축적으로 담아내고 있습니다. / 그렇다면 Postgres가 만능 도구가 되어 모든 개발자에게 필요한 유일한 데이터베이스가 되었다는 뜻일까요? 결코 그렇지 않습니다. / 그냥 Postgres를 쓰세요!는 수십 년간 Postgres를 구축하고 사용해 온 전문가들이 건네는 합리적인 조언으로 받아들이시기 바랍니다. 이미 Postgres를 사용하고 있거나 도입을 계획 중인데, 지리 공간·시계열·생성형 AI와 같은 새로운 사용 사례를 지원해야 하는 상황이라면, 기술 스택에 다른 데이터베이스를 추가하기 전에 먼저 Postgres로 해결할 수 있는지 확인해 보시기 바랍니다. (6쪽) 데이터베이스 역할이 애플리케이션이 허용하는 범위를 초과하는 광범위한 권한을 가지고 있다면, 그것은 이미 잠재적인 문제입니다. 애플리케이션 사용자 계정이 탈취될 경우, 공격자가 데이터베이스에 직접 접근하여 애플리케이션 로직이 의도했던 범위를 훨씬 벗어나는 작업을 수행할 위험이 있기 때문입니다. / Postgres에서 역할은 데이터베이스 수준의 접근 권한을 정의하고 관리하는 데 사용됩니다. 역할은 설정 방식에 따라 데이터베이스 사용자가 될 수도 있고, 사용자 그룹이 될 수도 있습니다. 따라서 사용자 X를 사용해 Postgres에 접속한다는 말은 기술적으로 역할 X를 사용하여 데이터베이스 연결을 수행한다는 의미와 같습니다. / 역할을 활용하면 접근 제어를 매우 세밀하게 조정할 수 있습니다. 이를 통해 애플리케이션 사용자가 필요한 만큼의 권한만 갖고 그 이상은 제한하는 최소 권한 원칙(principle of least privilege)을 데이터베이스 수준에서 보장할 수 있습니다. (70쪽) 부분 인덱스는 인덱스 생성 시 WHERE 절을 사용하여 정의합니다. / CREATE INDEX partial_index_name ON table_name(columnA) WHERE condition; / 이 예시에서 부분 인덱스는 columnA에 생성되지만, 오직 특정 조건을 만족하는 행들만 포함합니다. / 부분 인덱스는 데이터의 특정 부분 집합에 대한 쿼리를 최적화하면서 나머지 데이터는 무시하고 싶을 때 특히 유용합니다. 또한 인덱스 크기가 더 작고, 조건에 맞지 않는 행이 수정될 때는 인덱스를 업데이트할 필요가 없으므로 테이블 업데이트 속도가 빨라집니다. 예를 들어 대규모 테이블이 있지만 애플리케이션이 특정 데이터 집합만 빈번하게 조회한다면, 부분 인덱스를 통해 쿼리를 최적화하고 메모리와 디스크 같은 시스템 자원을 훨씬 효율적으로 사용할 수 있습니다. (141쪽) pgvector 확장 기능은 코사인 거리(〈=〉), 유클리드 거리(〈-〉), 내적(〈#〉) 등 여러 거리 연산자를 제공합니다. 코사인 거리는 텍스트 데이터에서 생성된 임베딩을 비교하는 생성형 AI 애플리케이션에서 일반적으로 선택되는 방식으로, 특히 임베딩이 L2 정규화된 경우(길이가 항상 1인 경우)에 적합합니다. 이 방법은 두 벡터 임베딩 사이의 각도의 코사인을 계산합니다. (…) 예를 들어 그림 8.7은 2차원 공간에서 연관성이 높은 벡터 임베딩과 낮은 벡터 임베딩 사이의 각도 차이를 보여줍니다. May the force be with you(포스가 함께하길)라는 문구와 Star Wars … 설명 사이의 각도 a는 동일한 문구와 Jurassic Park … 영화 설명 사이의 각도 b보다 작습니다. 이는 해당 문구가 〈스타워즈〉에서는 자주 등장하지만 〈쥬라기 공원〉에서는 전혀 등장하지 않기 때문입니다. (263~264쪽) BRIN은 특정 칼럼의 값이 테이블 내부 구조의 물리적 위치와 강력한 상관관계를 가질 때 매우 효과적으로 작동하도록 설계되었습니다. (…) 또한, 우리의 시계열 데이터는 항상 테이블 끝에 추가만 되고 기존 데이터가 수정되지 않기 때문에, 심박수 측정 행들은 가용 페이지를 차례대로 채워나가게 됩니다. 한 페이지에 추가되는 각 새로운 행은 이미 해당 페이지에 있는 행들의 시간과 강력한 상관관계를 가집니다. 서로 다른 기기의 측정값이 섞이더라도 시간 차이는 크게 벌어지지 않습니다. (330쪽) 다른 시나리오에서는 소비자가 큐에서 다음 메시지를 가져와 처리를 시작했다가 어떤 이유로 실패할 수 있습니다. 예를 들어 생산자가 작업을 큐에 넣고 워커들이 이를 가져와 실행하는 작업 스케줄링 시스템을 생각해 보십시오. 워커가 하나 이상의 작업을 가져온 후 장애가 발생하면, 해당 작업들은 계속 processing 상태로 남게 됩니다. / 이를 완화하기 위해, 메시지가 제한된 시간 동안만 processing 상태를 유지할 수 있도록 하는 장애 복구 메커니즘을 도입할 수 있습니다. 설정된 시간 임계값이 만료되면 메시지 상태가 다시 new로 재설정되어 다른 워커가 이를 가져가 처리할 수 있게 됩니다. 이는 데이터베이스에 주기적인 작업을 예약하는 pg_cron 확장 기능을 사용하여 자동화할 수 있으며, processing 상태에 갇힌 메시지를 체크하고 그 상태를 new로 복구하는 로직을 수행합니다. (406~407쪽) 저자소개 저자 : 데니스 마그다 포스트그레스 전문가이자 소프트웨어 엔지니어. 썬 마이크로시스템즈와 오라클에서 자바 플랫폼 관련 업무를 맡았고, 이후 데이터베이스와 대규모 분산 시스템 분야로 옮겨 활동해 왔다. 역자 : 윤명식 25년 이상 금융, 게임, 광고, 클라우드에 이르는 다양한 산업 현장에서 데이터베이스 엔지니어이자 아키텍트로 일해왔다. 신한은행, 하나은행, HD현대중공업, 포스코 등에서 OLTP 시스템 및 PostgreSQL로의 마이그레이션 프로젝트를 다수 수행했다. 현재는 시니어 컨설턴트로서 엔터프라이즈 고객의 PostgreSQL 전환과 현대화, 고가용성 설계, 성능 최적화를 돕고 있다. 상세이미지

상품 필수정보

도서명
그냥 Postgres를 쓰세요- 관계형 데이터베이스를 넘어 AI, 검색, JSON, 시계열, 지리 공간까지
저자 및 출판사
상품상세참고
크기
상품상세참조
쪽수
468쪽
제품구성
상품상세참조
발행일
2026-09-10
목차 또는 책소개(아동용 학습교재의 경우 사용연령을 포함)
상품상세참조

교환/반품/AS 정보

교환/반품 주소
(10881) 경기도 파주시 문발로 77 웅진북센리빙올 지점 북센 (문발동)

위탁판매자정보

업체명
(주)씨제이이엔엠
주소
(06761) 서울특별시 서초구 과천대로 870-13 1층 (방배동)
통신판매번호
-
사업자등록번호
106-81-51510

교환 및 반품 안내정보

교환/반품 신청기간
교환/반품 신청은 배송완료 후 7일 이내에 가능합니다 상품이 표기/광고내용과 다르거나 계약내용과 다른 경우 상품을 받으신 날부터 3개월 이내, 또는 사실을 알게된 날(알 수 있었던 날)부터 30일 이내에 신청 가능합니다.
교환/반품 회수(배송)비용
상품의 불량/하자 또는 표시광고 및 계약 내용과 다른 경우 해당 상품의 회수(배송)비용은 무료이나, 고객님의 단순변심 및 사이즈/색상 불만에 관련된 교환/반품의 경우 택배비는 고객님 부담입니다. ※ 구매 시 선택한 옵션과 수량 또는 프로모션 적용 여부에 따라 반품/교환 배송비가 변경될 수 있습니다. 자세한 반품/교환 배송비는 MY SSG에서 반품/교환 시 확인 가능합니다. 반품 배송비: 2,000원 (최초 배송비가 무료인 경우, 4,000원 부과) 교환 배송비: 4,000원 제주/도서산간 지역은 추가 운임이 발생할 수 있습니다. 단, 반품/교환 비용은 상품 및 반품/교환 사유에 따라 변경될 수 있으므로 반품/교환 신청 화면에서 확인 부탁드립니다.
교환/반품 불가 안내
전자상거래 등에서 소비자보호에 관한 법률에 따라 다음의 경우 청약철회 등을 할 수 없습니다. 고객님이 상품 포장을 개봉하여 사용 또는 설치 완료되어 상품의 가치가 현저히 감소한 경우 (단, 내용 확인을 위한 포장 개봉의 경우는 예외) 고객님의 단순변심으로 인한 교환/반품 신청이 상품 수령한 날로부터 7일이 경과한 경우 신선식품(냉장/냉동 포함)을 단순변심/주문착오로 교환/반품 신청하는 경우 고객님의 사용 또는 일부 소비에 의해 상품의 가치가 현저히 감소한 경우 시간이 지나 다시 판매하기 곤란할 정도로 재화 등의 가치가 현저히 감소한 경우 복제가 가능한 재화 등의 포장을 훼손한 경우(DVD, CD, 도서 등 복제 가능한 상품) 고객님의 요청에 따라 개별적으로 주문제작되는 상품으로 재판매가 불가능한 경우(이니셜 표시상품, 사이즈 맞춤상품 등) 기타, 상품의 교환, 환불 및 상품 결함 등의 보상은 소비자분쟁해결기준(공정거래위원회 고시)에 의함

안내 사항

  • ※ 자세한 내용은 고객센터 로 문의 부탁드립니다. (A/S 문의는 제조사로 먼저 문의 시 빠르게 처리 가능합니다.)
  • ※ 전자상거래 등에서의 소비자 보호에 관한 법률에 의한 반품규정이 판매자가 상품상세 페이지 등에서 개별적으로 고지 또는 지정한 반품조건보다 우선합니다.

추천 상품