コラムバックナンバー
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年から法人化。
2023/02/15(水)
オンラインセミナー「エクセルを使ったはじめての統計解析」|2023/2/15(水)
本セミナーではエクセル(Googleスプレッドシートでも可)を使った統計解析の基本を学ぶことができます。 参加者には講師からサンプルデータの …
2023/01/18(水)
オンラインセミナー「Google アナリティクス 4 Q&A祭り」|2023/1/18(水)
皆さんのGoogle アナリティクス 4(GA4)に対する疑問を、エキスパートが解決していきます。 GA4に対して導入設定や活用方法もまだま …
2022/12/21(水)
オンラインセミナー「Looker Studio(旧データポータル)活用術~ GA4・SEO編 ~」|2022/12/21(水)
今年はGA4移行イヤーということで、多くのサイトでユニバーサルアナリティクスからGA4への移行が進んだことと思います。 ではこのGA4のデー …
ベストプラクティスやノウハウは、標準化したりアウトプットにまとめられたりすると徐々に陳腐化していきます。「自社独自のノウハウ」として同じ手法 …
【コラム】個人の行動をトラッキングする技術と、それを制限するITPなどの技術
Option合同会社 柳井 隆道Googleアナリティクスやアプリの行動履歴ログというのはつまるところ個人の行動をトラッキングしているわけです。今回はこの「個人の行動をトラ …
【コラム】学習済みAI:メルマガのテーマをChatGPTに聞いてみました
株式会社Rejoui 菅 由紀子昨年12月にローンチされたChatGPTが話題です。 ChatGPTは革新的なAIを生み出して世界中の注目を浴びているOpenAIによっ …