NoSQL の「先駆的取り組み」である Amazon DynamoDB の 10 年間のイノベーション

NoSQL の「先駆的取り組み」である Amazon DynamoDB の 10 年間のイノベーション

10 年前、Amazon Web Services は、あらゆる規模の環境で一貫して 1 桁のミリ秒の応答時間を提供する、高速で柔軟な NoSQL データベース サービスである Amazon DynamoDB を正式にリリースしました。

Amazon の最高技術責任者 Werner Vogels 氏はかつてこう語っています。「インターネット規模のアプリケーション向けに設計された、高速で信頼性が高く、コスト効率に優れた NoSQL データベース サービスである Amazon DynamoDB をリリースできることを非常に嬉しく思っています。」 Amazon DynamoDB は、大規模な非リレーショナル データベースとクラウド サービス テクノロジーに対する Amazon の 15 年間にわたる継続的な投資を表しています。

「私たちは 2007 年の論文で Amazon Dynamo の技術的な詳細を発表しました。これが最初の非リレーショナル データベースの 1 つとなる基礎を築きました」と Vogels 氏は述べています。 「オリジナルの Dynamo は、一連の強力な分散システム原則に基づいて設計されており、スケーラブルで信頼性の高いデータベース システムを実現しています。Amazon DynamoDB はこれらの原則に基づいて構築され、Amazon SimpleDB や Amazon S3 などの大規模な非リレーショナル データベースとクラウド サービスを実行してきた Amazon の長年の経験の成果です。当社の探求と経験が使いやすいマネージド サービスに反映され、お客様に提供されるのを見るのは、とてもわくわくします。」

Amazon Web Services のデータベース、データ分析、機械学習担当副社長である Swami Sivasubramanian 氏と Vogels 氏は、2007 年の Dynamo 論文の共著者です。 Swami は、Amazon リサーチ エンジニアとして勤務し、分散システム テクノロジーの設計、実装、分析に携わりながら、Amazon DynamoDB の開発に大きく貢献しました。

「私たちはデータと機械学習の『ルネッサンス』を経験しています」と、Amazon DynamoDB の発売 10 周年を記念してスワミ氏は語った。 「企業がこれらのデータベースにデータを保存し、Amazon S3 に独自のデータレイクをすぐに構築し、数週間または数日で Amazon SageMaker を通じてデータの分析と AI の有効化をすぐに開始できるようになったことは、本当に素晴らしいことです。お客様がデータからより迅速に洞察を得るのを支援できる機会に、私はとても興奮しています。お客様は本当に「データを活用して」、データ主導の意思決定を行いたいと考えています。ますます多くの CIO や企業が、これがデータ ユーザーにとっての「生き残りルール」になり、データを活用できる人が成功するだろうと認識し始めています。」

以下では、Swami が Amazon DynamoDB の起源、前身、そして将来について語ります。

ダイナモの起源について

Swami: Dynamo の論文は 2007 年に発表しましたが、このトピックについて議論する前に、2004 年と 2005 年にさかのぼる必要があります。当時、私は博士号取得に向けて研究しており (その後、2006 年にアムステルダム自由大学でコンピューター サイエンスの博士号を取得しました)、どこで働くかを検討していました。 Amazon が急速に成長し、常に限界を押し広げていることを知り、私は Amazon リサーチ エンジニア インターンとして Amazon に入社することを選びました。

当時は Amazon Web Services は存在していませんでした。Amazon に入社した後、Amazon は e コマース企業であると同時に、実はテクノロジー企業でもあることにすぐに気付きました。 Amazon は、e コマース事業に関連するさまざまな運用シナリオとワークロードをサポートするために、世界でも珍しい多数の革新的なテクノロジー、特許、発明を生み出してきました。

私が Amazon のエンジニアだったとき、私のチームと私は休日のトラフィックのピーク時に深刻なスケーリング障害を経験しました。これは、当時 Amazon が使用していた商用リレーショナル データベースによって発生したデータベース トランザクションのデッドロックが原因でした。障害発生後、当社のエンジニアのグループが協力して、何が起こったのか、何を学んだのか、どのように問題を解決したのか、そして再発防止策を詳細に説明したバグ修正ドキュメントを作成しました。

当時私が尋ねた質問は、「なぜこれらのワークロードにリレーショナル データベースを使用するのでしょうか。SQL レベルの洗練性とトランザクションの保証は本質的に必要ありません。」でした。

