コラムバックナンバー
Option合同会社 柳井 隆道
発信元:メールマガジン2022年5月11日号より
技術の進歩はすさまじいもので、1年もすれば新しいソリューションが数多く生まれてきます。以前はできなかったことが、新しいソリューションによって簡単に実現可能になり、仕事に大きな変化をもたらす。そんなことが当たり前のようにあるので、日々情報収集が大切だと痛感するところです。そんな中、先日とあるフィードから面白いデータベースを見つけました。
まず一般論としてデータベースには大きく2種類あります。取引を記録、管理するのが目的のトランザクション処理用のデータベースであるOLTPと、分析を行うためのデータベースであるOLAPです。
OLTPは大量の複雑なインプットを整合性を保って処理するのが目的で、OracleやPostgreSQLなど昔から「データベース」といえばこちらが主でした。
OLAPは分析に特化したデータベースで、インプットはあまり想定していません。ストックされた大量のデータをいかにして高速に処理してアウトプットするかに主眼を置いたタイプのものです。Amazon RedshiftやGoogle BigQueryなどは典型的なOLAPです。DuckDBはOLAPに位置付けられます。
データベースというのはサーバを用意して、あるいは誰かが用意した(ホストされた)サーバを使うのが一般的ですが、このDuckDBは1つのプログラムファイルがあれば実行可能で、さまざまなプログラム言語から呼び出して使うことも可能です。
SQLiteというローカルで動作するデータベースを意識して作られたもののようです。こちらは有名で、同様にインストール不要で手軽に使えるデータベースのソフトウェアです。私も以前ちょっとしたローカルでの分析をするときにSQLiteを使ったことがあります。しかしSQLiteはOLTP寄りで分析機能が弱く、関数もあまり充実していませんでした。個人情報が入っているので簡単にクラウドにアップロードして、というわけにはいかず、かといってローカルにPostgreSQLをインストールするのも面倒だし、そこまで高速ではないので抵抗がありました。SQLiteもいろいろやろうとすると結局コンパイルが必要で手間がかかるし、結局Rがいいのかなとか、いろいろ考えた記憶があります。
DuckDBはとにかく軽量で高速なOLAPです。動作するコンピュータのメモリ上で動作するので、メモリがあれば高速に動作します。まあ最近のPCではメモリが16GBとかあるのが当たり前なので、数百万行のデータも一瞬で処理ができてしまいます。
使い方はバイナリファイルを1個だけダウンロードし、それを実行します。するとクエリを実行できるターミナルになるので、
SELECT … FROM ‘ファイル名.csv’;
これでCSVファイルに対してクエリを実行することができます。SQLiteを使う場合ですらCSVファイルは別途コマンドで読み込む必要があります。データをインポートしたりテーブルを設計したりする必要なく、CSVファイルに対して直接SQLを書くことができるのです(きちんと使いたい方のために厳密にスキーマを定義することも可能です)。
手元でちょっとデータ加工や分析するのによく使われるのがPythonのPandasというライブラリですが、文法が覚えにくく、処理速度が遅い。Pythonで同じ処理をPandasではなくDuckDBを使って(Pythonから呼び出して使うこともできます)実行すると圧倒的に速いのです。Python使えなくてもSQL覚えていれば使えるし、最近GA4関連でSQLを勉強し始めた方にはおすすめです。関数が豊富で、PostgreSQL互換っぽい点も便利です。ウィンドウ関数や正規表現関数、統計関数も充実しています。
SQLの教科書では最初に環境構築でPostgreSQLをインストールするというのが定番になっていますが、いきなりハードルが高い。そもそもクエリを書くのと環境構築は別のスキルで、正直分析だけやりたい人に環境構築を求めるのは酷だと思います。
BigQueryはその点簡単で安価なのでいいのですが、やはり従量課金なのと、データをアップロードする必要がある点に抵抗がある人も多いです。
BigQueryのおかげでSQLが役に立つ場が増えたのは事実ですが、DuckDBってもっと間口を広げる可能性を秘めていませんか?こういうツールがあるからこそ、より一層SQLって便利だなと思うのです。
東京大学を卒業後、webマーケティングやサービス企画、システム開発などに従事。
デジタルマーケティングの世界に落ち着き、事業会社、広告代理店を経て2014年に独立。
現在は大小さまざまの事業会社、広告代理店などに対して、テクノロジー観点からデジタルマーケティングの支援を行っている。データ計測の設計、実装から分析、マーケティングオートメーションや広告運用などの施策との連携まで扱う。
さまざまな規模の経験から、企業の身の丈にあったデジタルマーケティングの企画に強い。フリーランスで活動していたが、2017年から法人化。
2024/05/23(木)
オンラインセミナー「今日から使えるヒートマップ超入門 ~読み解き方、ページ改善~」|2024/5/23(木)
Microsoft ClarityやUser Heatなど無料で使えるツールもあり、気軽な感覚で導入が増えているヒートマップ。導入はしたもの …
2024/04/11(木)
オンラインセミナー「GA4レベルアップ!「探索」徹底解説と「BigQuery」活用法」|2024/4/11(木)
本ウェビナーは「GA4には少し慣れてきたが、まだまだ活用できていない」「探索を使いこなしたり、BigQueryとの連携活用にもチャレンジして …
2024/03/14(木)
オンラインセミナー「なぜ私たちは自ら生み出したKPIに追われるのか?」|2024/3/14(木)
本ウェビナーでは、マーケター、データ分析者、事業の意思決定者ら、専門家にとって有益な場となるよう、名著「測りすぎ――なぜパフォーマンス評価は …
【コラム】測定への執着によって大切なものを見落としていないか
Yuwai株式会社 田中 広樹初めましてのかたも、二度目まして以上のかたもこんにちは、Yuwai株式会社の田中と申します。 運用型広告のコンサルティングを主とし、事業主の …
【コラム】車座分析のススメ サイト改善のよいタスクチームが組めるか?
アナリティクスアソシエーション 大内 範行前回は「広告予算再考」と題して「どんぶり勘定のススメ」について書きました。ただ、状況が悪化しているとはいえ、それでも広告は各プラットフォーム …
【コラム】ユニバーサルアナリティクス より自由度が高くなったことによる GA4 の弊害
株式会社JADE 村山 佑介こんにちは、株式会社JADEの村山です。過去にはa2iのセミナーで数回、Googleアナリティクス についてのセミナー等に登壇をさせていただ …