6P by xguru 2020-12-04 | favorite | 댓글 5개

"SQLite for Analytics"
- 복잡한 분석쿼리에 최적화된 임베디드 RDBMS
- C++11로 작성된 의존성 없는 싱글 바이너리로 호스트 프로세스내에서 실행
- Python/R/Java/C/C++/Node.js API 제공
- SQLite 처럼 한개의 파일에 DB저장

- 적합한 Usecase
ㅤ→ CSV/Parquet 등의 tabular 데이터 처리 및 저장
ㅤ→ 여러 큰 테이블들을 Join & Agggreate 하는 인터랙티브 데이터 분석
ㅤ→ 여러개의 대형 테이블에 동시에 큰 변경을 할 때 (여러 줄을 추가 또는 컬럼 추가/삭제/변경 등)

임베디드 DB에서 OLTP는 SQlite, OLAP는 DuckDB 로 양분하는 걸 목표로 하는듯 한데
20년전에 나와서 이젠 임베디드 쪽은 장악해 버린 SQLite 와는 달리 0.1 나온지 1년반 정도 밖에 안된 신참 오픈소스 입니다. ^^

몇일 전에 node.js API가 새로 추가되어서 다양하게 쓰기 편해진 듯

볼때마다 느끼지만 OLTP 와 OLAP 의 차이를 명확히 모르겠어요. ㅠ.ㅠ 뭔가 속시원히 설명을 해주는 내용도 없는듯하고요.

맞아요 보통 접하는 설명이 트랜잭션이랑 분석(이름 그대로)이다보니 유명 RDB들은 넣고 빼는 것도 빠르고 분석 작업도 빠르잖아요. 예로 오라클이나 포스트그리가 어느쪽에 특화되었다 할 것이 딱히 없는데다가... 빅데이터 시대의 분석은 어차피 그런 녀석들에서는 이미 아득히 멀어져 있다는 느낌이 드는데 지금도 oltp olap 구분하는게 어떤 의미가 있는지 잘 모르겠다는 얘기였습니다 ^^;

OLTP는 넣고 빼고 지우고 등등에 특화
OLAP는 들어가 있는 놈들을 요리조리 만져서 분석하는것
정도로 보시면 어떨까요?

음.. 제가 설명하는 방식은
- OLTP 는 가로 : 한 줄 단위로 뭔가가 추가되는 것 (새로 주문이 들어옴)
- OLAP 는 세로 : 특정 컬럼 전체를 읽어서 계산하거나 변경하거나 하는 것 (일 매출 평균 계산)