データのサイロ化とコストの課題を解決する新しいデータ基盤とは
会社の経営でも何らかのプロジェクトを進める際にも、ビジョンがあることが前提となる。ビジョンの背景に"Why""What"があり、その解決手段に"How"がある。ノバセルでは「マーケティングの民主化」というビジョンを達成するために、データ基盤を軸に「データドリブンな意思決定を加速する」ことを掲げている。
ところで組織においてデータ基盤を構築する際の課題が、データのサイロ化だ。データが散らばっていると、どこに何があるかが分からなくなる。サイロ化の解消はデータウェアハウスだけでは難しいため、データ基盤のアーキテクチャにはデータレイクを取り入れることが多い。ノバセルでは「データレイクを支える最重要と言える"Single Source of Truth"の概念を、データプラットフォームの根幹に置きました」と言うのは、ノバセルのCTO 戸辺淳一郎氏だ。
もう1つの課題がコストだ。データウェアハウスにはAmazon RedshiftやGoogle BigQueryを使うことが多い。Redshiftは分析時に追加コストは発生しない代わりに、ストレージもコンピューティングリソースも常にコストがかかる。BigQueryは全体的には安価だが、分析の際にクエリーコストが発生する。例えば10億件のレコードから1件を見つけるようなクエリーを発行する際に、パーティショニングやインデックスの設定をしていないと、10億件の探索に対するコストがかかるのだ。
対してここ最近注目されているSnowflakeは、BigQueryと同様にクエリー実行時にコストがかかる。とはいえSnowflakeは、ユーザーがインデックスやパーティショニング設定などを意識せずとも、クエリーが最適化されチューニングの手間がない。Snowflakeは日本ではまだそれほど普及していないが、既に世界ではRedshiftやBigQueryをしのぐシェアがある。シェアが高いことは重要であり、広く使われていれば3rdパーティー製品が積極的にサポートすると戸辺氏は指摘する。
実は、従来型のデータウェアハウスとデータレイクは10年以上進歩のないアーキテクチャだ。そのためノバセルでは、データウェアハウスとデータレイクを分けない構成を考えた。それはデータの発生箇所となるデータソースがあり、それをサイロ化せずに使いやすく溜めておくデータゾーン、さらに蓄積したデータをBIツールなどで分析するデータコンシューマの構成だ。データゾーンは従来のデータレイクとデータウェアハウスに相当し「ここではぜひSnowflakeを使ってみてほしい」と戸辺氏は言う。
Snowflakeはデータレイクとデータウェアハウスを分ける必要がなく、半構造化データも構造化データも扱え、自由なフォーマットでデータを保存できる。従来型のデータウェアハウスのように書き込み時にスキーマが決まっていなければならないスキーマ・オン・ライトではなく、データ利用時にスキーマを定義すれば良いスキーマ・オン・リードに対応しており、データレイクのようにもデータウェアハウスのようにも利用できるのだ。
このノバセルのモダンなデータ基盤のアーキテクチャで、データソースからSnowflakeにデータ投入する部分で使われているのがtroccoだ。troccoがSnowflakeにいち早く対応しており、その上で国内の主要な広告プラットフォームを含むさまざまなデータソースに対応していることがポイントだった。「troccoはデータソースからノーコードでSnowflakeに取り込むことができ、なおかつバックエンドはコンテナになっているので、互いにパフォーマンスに影響を及ぼすことなく、実質無制限に並列処理が可能となっています」と戸辺氏。
またtroccoは、転送中のデータをバッファリングすることが出来るため、Snowflakeの稼働時間を最小限に留めることができ、コストの削減も図れる。これら一連のtroccoの処理はワークフロー機能を利用することで、簡単にジョブ管理を行うことができる。このようにノバセルでは、trocco、Snowflake、BIツールとしてRedashを組み合わせて、モダンなデータ基盤を構築した。この組み合わせで「サイロ化の課題、コストの課題を解決しています」と戸辺氏は言う。