座談会参加者
- アップタイム・テクノロジーズ合同会社 永安悟史氏
- 株式会社アイ・ティー・ワン 恩田佳弥氏
- ミック氏
- 株式会社ラック 斉藤大輔氏
- IBM 苧阪浩輔氏、野間愛一郎氏
モデレータ
- DB Online チーフキュレータ 谷川耕一氏
Db2が指向する「HTAP」はどんな可能性を切り拓くのか?
谷川氏:データベース業界では最近、「HTAP(Hybrid Transaction/Analytical Processing)」が話題になっています。一言で言えば「トランザクション処理と分析処理を同じインメモリデータベース上で処理する」というコンセプトに基づく技術や製品のことを指しますが、Db2はこのHTAPに対して独自のアプローチをとっていると聞いています。
野間氏:他社のデータベース製品が、同じデータベースの中にトランザクション処理用の行指向テーブルと、分析処理に最適化した列指向テーブルを混在させるハイブリッド戦略でHTAPにアプローチしているのに対して、IBMは「BLUアクセラレーション」のインメモリ列指向テーブルの更新処理を速くすることでHTAPを実現しようとしています。
斉藤氏:列指向テーブルだけで、トランザクション処理と分析処理の両方をまかなおうというわけですね。大変興味深いアプローチですが、メモリの消費量やディスクへの書き出し量が多くなったりしないか、正直少し心配な面もあります。
ミック氏:そうですね。HTAPのアイデア自体は昔からあったのですが、その実践に当たっては、リソース制御がうまくいかずに頓挫することが多かったように記憶しています。情報系はリソース食いなので、物理的なシステムリソース(CPU、メモリ、ストレージ帯域など)を共有すると、基幹系を巻き込んでスローダウンやシステム障害を起こしてしまうことがたびたびありました。また、仮にリソースの問題が解決できたとしても、そもそも基幹系データベースが分析処理を前提に設計されていないので、単純にデータを共有するだけでは分析に耐えられないという問題もあります。逆に言えば、基幹系データベース側で初めから分析を意識したテーブル設計が行われていれば、HTAPの実現性も高まりますし、私たちデータベースにかかわる現場の技術者にとってもメリットは大きいと思います。
恩田氏:それはあるかもしれませんね。現状では、カタログやメタデータの情報をきちんと作ったり、基幹系から情報系にデータを移す際のETLでいろんな前処理を行ったりすることでギャップを埋めていますから、もし基幹側で分析を考慮したデータモデリングを行ってくれれば、前処理はかなり楽になるはずです。
永安氏:私は普段、まさにそうした前処理の仕事ばかりをやっている「マエショリスト」を自任しているのですが(笑)、そうした連携を可能にするためには、サービス担当者と分析担当者の連携が必須だと考えています。DevOpsで運用者と開発者が連携するのと同じようなイメージですね。もしこれが可能になれば、コード体系も整理できますし、いろんなメリットが見込めると思います。
谷川氏:確かに、DevOpsのような取り組みとHTAPとの間の親和性は高そうですね。
永安氏:HTAPに関しては、具体的なユースケースのイメージがもっと見えるようになると、使い道やお客様への提案内容も明確になってくるのではないかと思っています。確かに、オンライン系の機能と分析系の機能を融合させたハイブリッドアプリケーションの価値は高いと思いますが、そうしたアプリケーションを開発するのは現実的にはかなりハードルが高いのが実状ですから、HTAPによってそのハードルがぐっと低くなるのであれば、大いに期待できると思います。
ミック氏:HTAPの基盤に分析系のツールなどを組み合わせたパッケージソリューションのような形が、一番分かりやすいのかもしれませんね。ただ個人的には、これまで基幹系データベースと情報系データベースの融合に果敢にチャレンジして失敗に終わったプロジェクトを幾つも間近で見てきたので、HTAPのコンセプトは正直「ちょっと怖いなあ」という印象も拭えないんですよね……目指す価値のある理想だとは思うのですけど。
クラウド上での情報系データベース運用はもはや当たり前
谷川氏:クラウドについても、ぜひ皆さんの見解をうかがえればと思っています。少し前までは、「クラウド上でリレーショナルデータベースを動かすなんて無謀だ」と言われていましたが、今ではわりと当たり前に使われていますよね。
永安氏:基幹系はともかく、情報系に限っていえばわりと普通になってきています。皆さんもうある程度経験も積んで、いろんな課題や落とし穴も見えてきていますし、結構こなれてきた印象を持っています。私自身は基盤系のエンジニアなので、どうしても「自分でコントロールしたい」という欲求が強いのですが、でも費用対効果を考えるとやはりクラウドへの移行は避けられないでしょうね。
恩田氏:そうですね。クラウドに上げるデータの種類にもよると思いますが、外部に出すことにあまり抵抗がない情報系のデータであれば、クラウドデータベースはだんだん当たり前になりつつあると思います。またクラウドには、GCP(Google Cloud Platform)のBigQueryのように、データベースエンジニアが不要と言われるデータベースサービスもあります。これらはオンプレミスで使われてきたリレーショナルデータベース製品とは、かなり作法が異なるのですが、その違いを理解した上で使いこなせると大きな武器になります。
ミック氏:確かに、クラウドを利用する際には、これまでとはある程度考え方を切り替える必要がありますね。例えばデータベースの可用性を担保するにしても、オンプレミスでやっていたように「共有ディスクベースで待機系を組んでクラスタリング」という方法ではなく、「レプリケーションであちこちのロケーションにデータを飛ばしてプライマリ・セカンダリの構成を組む」といった具合に、クラウドのやり方に頭を完全に切り替えて、そのサービスレベルの範囲内で満足できるのであれば、クラウドのデータベースは全然アリだと思います。
斉藤氏:私も個人的にはアリだと思っています。ただ、一時期言われたようなクラウドのセキュリティに対する不安はかなり払拭されたとはいえ、まだまだ見えない部分も多いので、実際には外に出すデータと内部できっちり守るデータをきちんと分ける必要はあるでしょうね。
谷川氏:確かに、クラウド上でデータベースを使うといっても、実際には仮想ネットワークで接続してほぼプライベートクラウドと同じ状態で使っているケースがほとんどですからね。
野間氏:そんな中、IBMでは「Db2 Warehouse on Cloud(WoC)」を筆頭に、クラウド上にDb2でDWHを作るという戦略を最近明確に打ち出していますが、これについてはどんな感想をお持ちですか?
斉藤氏:小さく始めて大きく育てられるというのがクラウドの大きなメリットの1つですが、これはDWHと極めて相性がいいといえます。昔ならたとえDWHであっても、あらかじめデータベースのキャパシティプランニングを厳密に行う必要がありましたが、クラウドなら将来どうキャパシティが増減するか分からないシステムでも、小さい規模からスモールスタートできます。
苧阪氏:Db2 Warehouse on CloudはAWSのRedshiftと同じくMPP構成 (超並列処理)をとっており、スケーラビリティに優れています。また、自動的なデータ圧縮や暗号化、索引のチューニングコストを大幅に削減する、といったテクノロジーを押し出しており、 他ベンダーのクラウドサービスと比べた場合、エンドユーザーにとっての使いやすさ(LOAD&GO)を重視しています。
恩田氏:がちがちのインフラ系の人にとってはRedshiftのようなサービスがいいのかもしれませんが、「データはあるので、今すぐ分析したい!」というニーズを持っているお客様に対案する場合には、GUIベースで簡単に使えるDb2 Warehouse on Cloudの方が向いているかもしれませんね。
Db2の良さがこれからも広く知られるために……もっと情報を!
谷川氏:ちなみに皆さんは、これまでさまざまな立場からDb2とかかわってこられましたが、現在どんな思いをDb2に対して抱いていますか? あるいは、今後どのようなことをDb2に望みますか?
永安氏:Db2はどちらかというと「大企業向けのデータベース製品」という印象が強かったのですが、最近はクラウドでかなり身近な存在になってきたので、私たちのような規模の小さい企業にとってはありがたいですね。その半面、情報になかなかアクセスできないという点については、昔からあまり変わっていないという印象です。たとえブログでもいいので、「ここさえ見ていれば常にキャッチアップできる」という場があるととても助かりますね。
恩田氏:私はやっぱり、初めて触れたリレーショナルデータベース製品がDb2だったので、Db2ならではの「頑固さ」がずっと好きだったんですが、あるときから急に路線変更して、「オラクル互換が云々」と言い始めたあたりからちょっと違和感が……でもロゴも変わって、現代風になったDb2も決して嫌いじゃないです!
谷川氏:あまりフォローになっていないと思いますが(笑)。
恩田氏:あと私も、もうちょっと情報があるといいなと思います。Db2の本を図書館に借りにいっても、英語の分厚い書籍か、下佐粉さんが書いた本『即戦力のDB2管理術 ~仕組みからわかる効率的管理のノウハウ』しかなくて。
同席していたIBM関係者:一同苦笑……
斉藤氏:でも今は、ネット上にだいぶ情報が集まってきていますよね。私はかなり長い間Db2を使ってきましたが、かつての古いバージョンのころと比べると、かなり資料も充実してきたと思います。あとDb2に関して個人的にいいなと思う点は、サポート体制ですね。IBMさんのサポート担当者は、他社のサポートサービスと比べてもかなり親切丁寧に対応していただいていると感じています。
ミック氏:ちなみに個人的には、WatsonでDb2の実行計画を自動チューニングしてくれるようになることを期待しています。AIで実行計画を自動チューニングするというのは、もう決して夢物語ではないと思っていますし、もしこれが実現すればデータベースエンジニアは皆実行計画の悩みから解放されるはずです。
谷川氏:今日は皆さん、忌憚のない意見をありがとうございました!今日のHTAP話の続編として、翔泳社主催のイベント、data techにて公開収録という形でさらに掘り下げていきたいと思います。
【関連記事】
・本音で話そう、Db2の好きなところ、イマイチなところ
・IBM Db2を選んでみたらこうなった
・Db2の新たな方向性にデータベース技術者が思うこと
・今度こそ更新系と分析系は統合できるか?IBMが考えるHTAPのアプローチと現実