![見出し画像](https://assets.st-note.com/production/uploads/images/143664707/rectangle_large_type_2_340439c913c1fd54a9623e5aa35b01fe.png?width=1200)
【DuckDB】何ができて、できないのか
先日DuckDBに空間データベースの機能を持たせることを記事にしましたが、そもそも「DuckDBってなんだ」という記事を書いていませんでしたね。
今回はDuckDBに何ができて何ができないのかを中心に見ていきましょう。
DuckDBって何ができるの?
高速なクエリ
まずはインプロセス、つまり外部にデータベースを持たないことから、簡単に構築できて高速に動作することが特徴になっています。
リアルタイム分析などに使えていいですね。
読み取り性能がいい理由はもうひとつあって、列指向なことです。
ある列で条件を絞って行を抽出するときも、ある列の値たちを集計して一つの値(スカラ)を算出するときも、見なければいけないデータ量が少なくて済むのでメモリ効率がよいです。
もっと「下側」を見ても、キャッシュ効率やSIMD命令、分岐の削減などメリットがたくさんあります。
シームレスな統合
え、チップくれるん? ありがとうなぁ! この恩は3日ぐらい忘れへんから🫡