Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

DuckDB

From Wikipedia, the free encyclopedia
Open source column-oriented RDBMS
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "DuckDB" – news ·newspapers ·books ·scholar ·JSTOR
(March 2024) (Learn how and when to remove this message)
DuckDB
DeveloperDuckDB Labs
Stable release
v1.4.3 LTS / December 9, 2025 (2025-12-09)
Written inC++
Operating systemCross-platform
TypeColumn-oriented DBMS
RDBMS
LicenseMIT License
Websitewww.duckdb.org
Repositorygithub.com/duckdb/duckdb

DuckDB is anopen-sourcecolumn-orientedRelational Database Management System (RDBMS).[1] It is designed to provide high performance on complex queries against large databases in embedded configuration,[2] such as combiningtables with hundreds of columns and billions of rows. Unlike other embedded databases (for example,SQLite) DuckDB is not focusing on transactional (OLTP) applications and instead is specialized foronline analytical processing (OLAP) workloads.[3] The project has over 6 million downloads per month.[4][5][6]

History

[edit]

DuckDB was originally developed byMark Raasveldt andHannes Mühleisen [wd] at theCentrum Wiskunde & Informatica (CWI) in theNetherlands.[2] The project co-founders designed DuckDB to address the need for an in-process OLAP database solution.[7] DuckDB was first released in 2019.[8] DuckDB version 1.0.0 was released on June 3, 2024, under the codename SnowDuck.[9]

Features

[edit]

DuckDB uses avectorized query processing engine.[3] DuckDB is special amongst database management systems because it does not have any external dependencies and can be built with just aC++11 compiler.[10] DuckDB also deviates from the traditionalclient–server model by running inside a host process (it has bindings, for example, for a Python interpreter with the ability to directly place data intoNumPy arrays[2]). DuckDB's SQL parser is derived from the pg_query library developed by Lukas Fittl, which is itself derived fromPostgreSQL's SQL parser that has been stripped down as much as possible.[3][11] DuckDB uses a single-file storage format to store data ondisk, designed to support efficient scansand bulk updates, appends and deletes.[12] DuckDB is also compiled toWebAssembly usingemscripten which enables DuckDB to run SQL in browser-based analytics tools.[13][14]

Comparison

[edit]

DuckDB in its OLAP niche does not compete with the traditional DBMS likeMSSQL,PostgreSQL andOracle database. While usingSQL for queries, DuckDB targets serverless applications and provides extremely fast responses using eitherApache Parquet files or its own format for storage. These attributes make it a popular choice for large dataset analysis in interactive mode.[15]

Commercial use

[edit]

DuckDB is used atFacebook,Google, andAirbnb.[16]

DuckDB co-author Mühleisen also runs a support and consultancy firm for the software, DuckDB Labs.[8] The company has chosen not to take venture capital funding, stating "We feel investment would force the project direction towards monetization, and we would much prefer keeping DuckDB open and available for as many people as possible".[6] Another company,MotherDuck, has received $100 million funding for its data platform based on DuckDB, with investors includingAndreessen Horowitz.[17]

DuckDB Foundation

[edit]

The independent non-profit DuckDB Foundation safeguards the long-term maintenance and development of DuckDB. The foundation holds much of the intellectual property of the project and is funded by charitable donations.[18] The DuckDB Foundation's statutes ensure DuckDB remains open-source under theMIT license in perpetuity.[19]

Language support

[edit]

In addition to the nativeC andC++ APIs, DuckDB supports a range of programming languages.

Client APIs
LanguageNotesReference
JavaTheJava API is implemented usingJNI.[20] Integration with theApache Arrow[21] format is provided.[22]
PythonThePython API implements support for thePandas,[23]Apache Arrow[24] and Polarsdata analysis packages.[25]
RustTheRust API is distributed as arust crate that exposes an elegant wrapper over the native C API.[26]
Node.JSNode API[27]
RR API[28]
JuliaJulia API[29]
SwiftSwift API[30]
WebAssemblyWASM API[31]
GoGo API[32]

Extensions

[edit]

DuckDB's architecture supports extensions, allowing additional functionality to be added dynamically.[33] Many popular extensions are maintained by the core DuckDB team, and there are over 30 community extensions maintained by third parties.[34][35][36]

References

