顧客データを数ペタバイトも集めるのはクールだけど、でもそれをどうやって有効利用するのか? BlazingDBは、大量のGPUを使ってデータベースに対するSQLクェリを高速化する。同社はTechCrunch Disrupt SFのBattlefieldコンペで、そのソリューションの無料のコミュニティエディションを披露した。
複雑なSQLクェリは、実行時間が長すぎてこっちが眠ってしまいそうになることもある。それは、クェリをCPUが実行していて、必要十分なスケーリングができないからだ。
BlazingDBの協同ファウンダーでCEOのRodrigo Aramburuはこう言う: “サーバーをスケールアップすることはできるが、リニアー(線形)な処理の場合、効果的なサーバーの増設は難しい”。
データベースにGPUを使うのは、なかなかおもしろい。GPUは大量のタスクを並列に動かせるから、一部の限られた種類のタスクにとってはとても有利だ。とくに今では、画像処理や機械学習のアプリケーションでGPUが多用されている。でも、データベースでGPUを使うという話は、今回が初めてだ。
クラウドコンピューティングのおかげで、大量のデータをデータベースに保存することは、とても簡単になった。でも企業のデータベースは今では、アナリティクス(データ分析)のダッシュボードやビジネスインテリジェンスのためのツールなどを構築するためにも使われている。
このような、データベースの高性能な利用が求められる場面が、BlazingDBの出番だ。短時間で、集計をしたり、述語を使ったり、データベースの大量のエントリーを操作しなければならない。同社が顧客を受け入れ始めたのは2016年の6月だが、すでにFortune 100社に挙げられる大企業数社がBlazingDBを使っている。
Aramburu曰く、“彼らがそれまで使っていたツールはSQLの処理に数時間を要していたが、うちのツールなら数分だ。BlazingDBは何千ものコアを使って大規模な並列処理を行う”。
BlazingDBが実際に使うのは、Amazon Web ServicesやIBMのSoftLayer、Microsoft AzureなどのGPUインスタンスだ。だから企業はサーバーを(少なくとも今のところは)自分で管理する必要はないが、大量の機密データを扱うような企業はサーバーの自己管理を選んでもよい。
“うちのインフラストラクチャは、サーバーの種類やタイプを特定しない”、とAramburuは語る。“われわれが構築したコードベースは、そのための問題解決に尽力しているから、けっこう複雑だ”。
顧客は、そのほかのSQLデータベースと同じく、BlazingDBにプログラムでアクセスできる。たとえばPythonでETLのスクリプトを書いて、BlazingDB上のデータにアクセスしてもよい。
今BlazingDBのチームは6名だ。同社は今、大企業の顧客を獲得していくための概念実証の構築を、計画している。一方BlazingDBには無料のコミュニティエディションもあるから、ちょっと遊んでみることもできる。
SQLデータベースの企業というと、あまりセクシーには響かないが、BlazingDBがやってることはおもしろい。今、多くの企業がデータ駆動型になりつつあるが、BlazingDBは大量のデータから意味を見つけ出す作業を助ける。
-
blazingdb21.jpg
-
blazingdb2.jpg
-
blazingdb31.jpg
-
blazingdb11.jpg
-
blazingdb12.jpg
-
blazingdb3.jpg
Q&A
Q: これまでのどんなツールより速いようだが、切り替えの費用は?
A: コネクタを提供していますから、データが数テラバイトあっても、切り替えはかなり容易です。
Q: 御社のスライドにはDeepMindが登場するけど、AlphaGoもGPUを使っているからか?
A: あれはとても多層的なニューラルネットワークを使っていますが、それはGPUの集合で構成されています。
Q: このソリューションの欠点は何か?
A: トランザクション型のデータベースではないことです。その方面では、そんなに速くありません。また、SQLの規格のすべてを実装してはいません。ウィンドウファンクションやストアプロシージャはありません。
Q: 類似特許は存在していないか?
A: 特許については詳しくないんですけど、既存のSQLツールをGPU利用バージョンに改装しているところは、いろいろあります。われわれは、スクラッチから(ゼロから)スタートしました。
[原文へ]
(翻訳:iwatani(a.k.a. hiwa))