덕DB(DuckDB) 사용자들이 이제 스노우플레이크(Snowflake), 데이터브릭스(Databricks), 빅쿼리(BigQuery), 포스트그레스큐엘(PostgreSQL), 마이SQL(MySQL) 등 ADBC(Arrow Database Connectivity) 드라이버를 지원하는 모든 데이터베이스를 덕DB에서 직접 쿼리할 수 있게 되었습니다. 카네기 멜론 대학교(CMU)의 데이터베이스 박사 과정 학생이 컬럼나(Columnar)에서 인턴십 기간 동안 이 커뮤니티 확장 기능(extension)을 개발하여 공개했습니다.
이 확장 기능은 아파치 애로우(Apache Arrow) 기반의 ADBC를 활용합니다. ADBC는 효율적인 컬럼형 데이터 형식인 아파치 애로우 위에 구축된 범용 데이터 접근 API로, 거의 모든 데이터 시스템이 기본적으로 지원합니다. 이를 통해 기존의 로우(row) 기반 API인 ODBC나 JDBC에서 발생하던 느린 컬럼-로우 변환 과정을 건너뛰고, 컬럼 지향 분석 데이터베이스 간에 데이터를 번개처럼 빠르게(제로 카피) 전송할 수 있습니다. 사용자는 `read_adbc` 테이블 함수를 통해 ADBC 데이터베이스를 직접 쿼리하거나, `ATTACH` 명령어를 사용해 ADBC 데이터베이스에 연결한 후 `SELECT`, `INSERT`, `COPY`, `CTAS`와 같은 문장을 로컬 덕DB처럼 실행할 수 있습니다.
이번 확장은 덕DB의 활용 범위를 크게 넓혀, 데이터 분석가와 개발자들이 여러 데이터 소스를 하나의 통합된 환경에서 효율적으로 작업할 수 있도록 돕습니다. 특히, 아파치 애로우의 컬럼형 데이터 포맷을 활용함으로써 데이터 전송 및 처리 속도를 획기적으로 개선하여 대규모 데이터 분석 작업의 생산성을 높일 수 있습니다. 이는 데이터 생태계 전반의 상호 운용성을 강화하고, 데이터 통합 및 분석 과정에서 발생하는 복잡성과 비효율성을 줄이는 중요한 진전으로 평가됩니다.