マイクロサービスで扱う複数のデータタイプをシンプル化
マイクロサービスの中では様々なデータタイプを扱うため、複数のデータベースを使い分けることでサービスを成り立たせるケースは多い。これに対してOracleは、複数のデータタイプを1つのデータベースで実行するコンバージドデータベースを提供する。分散型のアプリケーションの開発を、オラクルの技術でどのように効率化できるのか、人見氏はオンラインストアのアプリケーションを例に解説した。
分散型のアーキテクチャでは、オンラインストアのプロセスをサービスに分解することで、マイクロサービス化する。通常は、各マイクロサービスの下に“目的データベース”が用意され、複数のデータベースやオブジェクトストアになる場合もある。それらは、Kafkaなどのイベントプラットフォームを用い、コード化されたイベントでアプリケーションレベルの連携が行われる。また、データ変更も同時に行われ、データ変更イベントも実行されるため、「これはかなり複雑なアーキテクチャとなり、トラブルシューティングやアプリケーションの変更をシンプルにできないのが課題となります」と人見氏は指摘する。
一方、オラクルでは複数のデータタイプを1つのコンバージドデータベースで扱えるため、データマネジメントはシンプルになる。マイクロプロセスごとの複数データベース管理は、データベースのコンテナ技術により、物理的なデータベースの中にコンテナ化したデータベースを複数運用することで一括管理可能だ。
また、「Kubernetes Operator」を使い、Oracle Databaseの中のコンテナ化されたデータベースも制御できる。これらでたとえば、Kafkaに投げるようなイベントをデータベースのトランザクショナル・イベント・キューに置き換えることで、アプリケーションのイベントとデータベースにおける複数のトランザクションを、1つのトランザクションとして利用することができる。
そして「Autonomous Database」を使えば、アプリケーションを運用する環境の管理でも苦労しない。これらでアプリケーションのイベントからデータのイベント、アプリケーションの開発などをまとめることで管理を効率化、シンプル化できる。このようにオラクルでは、分散アプリケーションに対してデータテクノロジーを使い貢献できるところが多分にあるという。
オラクルではデータベースの機能を継続的に拡張しており、たとえば「ブロックチェーン・テーブル機能」で改変できないデータベースを実現しており、他にもJavaScript、JSON型、SQLマクロもデータベースの中でネイティブにサポートしている。データ分析についても、機械学習を行う機能、機械学習のモデル構築やチューニングを自動化する機能もデータベースの中に実装している。「データをコンバージドデータベースの中に入れておくことで、様々な機械学習技術を活用し分析できます」と人見氏は語る。
さらに、新しいハードウェア技術の永続メモリの活用にも取り組んでおり、大量のデータをより高速に処理できるという。その上で「忘れてはならないのがセキュリティです。DXを進める中でサイバーセキュリティを無視することはできません。オラクルでは、それをデータのレベルで実践していきます。データ中心のゼロトラストアーキテクチャを実現するために必要なテクノロジーも、データベースの中に入れています」と説明する。
また、データベースを動かすインフラとしては、Oracle Exadataを2008年から提供している。世代を経るごとに進化しており、機能/性能ともに向上。Exadataは引き続き巨大なデータベースに向いたプラットフォームとしてだけでなく、分散アプリケーションのような複数の小さなデータベースを効率的に運用することにも向く。Exadataはパブリッククラウドでも、企業のデータセンターで使う「Cloud@Customer」モデルでもサブスクリプション型で利用できる。
そして、Exadataで利用できる自律型のデータベースが、Autonomous Databaseだ。様々なログデータを収集しながら機械学習を用い自律的に運用され、スケールアウト、スケールダウンやセキュリティパッチの適用なども自動で行う。多くのデータベース管理者が悩むチューニングも、速くなるパターンが見つかればそれを自動で適用することもできる。チューニングサイクルを回すことで、常に安定した性能を確保可能だ。
Autonomous Databaseは、トランザクション処理でもデータウェアハウスでも、他社のデータベースサービスよりTCO(Total Cost of Ownership)が低い。これはOracleだけでなく、第三者機関が証明していることだと人見氏は説明する。そして性能面だけでなく、データベースに入ってきたデータからインサイトを引き出す部分において自動化も進めている。セルフサービスツールを拡充し、その上で自社ツールだけでなく他社の分析ツール、基盤などとも連携することで幅広いエコシステムを実現している。