これにより、基盤となるデータ ストレージの設計方法を再考するようになりました。当時はスケーラブルな非リレーショナルデータベースが存在しなかったため、私たちは Amazon Dynamo のプロトタイプの作成と論文の執筆に取り組み始めました。実際、Amazon Dynamo は、当時エンジニアが考え、研究していた唯一のアーキテクチャではありませんでした。スケーラブルなストレージ システムも必要だと気づき、Amazon S3 が誕生しました。同時に、レプリケーション、フェイルオーバー、バックアップ/復元を自動化できる、管理しやすいリレーショナル データベースが必要とされていました。そこで Amazon RDS が登場しました。

私たちが最初に Dynamo の論文を書いたとき、開発中は元の設計を公開せず、まず複数の Amazon.com サービスをサポートする実際の運用環境で Dynamo を実行するというルールがありました。このように、Dynamo の論文は、実用的なアプリケーション経験を備えたエンドツーエンドの使用可能なソリューションになります。ヴェルナーと私は、ただ学術論文を書きたいとは思っていなかったので、このことに非常に強い思いを持っていました。 10年後、Dynamo の論文も ACM Test of Time Award を受賞したことを大変光栄に思います。これは ACM が主催する SIGOPS 殿堂賞です。 2016年以来、過去10年間のテクノロジー界で最も影響力のある論文を選出しています。

Amazon DynamoDB を構築した当初の目的と過去 10 年間の進化

Swami: Amazon DynamoDB のアイデアは、SmugMug、Flickr などの顧客の CEO との会話や議論から生まれました。彼らはインターネットの特性を持つ最初の企業であり、当時は同様のインターネット企業が急速に市場に参入していました。典型的な特徴としては、オンラインユーザー数の爆​​発的な増加、不安定なデータパターン、迅速な配信と軽い運用・保守の追求などが挙げられます。従来のリレーショナル データベースでは、すべてのデータを 1 つのボックスに保存するため、効率的に拡張できず、ユーザーはデータベースを再シャーディングしてからすべてのパーティションと再パーティションを管理する必要があり、ユーザーにとって大きな運用上の課題とプレッシャーが生じます。

これは私たちにとっては目新しいことではありません。オリジナルの Amazon Dynamo は、これらの課題に対処するために構築されました。当時、Amazon Dynamo はサービスではなく、Amazon のエンジニアによって構築されたソフトウェア システムでした。顧客相談会で、当時 Flickr の CEO だったドン・マカスキル氏はこう言いました。「Amazon Dynamo を有効にして、スケーラブルな非リレーショナル データベース システムの実現可能性を検証しました。なぜそれを外部サービスとして提供できないのですか?」

当時、関係する Amazon Web Services マネージャー全員が出席していましたが、実は私たち自身も同じ疑問を抱いていました。それを必要とする顧客は Flickr だけではありません。パーティショニングや再パーティショニングなどの複雑な運用作業を行うことなくスケーラブルなデータベースを求める顧客が増えており、また極めて高い可用性も必要としています。そこで、SQL API に制限されないスケーラブルなクラウド データベースの構築について真剣に考え始めました。

Amazon DynamoDB は、オリジナルの Amazon Dynamo と同じではありません。これは実際には、いくつかのオリジナルの Amazon Dynamo コンポーネントから構築された、使いやすいクラウド サービスです。顧客はクラスターを構成する必要がなくなりました。データを格納するためのテーブルを作成するだけで、シームレスなスケーリングを簡単に実現できます。管理者は、データベースを操作するために、ライブラリを 1 つもインストールするなど、何もする必要はありません。

Amazon Dynamo から Amazon DynamoDB への進化は、Amazon がクラウドとその弾力性と拡張性を前例のない方法で真に受け入れたため、非常に重要です。

Amazon DynamoDB は 2012 年 1 月 18 日に正式にリリースされました。このサービスは開始直後から非常に人気となり、Flickr などの企業が最初に使用しました。 Amazon DynamoDB は、その強力な弾力性と 1 桁ミリ秒のレイテンシーパフォーマンスにより、顧客の間で人気があります。プロトコル層から SSD ストレージの基盤となるストレージ層やその他の機能に至るまで、多くの革新を行ってきました。

