Amazon S3がこれまでの「結果整合性」から「強い一貫性」サポートへ。データを更新直後でも最新データの読込みが保証されるように
Amazon Web Services(AWS)は、オブジェクトストレージサービスのAmazon S3で「Strong Consistency(強い一貫性)」をサポートすることを明らかにしました。
すでにAmazon S3で有効になっており、追加料金は発生せず、性能低下もないとのこと。AWS re:Invent 2020の基調講演では発表されておらず、ブログで発表されました。
これまでAmazon S3では、データ整合性がつねに保証されるものではない「結果整合性」のみをサポートしていました。そのため、データをAmazon S3へ保存した直後やデータの変更を行った直後に別のプロセスからそのデータにアクセスしようとすると、まだ保存されていない、あるいは変更されていない状態に見える可能性がありました。
「強い一貫性」ではこのようなことは起こらず、あるデータの追加や更新が行われれば、その直後から必ず追加後や更新後の状態が取得できるようになります。
下記は「Amazon S3 Strong Consistency」の説明からの引用です。
After a successful write of a new object or an overwrite of an existing object, any subsequent read request immediately receives the latest version of the object. S3 also provides strong consistency for list operations, so after a write, you can immediately perform a listing of the objects in a bucket with any changes reflected.
新しいオブジェクトの書き込みや既存のオブジェクトの上書きに成功した場合、その後の読み込み要求において、即座にオブジェクトの最新バージョンを取得できます。S3はリスト操作にも強い一貫性をサポートしているため、書き込み後は、変更が反映されたバケット内のオブジェクトのリスト操作をすぐに実行できます。
Amazon S3の標準的な動作では、データに対する操作はつねに同一リージョン内の3つのアベイラビリティゾーンにレプリケーションされます。このレプリケーションが完了する前に別のプロセスからの読み込み要求があるケースなどで、これまで一貫性が崩れることがあったわけです。
これまでストレージのスケーラビリティや耐久性の面でAmazon S3を使いたいけれど、一貫性の面で課題を抱えていたユーザーにとっては待望の機能といえるでしょう。
Amazon S3が一気に強い一貫性を実現できた背後にあるもの
オブジェクトストレージの一貫性については、すでにGoogle Cloud Storageが以前から強い一貫性を提供していました。この面ではAmazon S3が後れを取っており、今回それに追いついた形になります。
Google Cloud Storageは、メタデータの管理をトランザクションレベルで一貫性を持つ大規模分散データベースのCloud Spannerへ移すことでリストレベルにまで及ぶ強い一貫性を実現したことを明らかにしています。
今回Amazon S3が強い一貫性を全リージョンで一気に実現できた背景には、おそらく同様の仕組み、すなわち地理的な意味でグローバルな広がりを持ちつつ、オブジェクトやデータの管理につねに整合性を持たせるデータベースの存在があるのではないかと想像しますが、AWSはそれらについては明らかにしていません。
もしかしたら今後、Google Cloud SpannerのようなデータベースがAWSの新サービスとして登場するのでしょうか。
AWS re:Invent 2020:バックナンバー
- [速報]AWS、クラウド基盤にMac mini(Intel)を組み合わせた「Amazon EC2 Mac instances for macOS」発表
- Amazon S3がこれまでの「結果整合性」から「強い一貫性」サポートへ。データを更新直後でも最新データの読込みが保証されるように
- Raspberry PiでAWS互換のコンテナ環境を作れるAmazon ECS Anywhere。AWSがコンテナとKubernetesでハイブリッドクラウド/マルチクラウド対応へ大きく踏み出す
Andy Jassy Keynote
- [速報]AWS、オンプレミス向けコンテナ基盤ソフトウェア「Amazon ECS Anywhere」「Amazon EKS Anywhere」発表、オープンソース化も。AWS re:Invent 2020
- [速報]AWS Lambdaがコンテナイメージをサポート、関数として実行可能に。AWS re:Invent 2020
- [速報]AWS、Docker Hubの代替を狙う「Amazon Elastic Container Registry Public」提供開始。AWS re:Invent 2020
- [速報]Aurora PostgreSQLにSQL Server互換レイヤを実装する「Babelfish for Aurora PostgreSQL」発表。オープンソースとしても公開へ。AWS re:Invent 2020
- [速報]「Amazon DevOps Guru」発表。DevOps関連の設定ミスやコードの問題などを機械学習が指摘してくれる。AWS re:Invent 2020
- [速報]AWS、ピザボックスサイズのAWS Outpostsなど小型化した2機種を発表。AWS re:Invent 2020
- [速報]AWS、電話の音声でリアルタイムにユーザー認証を行えるコンタクトセンター向けサービス「Connect Voice ID」発表。AWS re:Invent 2020
- AWS、新たな独自プロセッサ「AWS Trainium」発表。機械学習のトレーニング処理に最適化、テラフロップス級の性能を発揮。AWS re:Invent 2020
AWS Partner Keynote
Infrastructure Keynote
Werner Vogels Keynote
あわせて読みたい
[速報]AWS、SaaS構築のフレームワーク「AWS SaaS Boost」発表。ISVがすぐにSaaSを提供可能。AWS re:Invent 2020
≪前の記事
オラクル、MySQLにOLAP用の独自インメモリデータベースエンジンを搭載、「MySQL Analytics Engine」をOracle Cloud上で提供開始