Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

Oracle Databaseのブロックチェーン、マイクロサービスなど新技術との親和性とは?

edited by DB Online   2019/12/17 06:00

 ここ最近は機械学習やブロックチェーン、マイクロサービスなどがIT業界における注目の技術キーワードだ。多くの製品やサービスがこれら技術を取り込んでいたり、対応するアーキテクチャになっていたりする。そんな中で老舗リレーショナル・データベースのOracle Databaseも「これら新しい技術を活用して、よりユーザーにとって使いやすいデータベースになることを目指しています」と言うのは、Oracle High Availability and Emerging Tech担当 シニア・バイスプレジデントのウェイ・フー氏だ。新しい技術を取り込んで進化するOracle Databaseの動向について、フー氏に話を訊いた。

Oracle Databaseのマルチテナント機能はマイクロサービスにもサーバーレスにも最適

Oracle Databaseのマルチテナント機能

顧客が求めるデータベースの姿

Q:Oracle Databaseは、マイクロサービス化した新しいクラウドネイティブなアプリケーションの開発や運用には向いていないとの話もありますが。

フー氏:それは誤解です。Oracle Databaseはマイクロサービスに最適なデータベースです。他のクラウドベンダーのように、目的ごとにさまざまなデータベースを用意するのは得策ではありません。たとえばAmazon Web Services(AWS)では、シングル・パーパスなデータストアをたくさん用意しており、使いこなすにはユーザーはそれら異なるデータベースを全て扱える必要があるでしょう。また、それぞれのデータストア用に、データもコピーしなければなりません。結果的にデータ基盤のアーキテクチャは複雑になり、さらにリアルタイム性も損なわれます。データの一貫性を保つのも難しくなり、外部からの攻撃ポイントも増えるはずです。データストアがたくさんあれば、それぞれにパッチを当てるのも大変です。

 Facebookのような大規模なSNSを自分たち運用できるような企業であれば、そういった複雑なアーキテクチャでも問題ないかもしれません。しかしながら一般の企業ではそうではありません。対してOracleでは、かつての携帯電話やデジタルカメラなどの技術動向から学んでいます。それらの技術は、今は全てスマートフォンに集約されています。つまりスマートフォンは、コンバージド型デバイスになっているからこそこれだけ普及しているのです。

 Oracle Databaseもコンバージド型のデータストアです。1つのデータベースで、さまざまなことができます。データタイプが異なっても、データは1つのOracle Databaseに集約されます。集約されているデータを使って分析もできれば、機械学習を使い予測もできます。目的ごとにデータストアを用意する必要はなく、1つのデータストアでさまざまなことができるので、運用管理は容易でデータの一貫性も保たれます。Oracleでは目的ごとに専用のデータベースを持つよりコンバージド型が良いと考えています。これは、調査会社のガートナーなども同じような見解です。

Q:コンバージド型のOracle Databaseでクラウドネイティブなコンテナベースのアプリケーションは、どのようにして構築することになるのでしょうか。

フー氏:Dockerコンテナの中にアプリケーションがあり、Kubernetesがコンテナオーケストレーションする構成は他のクラウドベンダーなどと同じです。この構成では、それぞれのアプリケーションが個別のデータベースにアクセスします。その際にOracle Databaseなら、マルチテナント・データベースの機能を使いマイクロサービスのアプリケーションごとにプラガブルデータベース(PDB)与えます。これはマイクロサービスの分散型アーキテクチャと、1つのデータベースの中でマルチテントの構成が撮れるOracle Databaseの「いいとこ取り」となります。複数のアプリケーションごとに個別のデータベースを持っているように見えますが、管理するのは1つのOracle Databaseで良いのです。

 このような使い方をしている事例が既にあります。中国の電力会社では、中国に住む11億人の人たちに安定した電力を供給するために、拡張性と可用性の高いアプリケーション環境が必要でした。アプリケーションの拡張性と可用性はマイクロサービス化で確保し、データベースの可用性はOracle DatabaseのPDBを使ったデータベース・シャーディング技術で担保しているのです。

Q:クラウドネイティブなアプリケーションとしては、サーバーレスも話題です。Oracle Databaseではサーバーレスにはどのように対応するのでしょうか。

フー氏:サーバーレスにも、マイクロサービスと同じマルチテナントのアーキテクチャで対応できます。仮に6つの種類のデータストアがあれば、サーバーレスの仕組みでそれらにアクセスするためには、データストアごとに異なる6種類のAPIを使うことになるでしょう。また利用したいデータが複数のデータストアに跨がっていれば、どこかのデータストアに一旦データを転送し、そのデータストアに合わせ変換する必要もあるかもしれません。マイクロサービスのアプリケーションでも、サーバーレスでの処理でも、たくさんのデータストアがあればデータアクセススのための複雑さは変わらないのです。

 また、「エラスティック・スケーリング」と呼ばれるような柔軟な拡張性を実現するために、要求があったときにだけサーバーを立ち上げ処理することもできます。これにはOracle Autonomous Databaseで、既に応えています。たとえば使わない週末は、データベースを落としておくことが可能です。マイクロサービスでもサーバーレスでも、データがストレージにあることには変わりはないのです。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリストとして、クラウド、データベース、ビッグデータ活用などをキーワードに、エンタープライズIT関連の取材、執筆を行っている。

バックナンバー

連載:DB Press

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5