分散化するアプリケーションの開発に対応
DXの核心となるがデータマネジメント領域だ。人見氏はDXのためのデータマネジメントを実現する、オラクルのソフトウェア「Exadata」などのデータベースプラットフォームを構成するようなインフラ、自動化/自律化で進めるクラウドについて掘り下げて解説をした。
データマネジメント領域の製品やサービスは、企業のDXに関わる様々な立場の人にメリットを提供する。たとえば、アプリケーション開発者にとってもメリットがあるという。現在、アプリケーション開発において、大きなパラダイムシフトが起きている。よりシンプルで高速な開発が求められているが、これは重厚長大なアプリケーション開発を支えてきたデータベースアーキテクチャにとって新たなチャレンジとなる。
オラクルはミッションクリティカルな大規模なシステム、いわゆる中央集権型システムに広く採用されてきた。その中では複数のワークロードを統合して動かし、様々なデータを一元的に管理している。一方、今のトレンドは分散アプリケーションであり、「それらに対して、これまでのオラクルのテクノロジーはなかなか響かないかもしれません」と人見氏。しかし、これまでミッションクリティカルなシステムで培ってきたノウハウは、分散アプリケーションでも極めて有益だという。
現状、分散型のアプリケーションでは「Docker」や「Kubernetes」などのコンテナ技術を活用するのが普通だ。Oracle Databaseは、マルチテナント・アーキテクチャでデータベースの中においてコンテナを実現できる、「Dockerをフルにサポートしたデータベースでもあります」と人見氏。コンテナ管理のKubernetesとの連携も可能であり、これらでDevOpsを支える。
また、分散アプリケーションとの連携では、マイクロサービス間でアプリケーションやデータの変更などがイベントにより伝播するような使われ方もされる。それを支えるために、コーディット・イベントやトランザクショナル・イベント・キュー機能を提供し、データ・イベントを送る仕組みとして「Oracle GoldenGate Data Event」もあるという。
さらに、アプリケーションとデータベースの連携においては、「Oracle REST Data Service」によるAPI化もある。加えて、ノーコード、ローコード開発のAPEXがあり、開発、実行基盤を提供。アプリケーションのデータを地理的に分散した環境でも運用できるようにするため、シャーディング技術もOracle Databaseではネイティブにサポートしている。
マイクロサービスで扱う複数のデータタイプをシンプル化
マイクロサービスの中では様々なデータタイプを扱うため、複数のデータベースを使い分けることでサービスを成り立たせるケースは多い。これに対して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だけでなく、第三者機関が証明していることだと人見氏は説明する。そして性能面だけでなく、データベースに入ってきたデータからインサイトを引き出す部分において自動化も進めている。セルフサービスツールを拡充し、その上で自社ツールだけでなく他社の分析ツール、基盤などとも連携することで幅広いエコシステムを実現している。
レイクハウスで膨大なデータを迅速に分析したいニーズにも応える
次に人見氏は、データアナリストやデータサイエンティストに提供できるメリットについて、CERN(欧州原子核研究機構)の事例を紹介した。
CERNでは一周17kmの巨大なハドロン衝突型加速器を運用しており、加速器の安定稼働には600万におよぶ機器が安定して動く必要がある。そのために数百万個のセンサーからデータを収集し、故障などの予兆を推測しているという。
同機構では、これまでもオラクルの技術を活用し、メンテナンスのためのビッグデータ基盤を構築し利用してきた。現在はオラクルのパブリッククラウド使い、センサーから得られる1日あたり数ペタバイトにもおよぶデータをオブジェクトストレージに蓄積し、それを「Autonomous Data Warehouse」で分析しモデルを作りながらメンテナンス計画を立てている。
実際に日々入ってくるデータはデータレイクで管理し、データウェアハウスに渡すことで分析モデルの予測精度を上げるために使われるという。そのため、データの置き場所だけではなく高速な分析も求められる。また、データはAWSやAzureにもあり、マルチクラウド上のデータをデータレイクに集約し、処理する必要もある。
そこでCERNは、データレイクとデータウェアハウスを1つにしたレイクハウスを構築することでデータを統合し、サイロをなくしている。レイクハウスでは、オブジェクトストレージなどに生データや旧いデータを蓄積するデータレイクがあり、そのデータをカタログ化し、どこにどのデータがあるかを明らかにすることで分析のサイクルを回しているという。
このとき、データレイクとデータウェアハウス、そして分析に使うツール群をつなぐ必要があるため、データカタログが重要となる。Autonomous Databaseを使えば、データレイクとデータウェアハウスでデータカタログが共有化できる。「これは当たり前のようで難しいものがあります」と人見氏。データカタログでどこにどのデータがあるかを理解し、データベース、あるいはデータレイクにアクセスするかを動的に判断できる。また、データレイクが大きくなった場合でも、それに応えられるデータウェアハウスでなければならない。それらに対応できる技術がAutonomous Databaseの中にあるという。
最後に人見氏は、「オラクルはデータをテクノロジーの視点から、アプリケーション開発者、データベース管理者やデータベースアーキテクト、そしてデータアナリストとデータサイエンティストがDXを進めていくために欠かせない技術を提供していく」と講演を締めくくった。