4P by GN⁺ 2일전 | ★ favorite | 댓글 2개
  • DuckDB의 지리공간 확장 기능은 SQL 기반의 단순한 인터페이스로 지리공간 데이터 접근 장벽을 획기적으로 낮춤
  • 덕분에 일반 데이터 분석가들도 두 줄의 코드로 지리공간 분석이 가능해짐
  • 2023년 말 이후 'geospatial' 검색 관심도가 급증했으며, DuckDB의 확장 출시 시점과 일치함
  • Overture Maps 같은 최신 지리공간 프로젝트의 확산도 DuckDB의 영향력이 반영된 결과로 분석됨
  • DuckDB 팀은 복잡한 종속성과 GIS 도구 통합을 내부적으로 해결해 사용자 경험을 단순화

DuckDB는 어떻게 지리공간 분야를 바꿨는가

  • 저자는 최근 열린 Cloud-Native Geospatial Conference 2025에 참석해 지리공간 데이터 대중화에 대해 논의함
  • 핵심 화두는 지리공간 데이터를 더 많은 산업군에 어떻게 확산시킬 수 있는가였으며, 그 중심에는 DuckDB가 있었음
  • 2023년 말까지 ‘geospatial’ 키워드의 검색량은 정체 상태였지만, DuckDB의 지리공간 확장 출시 이후 급격히 상승
  • DuckDB의 영향력을 입증하듯, Google Trends 상에서도 DuckDB와 geospatial 키워드가 함께 상승세를 그림
  • 물론 인과관계는 단정할 수 없지만, 저자는 이 상관관계에 의미를 둠

단 두 줄로 지리공간 분석 가능

install spatial;   
load spatial;  
  • 기존에는 수많은 패키지를 설치하거나 컴파일하고, 데이터베이스를 따로 구축해야 했음
  • 반면 DuckDB는 단일 SQL 인터페이스로 지리공간 분석 환경을 완성
  • 그 결과, SQL을 다룰 줄 아는 누구나 쉽게 접근 가능, IT 인프라 부담도 감소

Overture Maps도 DuckDB 덕분?

  • 저자는 Overture Maps Foundation의 성공적인 도입도 DuckDB 없이 가능했을지 의문을 가짐
  • DuckDB가 없었다면 지리공간 데이터를 다루는 초기 진입 장벽이 너무 높았을 것이라고 추측함

Hacker News에서의 추가 논의

  • DuckDB 개발자 Max는 PROJ DB, GDAL, QGIS 등 FOSS GIS 도구를 내부적으로 번들링해 종속성 제거한 점을 강조
  • 덕분에 WASM 등 다양한 플랫폼에서 복잡한 설치 과정 없이 사용 가능
  • 또한, 벡터화된 메모리 초과 실행, 컬럼 단위 압축 저장 등 고성능 기능이 통합되어 있음
  • 최근에는 새로운 지오메트리 엔진 개발 및 공간 조인 최적화 기능도 dev 브랜치에 반영됨

결론

  • DuckDB는 복잡한 지리공간 도구의 설치 및 연결 문제를 제거하고, 모든 것을 SQL과 함께 제공함
  • 이로써 지리공간 데이터의 대중화에 결정적인 기여를 한 소프트웨어로 평가받고 있음

DuckDB 잘나가네요

