第1章. DuckDBを使い始める
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
データ分析に関しては、多くの開発者にとってpandasがよく使われるライブラリだ。最近では、PolarsがDataFramesを扱うための、より高速で効率的な代替ライブラリとして登場した。しかし、これらのライブラリの人気()にもかかわらず、SQL(Structured Query Language)は依然として開発者の間で最も広く認知され、使用されている言語である。SQLをサポートしているデータベースにデータがストアされている場合、SQLを使ってデータをクエリしたり操作したりするのが、最も直感的で効果的なアプローチであることが多い。
Pythonはデータサイエンスにおいて、特にDataFrameオブジェクトを通して表形式のデータを扱う際に主流となっているが、SQLは依然として普遍的なデータ言語である。ほとんどの開発者がすでにSQLに慣れていることを考えると、SQLを直接データ操作に使った方が効率的ではないだろうか?
ここでDuckDBが輝く。DuckDBは当初、、高速な分析クエリに最適化されたOLAP(オンライン分析処理)データベースとして2018年に概念化された。その目的は、本格的なデータベースシステムとSQLiteのような組み込みDBのシンプルさとのギャップを埋めることだったが、トランザクションよりも分析ワークロードに焦点を当てていた。DuckDBの最初の安定リリースは2019年で、PythonやRとの統合が容易なことから、、データサイエンスや分析のコミュニティの間で非常に人気のある選択肢となった。DuckDBはオープンソースであるが、DuckDB Labsは2021年に設立され、商用サポートとさらなる開発を提供している。DuckDBをクラウド化するために、MotherDuckがDuckDBを中心に構築され、ユーザがSaaS(サービスとしてのソフトウェア)としてアクセスできるようになった。MotherDuckによって、開発者はDuckDBを分散管理された環境で利用できるようになり、より大規模なデータセットや共同利用のための拡張がより容易になった(これについては第9章で詳しく述べる)。
この章では、DuckDBとは何か、なぜデータ分析のための強力なツールなのか、そしてデータ分析作業を効率化するためにDuckDBの機能をどのように活用できるのかについて掘り下げていく。DuckDBは、SQLのパフォーマンスと柔軟性をPython環境で利用できるため、データサイエンティストやアナリストにとって貴重なツールとなる。
DuckDBの紹介
DuckDBはSQLをサポートするリレーショナルデータベース管理システム(RDBMS)であり、OLAPのために特別に設計されているため、、データ分析タスクに最適である。
別途インストールプロセスが必要な従来のデータベースシステムとは異なり、DuckDBは完全にin-processで演算子されるため、インストールやセットアップを心配する必要がない。、DuckDBの最も魅力的な特徴のひとつは、データのインポートや重複を必要とせず、pandasのデータに対して直接SQLクエリを実行できることだ。このpandasとのシームレスな統合により、DuckDBは、すでにpandasのエコシステムに精通しているデータサイエンティストやアナリストにとって、非常に強力なツールとなる。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access