DuckDB: различия между версиями
Строка 1: | Строка 1: | ||
{{Болванка}} | {{Болванка}} | ||
+ | {{Infobox software | ||
+ | | name = DuckDB | ||
+ | | logo = | ||
+ | | developer = DuckDB Labs | ||
+ | | latest_release_version = v1.1.0 | ||
+ | | latest_release_date = {{start date |2024|09|09}} | ||
+ | | programming language = [[C++]] | ||
+ | | operating_system = [[Cross-platform]] | ||
+ | | genre = [[Column-oriented DBMS]]<br />[[RDBMS]] | ||
+ | | license = [[MIT License]] | ||
+ | | website = {{URL|https://www.duckdb.org}} | ||
+ | }} | ||
'''DuckDB''' — это реляционная система управления данных (СУБД) с открытым исходным кодом, ориентированная на хранение данных в колонках. | '''DuckDB''' — это реляционная система управления данных (СУБД) с открытым исходным кодом, ориентированная на хранение данных в колонках. | ||
Строка 20: | Строка 32: | ||
Соавтор DuckDB Мюлейзен также руководит фирмой поддержки и консалтинга для программного обеспечения [[DuckDB Labs]]. Его компания решила не привлекать венчурное финансирование, заявив: «Мы считаем, что инвестиции заставят проект двигаться в сторону монетизации, и мы бы предпочли сохранить DuckDB открытым и доступным для как можно большего числа людей»<ref name="theregister.com"/>. | Соавтор DuckDB Мюлейзен также руководит фирмой поддержки и консалтинга для программного обеспечения [[DuckDB Labs]]. Его компания решила не привлекать венчурное финансирование, заявив: «Мы считаем, что инвестиции заставят проект двигаться в сторону монетизации, и мы бы предпочли сохранить DuckDB открытым и доступным для как можно большего числа людей»<ref name="theregister.com"/>. | ||
− | Другая компания, связанная с проектом, [[MotherDuck]], получила финансирование в размере 100 млн долларов США для своей платформы данных на основе DuckDB от инвесторов, включая [[Andreessen Horowitz]]. | + | Другая компания, связанная с проектом, [[MotherDuck]], получила финансирование в размере 100 млн долларов США для своей платформы данных на основе DuckDB от инвесторов, включая [[Andreessen Horowitz]]<ref>{{Cite web |last=Clark |first=Lindsay |title=MotherDuck serverless analytics platform wins $52.5M funding |url=https://www.theregister.com/2023/09/21/motherduck_funding/ |access-date=2024-03-23 |website=www.theregister.com |language=en |archive-date=2024-03-23 |archive-url=https://web.archive.org/web/20240323064604/https://www.theregister.com/2023/09/21/motherduck_funding/ |url-status=live }}</ref>. |
== Поддержка языков программирования == | == Поддержка языков программирования == | ||
Строка 44: | Строка 56: | ||
|} | |} | ||
== Примечания == | == Примечания == | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<references /> | <references /> | ||
[[Категория:СУБД]] | [[Категория:СУБД]] |
Версия от 11:05, 21 сентября 2024
![]() |
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. |
DuckDB — это реляционная система управления данных (СУБД) с открытым исходным кодом, ориентированная на хранение данных в колонках.
Блыа разработана Марком Раасвельдтом и Ханнесом Мюлейзеном в Центре математики и информатики (Centrum Wiskunde & Informatica CWI) в Нидерландах[1].
Первая версия была выпущенна в 2019 году[2].
По состоянию на 2024 год проект достиг более 6 миллионов загрузок в месяц[3][4][5].
DuckDB была разработана для обеспечения высокой производительности при сложных запросах к большим базам данных во встроенной конфигурации[6][1], таких как объединение таблиц с сотнями столбцов и миллиардами строк. В отличие от других встроенных баз данных (например, SQLite), DuckDB не фокусируется на транзакционных (OLTP) приложениях, а ориентирована на задачи онлайн-аналитической обработки (OLAP)[7].
DuckDB в своей нише OLAP не конкурирует с традиционными СУБД, такими как MSSQL, PostgreSQL и Oracle Database. Используя SQL для запросов, DuckDB нацелена на бессерверные приложения и обеспечивает чрезвычайно быстрые ответы, используя файлы Apache Parquet для хранения. Эти атрибуты делают его популярным выбором для анализа больших наборов данных в интерактивном режиме, но плохо соответствуют требованиям корпоративного хранилища данных. DuckDB использует векторизованный механизм обработки запросов[8] . DuckDB выделяется среди систем управления базами данных, поскольку не имеет внешних зависимостей и может быть собрана только с использованием компилятора C++11[9].
DuckDB также отклоняется от характерной для СУБД модели клиент-сервер, работая внутри хост-процесса (например, у него есть биндинги для интерпретатора Python с возможностью непосредственного размещения данных в массивах NumPy)[1]).
Коммерческое использование
DuckDB используется в Facebook, Google и Airbnb[10].
Соавтор DuckDB Мюлейзен также руководит фирмой поддержки и консалтинга для программного обеспечения DuckDB Labs. Его компания решила не привлекать венчурное финансирование, заявив: «Мы считаем, что инвестиции заставят проект двигаться в сторону монетизации, и мы бы предпочли сохранить DuckDB открытым и доступным для как можно большего числа людей»[5].
Другая компания, связанная с проектом, MotherDuck, получила финансирование в размере 100 млн долларов США для своей платформы данных на основе DuckDB от инвесторов, включая Andreessen Horowitz[11].
Поддержка языков программирования
Помимо нативного API для C и C++, DuckDB поддерживает ряд языков программирования.
Язык | Подробности | Ссылка |
---|---|---|
Java | Java API реализован с использованием JNI[12]. Обеспечивается поддержка формата Apache Arrow[13]. | [14] |
Python | Реализована поддержка Python API для пакетов анализа данных Pandas,[15] Apache Arrow[16] и Polars. | [17] |
Rust | Rust API распространяется как крейт rust, являющийся враппером над нативным C API. | [18] |
Node.JS | Node API | [19] |
R | R API | [20] |
Julia | Julia API | [21] |
Swift | Swift API | [22] |
Примечания
- ↑ 1,0 1,1 1,2 Kamphuis, Chris. Graph Databases for Information Retrieval // Advances in Information Retrieval. — Springer International Publishing, 2020. — Vol. 12036. — P. 608–612. — ISBN 978-3-030-45441-8. — doi:10.1007/978-3-030-45442-5_79.
- ↑ Clark, Lindsay. DuckDB reaches version 0.5.0 (англ.). www.theregister.com. Дата обращения: 23 марта 2024. Архивировано 7 марта 2024 года.
- ↑ PyPi Download Stats (англ.). www.pypistats.org. Дата обращения: 13 августа 2024. Архивировано 13 августа 2024 года.
- ↑ DuckDB Python Downloads Dashboard (англ.). duckdbstats.com. Дата обращения: 13 августа 2024. Архивировано 13 августа 2024 года.
- ↑ 5,0 5,1 Clark, Lindsay. DuckDB Labs puts limit on free support, rules out VC funding (англ.). www.theregister.com. Дата обращения: 23 марта 2024. Архивировано 23 марта 2024 года.
- ↑ Т.е. в составе других приложений.
- ↑ Raasveldt, 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.
- ↑ Bannert, M. Research Software Engineering: A Guide to the Open Source Ecosystem. — CRC Press, 2024. — P. 25. — ISBN 978-1-04-000513-2.
- ↑ DuckDB Building Instructions . Дата обращения: 16 августа 2024.
- ↑ Clark, Lindsay. Scale-up database wrangler MotherDuck scores $47.5 million (англ.). www.theregister.com. Дата обращения: 23 марта 2024. Архивировано 23 марта 2024 года.
- ↑ Clark, Lindsay. MotherDuck serverless analytics platform wins $52.5M funding (англ.). www.theregister.com. Дата обращения: 23 марта 2024. Архивировано 23 марта 2024 года.
- ↑ Java JNI Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Java Arrow Source Code . www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Java Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Pandas Source (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB PyArrow Source (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Python Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Rust Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Node Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB R Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Jullia Source Code (англ.). www.github.com. Дата обращения: 7 сентября 2024.
- ↑ DuckDB Swift Source Code . www.github.com. Дата обращения: 7 сентября 2024.