최근 재미있는 DB에 대한 소개를 받았습니다.
바로 DuckDB라는 건데요. 2019년에 등장하여 이미 인기있는 데이터 분석을 위한 DB로 소개되고 있네요..
DuckDB는 in-process SQL OLAP DBMS라는데요..
in-process 즉, 응용(app) 내에서 in memory 방식으로 처리되며, 벡터화된 쿼리 엔진에,
분석 처리(OLAP)를 목적으로 하는(트랜잭션 처리(OLTP)가 아닌) 빠르고 효율적인 DB라고 합니다.
(SQL 사용 시 column 기반의 Apache Parquet 방식을 사용한다고 합니다.. 열 기반(!!)도 재미있네요)
0) 설치
설치는 pip를 이용해서 설치할 수 있습니다.
pip install duckdb
(2024.05.12. 기준으로 v0.10.2.가 릴리즈 중이네요)
1) 이용
# import libs
import duckdb
# ...
# import data from pandas dataframe(df0)
sql1 = 'select col1, col2, avg(col3) as avg from df0 group by col1, col2'
df_res1 = duckdb.sql(sql1).df() # res to dataframe
print(df_res1)
참고)
https://duckdb.org/docs/data/overview
https://duckdb.org/docs/sql/functions/overview
https://duckdb.org/docs/sql/aggregates
https://duckdb.org/docs/api/python/overview.html
https://motherduck.com/blog/duckdb-versus-pandas-versus-polars/
https://www.infoq.com/articles/analytical-data-management-duckdb/
반응형
'개발' 카테고리의 다른 글
[Framework]Front-End Framework들 (0) | 2024.07.04 |
---|---|
[tool]MS Visual Studio Code (1) | 2024.06.15 |
[python-오류]ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory ... (0) | 2024.06.10 |
[python]파이썬 기반 웹프레임워크 - Django, Flask (0) | 2024.05.25 |
[python]OpenCV와 imutils (0) | 2024.05.13 |