Hacker News 의견
  • DuckDB를 좋아하며 지리공간 분석을 주로 수행함. 주로 Uber H3 육각형으로 지리 구역을 나누고, Haversine 거리 계산, 기하학적 면적 계산, 점이 어떤 기하학에 속하는지 파악하는 작업을 함. 이러한 기능들은 이미 geopandas나 postgis에 존재했지만, DuckDB의 공간 확장은 새로운 것을 제공하지 않음

    • 그러나 DuckDB 엔진은 로컬 데스크탑에서 대규모로 parquet/geoparquet 파일을 직접 작업할 수 있게 해줌. 이 점에서 geopandas보다 우수함. 생활의 질이 향상됨
    • DuckDB는 Hilbert 곡선, Uber H3 지원과 같은 특이한 지리공간 기능을 허용하는 확장 아키텍처를 가짐
  • 이전에는 여러 오픈 소스 패키지를 설치하거나 컴파일해야 했고, 경로 위치를 주의 깊게 기록하고, 전문 데이터베이스를 구축해야 했음. 이는 데이터 일반가가 시도하지 않거나 IT 부서가 지원하지 않을 수 있는 작업량이었음

    • "CREATE EXTENSION postgis;"를 10년 넘게 사용해왔음. PG, MySQL, Oracle, MS SQL Server, SQLite에는 오랫동안 공간 확장이 존재했음. DuckDB는 설치의 용이성에 실질적인 차이를 만들지 않음
  • "import geopandas"도 존재하며, 꽤 오랫동안 사용되어 왔음. 비꼬는 말은 제쳐두고, DuckDB의 특별한 점이 무엇인지 궁금함. 저자가 실제 예제를 보여주었으면 그들의 주장을 더 잘 이해할 수 있었을 것임

  • 지리공간 앱을 작업하며 가장 기대되는 소프트웨어는 Felt임. 개발자가 지도와 데이터 소스 인증/인가를 제어할 수 있도록 도구를 확장하여 테넌트 격리를 가능하게 하고, 독점 데이터 접근을 가능하게 하길 바람. 이는 지리공간 기술이 소비자 앱에 통합되는 방식을 혁신할 수 있음

    • 이 글은 이러한 것이 얼마나 틈새 시장인지 인정하지 않음. 좌표계, 투영, 변환 등에 대한 교육이 많이 필요함. 가능하다면 많은 커스텀 매핑 도구를 Felt로 대체하고 싶음. 이는 브라우저에서 표시하고 조작하는 코드에 집중하지 않고 핵심 지리공간 프로세스에 집중할 수 있게 해줌. 이는 유지해야 할 LOC 측면에서 거의 같거나 더 큼
    • 다른 댓글에서 언급했듯이, 설명된 DuckDB DX는 기본적으로 PostGIS와 동일함
  • "geospatial 설치"가 "pip install geopandas"에 비해 단순함에서 게임 체인저라고 생각하지 않음

    • 둘 다 한 줄임
  • 'load extension postgis'보다 훨씬 간단한가? geos와 gdal이 항상 약간 번거로웠지만, docker가 이를 모두 추상화했다고 느낌. 'docker pull postgis'는 꽤 쉬움. DuckDB가 제공하는 다른 것에 익숙하지 않음

  • 유사한 프로젝트를 홍보하기 위해 의견을 남김. Polars의 지리공간 확장을 작업 중임. 아직 안정적이지 않지만 (꽤 가까워짐), 이미 기능이 거의 완전함 (GEOS와 PROJ를 백엔드로 사용하여 GeoPandas와 동등함)

  • 데이터 세트의 크기가 얼마나 큰가? 회사에서 금융 거래 및 보고 데이터에 DuckDB를 사용하려고 함. 데이터 세트는 S3의 약 500GB CSV이며, DuckDB가 이를 처리하지 못함

  • DuckDB와 GEOS의 라이선스에 대한 우려가 있음. 전자는 MIT 라이선스이고 후자는 LGPL 2.1임

    • 이는 일부 빌드가 LGPL 2.1을 위반하는 복잡한 상황을 초래함. 예를 들어, 폐쇄형 소스 애플리케이션과의 정적 링크
  • DuckDB는 지리공간에 훌륭하지만 지난 10년간 가장 중요한 것인가? 다양한 카테고리의 도구가 많아 나에게는 상위에 오르지 않음. QGIS, postGIS (여전히 표준), ArcGIS 온라인 (여전히 표준), mapbox와 같은 JS 매핑 도구 (deckgl 선호), COG, geopackage, geoparquet와 같은 새로운 데이터 유형, 사진측량 도구, 3D 타일, gdal과 pdal, shapely와 같은 핵심 라이브러리 등이 있음