米アマゾン・ウェブ・サービス(AWS)が、同社への批判を繰り返す米オラクル(Oracle)に反撃した。2018年11月に開催した「AWS re:Invent 2018」の基調講演では、米アマゾン・ドット・コム(Amazon.com)で過去に起こったシステム障害が「Oracle RAC」のバグに起因していたことまで公表し、脱Oracleの歴史を解説した。両社の仁義なき戦いは過熱している。

 「2004年12月12日はアマゾンにとって史上最悪の1日だった。クリスマスを前に注文が非常に多くなるはずだったこの日、Oracle RACのバグが原因で顧客データベース(DB)が12時間ダウンし、それによってアマゾン全サービスも12時間ダウンしたからだ」――。

 AWS re:Invent 2018の11月29日の基調講演。アマゾンのヴァーナー・ボーガス(Werner Vogels)CTO(最高技術責任者)は冒頭でこう語り始めた。かなり異例のことだ。

米アマゾン・ドット・コムのヴァーナー・ボーガスCTO
米アマゾン・ドット・コムのヴァーナー・ボーガスCTO
[画像のクリックで拡大表示]

 ボーガスCTOはAWS re:Inventで毎年、システム開発の最新トピックスを解説する基調講演を行っている。2017年であれば機械学習やサーバーレスがテーマだった。

 2018年のテーマは「スケーラビリティー(拡張性)の高いシステムの開発の仕方」。しかしそれは表向きだけ。実際にはアマゾンが拡張性の高いシステムを実現するために、Oracle DBから「Amazon Aurora」や「Amazon DynamoDB」、「Amazon Redshift」といったAWS製DBへの移行を進めていることを力説したのだ。

 この基調講演がオラクルのラリー・エリソン(Larry Ellison)会長兼CTOへの反撃であることは明白だ。エリソン氏は2018年10月下旬に開催した「Oracle OpenWorld 2018」やアナリスト向けの説明会で「アマゾンは倉庫システムを(Oracle DBから)Auroraに移行し、システムをダウンさせた。アマゾンの内部文書を読むといい。アナリストの皆さんには喜んでコピーを配ろう」「Oracle DBから移行するのはとても難しい」などとアマゾンを挑発していたからだ。

Oracle RACが単一障害点に

 さらにボーガスCTOは、Oracle RACがクラスターの全ノードでストレージを共有する「Shared-Everything」型のアーキテクチャーであって、システムのSPOF(単一障害点)になっていたと指摘。DBを分割するシャーディングのようなシステム単位で拡張性や可用性を向上させる手法を取り入れただけでなく、Amazon Auroraを自ら開発することで、DB自体の拡張性や可用性を高めてきたと主張した。

 ボーガスCTOが特に強調したのは、Amazon Auroraの可用性の高さだ。AWSはAmazon AuroraでSQLクエリー処理やトランザクション処理といったデータを処理する層と、データを保存するストレージレイヤー層を分離。ストレージ層にはAWSが自社開発した分散ストレージを採用した。

 この分散ストレージはデータを6重化。AWSにおけるデータセンター群の単位である「AZ(アベイラビリティーゾーン)」に各2個ずつ、計3カ所に保存している。こうすることで3カ所のAZのうち1カ所がダウンし、さらにダウンしていないAZに保存された2個のデータのうち1個が利用できなくなったとしても、Amazon Auroraは処理を継続できるのだという。