ここで言及しなければならない興味深いユースケースは、DynamoDB を本番環境に導入した最初の顧客の 1 つがスーパーボウル (スーパーボウル: ナショナル フットボール リーグの決勝戦 - 全国放送のスポーツ スプリング フェスティバル ガラ) の広告だったことです。 Amazon DynamoDB は非常に弾力性が高いため、1 秒あたり 100,000 回の書き込みまでシームレスにスケールアップし、スーパーボウル後にスケールダウンできるため、お客様は追加コストの発生を心配する必要がありません。当時、これはテクノロジー分野では大きな出来事でした。現在私たちが慣れ親しんでいる水平方向の拡張性と弾力性は、当時のデータベースでは想像もできないものでした。

それは大胆なアイデアでした。クラウド向けに構築された Amazon DynamoDB のアーキテクチャにより、あらゆるスケールアウトのユースケースが可能になります。 Amazon DynamoDB は現在、Alexa、Amazon のグローバル e コマース サイト、すべての Amazon フルフィルメント センターなど、トラフィック量の多いいくつかの Amazon サイトとシステムで使用されています。 2021 年、Amazon の 66 時間にわたるプライムデー プロモーション期間中、上記のサイトとシステムでは数兆回もの API 呼び出しが行われました。 1 桁ミリ秒のレイテンシーという高いパフォーマンスを誇る Amazon DynamoDB は、システムの高可用性を確保しながら、ピーク時の 1 秒あたり 8,920 万件のリクエストをシームレスにサポートしました。

Amazon DynamoDB は 2012 年にリリースされて以来、基盤となる可用性、耐久性、セキュリティ、スケールだけでなく、使いやすさの面でも多くの革新的な機能を追加してきました。

Amazon DynamoDB はキー値ストレージを超えて、ハッシュベースのパーティション分割と範囲ベースのパーティション分割をサポートし、セカンダリインデックスのサポートを追加することで、スケールや可用性を損なうことなく、より複雑なクエリ機能を実現します。

Amazon Kinesis Data Streams が Amazon DynamoDB で利用できるようになりました。これにより、スケーラブルなストリーミング データ キャプチャが可能になります。データベースは孤立したものではなく、行き止まりであってはならないと私は信じています。変化するデータ ストリームの生成をサポートし、これらのストリームを分析アプリケーションまたは他のデータ ストアに接続する必要があります。

同時に、バックアップやリカバリなどの機能も総合的に革新しました。数百万のパーティションを持つ Amazon DynamoDB のような大規模なデータベース システムの場合、バックアップとリカバリは簡単な作業ではありません。当社はイノベーションを通じてお客様に優れたエクスペリエンスを提供することに尽力しています。

また、Amazon DynamoDB のグローバル テーブルを作成する機能も追加しました。これにより、顧客はデータベース ワークロードをグローバルに簡単に拡張しながら、ローカルに近い読み取りおよび書き込みパフォーマンスを実現できます。さらに、Amazon DynamoDB はトランザクション処理機能を拡張しました。これらのイノベーションはすべて、Amazon DynamoDB の可用性とスケーラビリティを継続的に向上させるように設計されています。

当社は、お客様にさらに高いコスト効率を提供することにも注力しています。多くの場合、顧客はデータを長期間保存する必要があり、この古いデータにはほとんどアクセスされないとしても、必要な場合に備えて高い可用性を維持する必要があります。たとえば、ソーシャルメディアのユーザーが古いコンテンツや画像にアクセスすることはめったにありませんが、そのようなリクエストがあった場合は、そのコンテンツをすぐにユーザーに提供できるようにする必要があります。アクセス頻度の低いデータは顧客に高いストレージコストを課す可能性があり、このデータの量は増加し続けています。これまで、コストを最適化するために、顧客は、アクセス頻度の低い古いデータを Amazon DynamoDB から Amazon S3 などの低コストのストレージに移動するコードを記述していました。

re:Invent 2021 では、Amazon DynamoDB の高可用性とパフォーマンスを維持しながら、アクセス頻度の低いデータを保存するためのコスト効率の高い新しいテーブルクラスである Amazon DynamoDB Standard-Infrequent Access テーブルクラスをリリースしました。

当社は当初の目標に忠実であり続け、DynamoDB の当初のビジョンを常に指針として革新を続け、クエリが簡単なユースケースを顧客に提供し、複雑なグローバルトランザクションのレプリケーションなどをサポートし、管理コストを継続的に最適化しながら機能を継続的に拡張しています。

Amazon DynamoDB で次の 10 年を見据える

