지은이 : 마이클 시몬스
20년 넘게 개발자로 일해 온 자바 챔피언이자 Neo4j의 선임 소프트웨어 엔지니어입니다. 독일의 유틸리티 산업에서 SQL로 대형 전력망의 에너지 사용량 분석 및 예측을 담당했고, 자바와 DB 주제로 다수의 콘퍼런스에서 연사로 활동했습니다. 베스트셀러 《스프링 부트 2》의 저자이자 소프트웨어 아키텍처 문서화에 관한 책 《arc42 by Example》의 공동 저자이기도 합니다. 개인적으로 DuckDB를 활용하여 자전거 기록을 분석하고 관리하는 열정적인 데이터 전문가입니다. 여가 시간에는 마라톤에 도전하며 꾸준히 운동하는 개발자이며 마라톤을 준비하지 않을 때는 DuckDB로 자신의 자전거 기록을 정리하고 있습니다.블로그: info.michael-simons.eu자전거 기록 사이트: biking.michael-simons.eu/history
지은이 : 마크 니드햄
클릭하우스(ClickHouse)의 제품 마케팅 엔지니어로, 숏폼과 블로그를 통해 실시간 데이터 웨어하우스를 알리고 개발자 경험을 개선하고 있습니다. 이전에는 Apache Pinot을 활용한 실시간 분석(Apache Pinot) 및 소프트웨어 개발에 15년 이상 종사하며 관련 경험을 자신의 블로그(markhneedham.com)에 공유하고 있습니다. 또한 데이터와 AI 관련 교육 영상을 유튜브를 통해 활발히 제공하고 있습니다.유튜브: https://www.youtube.com/@markhneedhamX: @markhneedham
지은이 : 마이클 헝거
35년 이상 소프트웨어 개발 분야에서 활동했고, 최근 14년간 Neo4j에서 제품 혁신과 개발자 전략을 이끌고 있습니다. 오라클의 자바 챔피언(Java Champion)으로 선정된 바 있으며, 자바 및 그래프 데이터베이스 등 오픈 소스 프로젝트에 기여하고 있습니다. 또한 《자바 스펙트럼》 잡지에 12년 이상 기고자로 참여했으며 다양한 콘퍼런스 강연과 조직에도 활발히 기여하고 있습니다. 자세한 정보는 그의 블로그에서 확인할 수 있습니다.블로그: https://www.jexp.de
1장 DuckDB 소개
__1.1 DuckDB란 무엇인가요?
__1.2 왜 DuckDB에 주목해야 할까요?
__1.3 언제 DuckDB를 사용하는 게 좋을까요?
__1.4 언제 DuckDB를 사용하지 말아야 할까요?
__1.5 사용 사례
__1.6 DuckDB는 어디에 적합할까요?
__1.7 데이터 처리 흐름 단계
__요약
2장 DuckDB 시작하기
__2.1 지원되는 환경
__2.2 DuckDB CLI 설치하기
__2.3 DuckDB CLI를 사용하는 방법
__2.4 DuckDB의 확장 시스템
__2.5 CSV 파일을 DuckDB CLI로 분석하기
__요약
3장 SQL 쿼리 실행하기
__3.1 간단한 SQL 복습
__3.2 에너지 생산 분석하기
__3.3 데이터 정의 언어 쿼리
__3.4 데이터 조작 언어 쿼리
__3.5 DuckDB 전용 SQL 확장
__요약
4장 데이터의 고급 집계와 분석
__4.1 데이터 수집 중에 사전 집계하기
__4.2 데이터 요약하기
__4.3 서브쿼리
__4.4 그룹화 집합
__4.5 윈도 함수들
__4.6 WHERE 절 외부에서 조건과 필터링 처리하기
__4.7 PIVOT 문
__4.8 ASOF JOIN 사용하기
__4.9 테이블 함수 사용하기
__4.10 LATERAL 조인 사용하기
__요약
5장 지속성 없이 데이터 탐색하기
__5.1 왜 데이터를 따로 보존하지 않고 데이터베이스를 사용할까요?
__5.2 파일 유형과 스키마 추론하기
__5.3 중첩된 JSON 쪼개기
__5.4 CSV를 Parquet로 변환하기
__5.5 Parquet 파일 분석하고 쿼리하기
__5.6 SQLite와 다른 데이터베이스 쿼리하기
__5.7 엑셀 파일로 작업하기
__요약
6장 파이썬 생태계와 통합하기
__6.1 시작하기
__6.2 관계형 API 사용하기
__6.3 pandas 데이터프레임 쿼리하기
__6.4 사용자 정의 함수
__6.5 Apache Arrow 및 Polars와의 상호운용성
__요약
7장 DuckDB를 클라우드에서 MotherDuck과 함께 사용하기
__7.1 MotherDuck 소개
__7.2 MotherDuck으로 시작하기
__7.3 MotherDuck 최대한 활용하기
__요약
8장 DuckDB로 데이터 파이프라인 구축하기
__8.1 데이터 파이프라인과 DuckDB의 역할
__8.2 dlt를 사용한 데이터 수집
__8.3 dbt를 사용한 데이터 구조 변환과 모델링
__8.4 Dagster로 데이터 파이프라인을 오케스트레이션하기
__요약
9장 데이터 앱 구축 및 배포
__9.1 Streamlit으로 맞춤형 데이터 앱 구축하기
__9.2 Apache Superset으로 BI 대시보드 구축하기
__요약
10장 대규모 데이터세트에 대한 성능 고려사항
__10.1 스택 오버플로 전체 데이터베이스 불러오기와 쿼리하기
__10.2 쿼리 계획 및 실행
__10.3 스택 오버플로 데이터를 Parquet로 내보내기
__10.4 Parquet 파일에서 뉴욕시 택시 데이터세트 탐색하기
__요약
11장 결론
__11.1 이 책에서 배운 내용
__11.2 DuckDB의 향후 안정 버전들
__11.3 다루지 못한 내용
__11.4 더 배울 수 있는 곳은?
__11.5 DuckDB와 함께하는 데이터 엔지니어링의 미래는 어떨까요?
부록 A DuckDB를 위한 클라이언트 API
__A.1 공식 지원 언어
__A.2 동시성에 관한 간략한 설명
__A.3 사용 사례
__A.4 대용량 데이터 가져오기
__A.5 JDBC 드라이버를 통해 자바에서 DuckDB 사용하기
__A.6 추가 연결 옵션들
__요약
부록 B DuckDB UI
__B.1 DuckDB UI 소개
__B.2 이 책의 예제를 DuckDB UI로 실행하기
__요약
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)