[edit]
  1. ^"DuckDB Documentation SQL Introduction". Retrieved2024-11-20.
  2. ^abcKamphuis, Chris (2020). "Graph Databases for Information Retrieval".Advances in Information Retrieval. Lecture Notes in Computer Science. Vol. 12036. Cham: Springer International Publishing. pp. 608–612.doi:10.1007/978-3-030-45442-5_79.ISBN 978-3-030-45441-8.PMC 7148032.
  3. ^abcRaasveldt, Mark; Mühleisen, Hannes (2019-06-25).DuckDB: an Embeddable Analytical Database. ACM. pp. 1981–1984.doi:10.1145/3299869.3320212.ISBN 978-1-4503-5643-5.
  4. ^"PyPi Download Stats".www.pypistats.org.Archived from the original on 2024-08-13. Retrieved2024-08-13.
  5. ^"DuckDB Python Downloads Dashboard".duckdbstats.com.Archived from the original on 2024-08-13. Retrieved2024-08-13.
  6. ^abClark, Lindsay."DuckDB Labs puts limit on free support, rules out VC funding".www.theregister.com.Archived from the original on 2024-03-23. Retrieved2024-03-23.
  7. ^van der Ent, Leendert (April 2023)."DuckDB: Introducing a New Class of Data Management Systems"(PDF).I/O Magazine. ICT Research Platform Nederland. Retrieved12 November 2024.
  8. ^abClark, Lindsay."DuckDB reaches version 0.5.0".www.theregister.com.Archived from the original on 2024-03-07. Retrieved2024-03-23.
  9. ^Raasveldt, Mark; Mühleisen, Hannes (3 June 2024)."Announcing DuckDB 1.0.0". Retrieved12 November 2024.
  10. ^"DuckDB Building Instructions". Retrieved2024-08-16.
  11. ^Slot, Marco (24 May 2024)."How We Fused DuckDB into Postgres with Crunchy Bridge for Analytics". Retrieved12 November 2024.
  12. ^Raasveldt, Mark; Mühleisen, Hannes (2020).Data Management for Data Science Towards Embedded Analytics(PDF). Conference on Innovative Data Systems Research.
  13. ^"Introducing Universal SQL". Retrieved2025-01-17.
  14. ^"How we evolved our query architecture with DuckDB". Retrieved2025-01-17.
  15. ^Bannert, M. (2024).Research Software Engineering: A Guide to the Open Source Ecosystem. Chapman & Hall/CRC Data Science Series. CRC Press. p. 25.ISBN 978-1-04-000513-2.Archived from the original on 2024-03-23. Retrieved2024-03-23.
  16. ^Clark, Lindsay."Scale-up database wrangler MotherDuck scores $47.5 million".www.theregister.com.Archived from the original on 2024-03-23. Retrieved2024-03-23.
  17. ^Clark, Lindsay."MotherDuck serverless analytics platform wins $52.5M funding".www.theregister.com.Archived from the original on 2024-03-23. Retrieved2024-03-23.
  18. ^"DuckDB Foundation". Retrieved2024-11-09.
  19. ^"DuckDB Project FAQs". Retrieved2024-11-09.
  20. ^"Java JNI Source Code".www.github.com. Retrieved2024-09-07.
  21. ^"DuckDB Java Arrow Source Code".www.github.com. Retrieved2024-09-07.
  22. ^"DuckDB Java Source Code".www.github.com. Retrieved2024-09-07.
  23. ^"DuckDB Pandas Source".www.github.com. Retrieved2024-09-07.
  24. ^"DuckDB PyArrow Source".www.github.com. Retrieved2024-09-07.
  25. ^"DuckDB Python Source Code".www.github.com. Retrieved2024-09-07.
  26. ^"DuckDB Rust Source Code".www.github.com. Retrieved2024-09-07.
  27. ^"DuckDB Node Source Code".www.github.com. Retrieved2025-09-19.
  28. ^"DuckDB R Source Code".www.github.com. Retrieved2024-09-07.
  29. ^"DuckDB Jullia Source Code".www.github.com. Retrieved2024-09-07.
  30. ^"DuckDB Swift Source Code".www.github.com. Retrieved2024-09-07.
  31. ^"DuckDB Swift Source Code".www.github.com. Retrieved2025-01-17.
  32. ^"DuckDB Go Source Code".www.github.com. Retrieved2025-09-19.
  33. ^"DuckDB Extensions Overview".www.duckdb.org. Retrieved2025-01-17.
  34. ^"Core Extensions".duckdb.org. 2025-03-12. Archived fromthe original on 2025-03-12. Retrieved2025-10-29.
  35. ^"List of Community Extensions".www.duckdb.org. Retrieved2025-01-17.
  36. ^"DuckDB Extension Radar".www.github.com. Retrieved2025-01-17.

Further reading

[edit]

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=DuckDB&oldid=1335359701"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp