
데이터베이스에 명령어 한 줄로 질문 던지기
데이터를 다루다 보면 '터미널에서 후딱 SQL 한 번 날려보고 싶다'는 순간이 자주 와요. 그런데 데이터베이스마다 접속 클라이언트가 제각각이라 번거롭죠. PostgreSQL은 psql, MySQL은 mysql, 또 어디는 또 다른 도구... 이번에 소개할 databow는 'ADBC 드라이버만 있으면 어떤 데이터베이스든 똑같은 방식으로 쿼리하자'는 콘셉트의 Rust로 만든 CLI 도구예요.
ADBC가 도대체 뭔가요?
이걸 이해하려면 먼저 ODBC, JDBC 얘기를 해야 해요. 예전부터 프로그램이 여러 종류의 DB에 똑같은 방식으로 접속하게 해주는 '표준 통로'가 있었어요. 자바 쪽은 JDBC, 그 외엔 ODBC가 그 역할을 했죠. 덕분에 DB가 뭐든 같은 코드로 다룰 수 있었어요.
그런데 이 오래된 표준들엔 약점이 하나 있어요. 데이터를 '한 줄(row) 단위'로 주고받게 설계됐다는 점이에요. 요즘 데이터 분석은 '특정 컬럼 전체'를 한꺼번에 처리하는 경우가 훨씬 많거든요. 예를 들어 매출 컬럼 백만 개를 더한다면, 행 단위로 하나씩 꺼내는 것보다 컬럼을 통째로 가져오는 게 훨씬 빠르죠. 그런데 ODBC를 쓰면 DB에서 컬럼 형태로 갖고 있던 데이터를 굳이 행으로 바꿨다가, 받는 쪽에서 다시 컬럼으로 되돌리는 '쓸데없는 변환'이 일어나요. 이게 큰 데이터에선 엄청난 낭비예요.
ADBC(Arrow Database Connectivity)는 바로 이걸 해결하려고 나온 새 표준이에요. 아파치 애로우(Apache Arrow)라는, 데이터를 컬럼 형태로 메모리에 담는 규격을 그대로 쓰거든요. 그래서 DB에서 결과를 받을 때 변환 없이 컬럼 덩어리째로 받아와요. 큰 데이터를 분석 도구(판다스, 폴라스, DuckDB 등)로 넘길 때 속도가 확 달라지는 거죠. 한마디로 '분석 시대에 맞게 다시 설계한 ODBC'라고 보면 돼요.
databow는 거기서 뭘 더하나
databow는 이 ADBC를 명령줄에서 손쉽게 쓰게 해주는 래퍼예요. ADBC 드라이버가 존재하는 DB라면 동일한 명령으로 접속하고 쿼리를 날릴 수 있어요. Rust로 만들어졌다는 점도 의미가 있어요. 단일 실행 파일로 배포되니 복잡한 설치 과정 없이 바이너리 하나 받아서 바로 쓰고, 메모리 안전성과 성능도 챙길 수 있거든요. 결과를 애로우 형식 그대로 뽑아내니, 그걸 다른 데이터 파이프라인에 그대로 흘려보내기도 좋고요.
비슷한 도구들과 견줘보면
범용 SQL CLI로는 여러 DB를 지원하는 usql 같은 도구가 이미 있어요. 또 요즘 데이터 분석가들의 사랑을 받는 DuckDB는 그 자체가 빠른 분석용 DB이면서 다른 소스도 붙여 쓸 수 있죠. databow의 차별점은 'ADBC 생태계에 정조준했다'는 거예요. ODBC/JDBC가 아니라 애로우 네이티브로 데이터를 주고받는 데 집중했으니, 컬럼 기반 분석 워크플로우에 자연스럽게 녹아들어요. 무거운 분석 엔진을 통째로 들이지 않고, 가볍게 'ADBC로 빠르게 데이터 빼오기'만 하고 싶을 때 딱이죠.
한국 개발자에게는?
데이터 엔지니어링이나 분석 업무를 하신다면 한 번쯤 ADBC라는 흐름 자체를 알아둘 가치가 있어요. 애로우 기반 생태계(폴라스, DuckDB, 데이터퓨전 등)가 점점 커지고 있고, 그 사이의 데이터 이동을 빠르게 해주는 게 ADBC거든요. 당장 운영 DB를 바꾸진 못해도, 분석용으로 큰 데이터를 뽑아 파이썬/Rust 도구로 넘기는 작업에서 체감 속도 차이를 볼 수 있어요. databow 같은 가벼운 CLI를 스크립트에 끼워넣어 ETL의 '추출' 단계를 단순화하는 것도 현실적인 활용법이고요.
마무리
행 중심의 낡은 DB 연결 방식을, 컬럼 중심의 애로우 시대에 맞게 바꾼 게 ADBC이고, databow는 그걸 터미널에서 손쉽게 쓰게 해준다 — 이게 핵심이에요. 데이터 도구들이 점점 '애로우를 공용어'로 삼아 가는 흐름이 보이거든요. 여러분은 평소 여러 DB를 다룰 때 어떤 CLI 도구를 쓰시나요? ODBC에서 ADBC로 갈아탈 만한 이유를 느낀 적이 있으신지 댓글로 이야기 나눠요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공