Swami: 10 年前に Amazon DynamoDB をリリースしたとき、顧客はクラウドそのもの、その利点、クラウドで何ができるのかをより深く理解し始めたばかりでした。

今日、クラウドは顧客が IT アプリケーションを構築するための新たな標準となり、スケールも新たな標準となり、すべてのアプリケーションは不確実性に基づいて構築される必要があります。当社はお客様のために革新を続けていきます。Amazon DynamoDB 自体も継続的な変化の道を歩んでいます。当社は、エンドツーエンドの最新データ戦略に向けて前進し続けています。前述したように、データベースは孤立した状態であってはなりません。

顧客は、データベースにデータを保存してクエリを実行するだけでなく、よりパーソナライズされた推奨エンジンを作成したり、機械学習を使用して予測分析を実行する予測システムを作成したりして、そのデータを分析して価値を生み出す必要があります。私たちの終わりのない追求は、データストリームをポイントツーポイントでシームレスに接続し、Amazon DynamoDB をより安全で、高可用性、高性能、そして使いやすいものにし続けることです。


<<:  サイバー犯罪者は主にランサムウェアやクリプトジャッキングを使ってLinuxベースのシステムに焦点を当てている

>>:  Kubernetes を強化するための 6 つのヒント

推薦する

ファーウェイクラウド最高製品責任者の郭偉関氏:フルスタックのクラウドネイティブ技術が金融業界のイノベーションのボトルネック打破に貢献

9月16日、中軟国際ホールディングス株式会社主催の「中国生命保険技術応用サミットフォーラム2021」...

エイプリルフールにウェブサイトのトラフィックを増やす素晴らしい方法

今日は 4 月 1 日です。友人の皆さんにお知らせしたいのですが、今日はエイプリル フールなので、騙...

大規模インターネットに不可欠なアーキテクチャ技術: 高性能 + 分散 + オープンソースフレームワーク + マイクロサービス

一部の Java プログラマーにとって、Java アーキテクトはキャリア目標として考えるべきものです...

香港沙田CN2: pzea-9 USD/KVM/windows/1G RAM/20G HDD/無制限トラフィック

pzea.com の香港沙田データセンター VPS 補充。すべてのマシンはセルフホストされ、CN2 ...

垂直ウェブサイトの開発に関する議論 - Hupu は時間とともに成長します

[コアヒント] 特定の分野や特定のニーズにおいては、より専門的なサービスとより深いコンテンツを備えた...

滴滴出行と快滴行は過去2ヶ月で15億ドルを燃やした。彼らのゴッドファーザーであるテンセントとアリババは補助金を完全に停止しようと共謀した

滴滴出行と快滴行は過去2ヶ月で15億ドルを燃やした。彼らのゴッドファーザーであるテンセントとアリババ...

addressnode-$7/4IP/1gメモリ/15gSSD/1.5Tトラフィック/ダラス

addressnode サーバーはダラスにあり、openvz をベースとし、純粋な SSD ハード ...

ウェブサイトSEOの不変の原則

1. コンテンツの永続性ウェイトの低い新しいサイトの場合、まずコンテンツの方が重要であり、直接コピー...

1日あたり10万IPの映画サイトを取得するにはどうすればいいですか?映画館運営計画

ネットワーク帯域幅が増加し続けるにつれて、ますます多くのネットユーザーが映画やテレビをオンラインで視...

Linux 仮想マシン (CentOS) のチュートリアルについては、この記事をお読みください。

[[426552]]この記事はWeChatの公開アカウント「Mu Xiaonong」から転載したもの...

病院のプロモーションに欠かせないソフト製品について簡単に説明します

ご存知のとおり、今日の病院はかつてのような影響力を失っています。私たちはよく「ああ、体調が悪いから、...

マイクロサービスアーキテクチャにおける分散トランザクションの処理について知っておくべきこと

マイクロサービス アーキテクチャの創始者である Martin Fowler のアドバイスによると、マ...

alpharacks-$7/Windows/メモリ1g/ハードディスク30g/トラフィック1T

若い皆さん、Alpharacks は Windows 2008 Server のライセンス版である ...

予算を超過せずにクラウドに移行する方法

企業が IT のアップグレードを必要とする場合、業務をクラウドに移行することが解決策となるでしょうか...

Alibaba Cloudは、必要なエンタープライズレベルのクラウド災害復旧を提供します

[51CTO.comより引用] データは数千万点あり、安全性が第一です。企業のデジタル変革が急速に進...