分散SQLデータベースの新たな進化の方向性

分散SQLデータベースの新たな進化の方向性

[[335933]]

[51CTO.com クイック翻訳] 組織が次々とビジネスをクラウド環境に移行するにつれて、いくつかの最も重要なアプリケーションの背後にある古いリレーショナルデータベースは、移行の速度を制限するだけでなく、柔軟なビジネス拡張を効果的に実現できないことにすぐに気付きました。多くの企業は、クラウド サービスによってもたらされるスケール効果とグローバルな安定性を享受しながら、Oracle、SQL Server、Postgres、MySQL などのリレーショナル データベースの信頼性を維持したいと考えています。

このようなニーズを満たすために、人々は NoSQL データベースに目を向け始めました。しかし、NoSQL は真の一貫性を提供するように設計されていないため、トランザクション データベースとして使用することはできません。もちろん、「ACID トランザクション」を提供すると主張する最近の NoSQL ソリューションもいくつかあります。ただし、財務台帳、在庫管理、ID 管理などの重要なタスクに必要なレベルの分離を提供することはできません。

分散SQL - 新しいデータベース

2012 年に、Google は Spanner に関する論文を発表しました。この記事では、分散システムに基づいてグローバルに拡張できる新しい分散データベースを紹介します。一般的に、Google Cloud Spanner は、スケーラブルでマルチバージョンの、同期的に複製されたデータベースです。これは、データをグローバルに分散し、外部的に一貫性のある分散トランザクションをサポートできる最初のシステムです (詳細については、https://ai.google/research/pubs/pub39966 を参照してください)。

次に、このタイプの分散 SQL の基本的な概念、特にスケーラビリティと一貫性を実現する方法について説明します。一般に、分散環境で真にスケーラブルであるためには、分散 SQL データベースには次の 7 つの主要な特性が必要です。

1. スケーラブル

多大な準備をすることなくスケーラブルなコンピューティングを実現できるのと同様に、分散 SQL データベースは、運用の複雑さを増すことなくクラウド環境のシームレスな拡張に適応できます。つまり、複数の分散参加者にデータを均等に分散する機能があります。

2. 一貫性

分散 SQL データベースは、分散環境で高度な分離を提供する必要があります。クラウド環境は、さまざまな分散システムやマイクロサービスで構成されていることが多く、異なる呼び出しや操作が同じデータを指す可能性があるため、トランザクションの一貫性を確保することが困難です。分散 SQL データベースは、リソースの競合を調整できるだけでなく、単一インスタンス データベースと同じトランザクション分離レベルも提供できます。

3. 堅牢性

分散 SQL データベースは、外部ツールを必要とせずに最高レベルの堅牢性を提供します。クラウド サービスによりビジネスに継続的なオンライン環境が提供されるため、分散データベースは障害回復に必要な時間を最小限に抑え、外部構成なしでデータを自動的に複製できます。

4. 地理的レプリケーション

クラウド サービスは、許容可能なサービス レベルでユーザーのビジネスを世界の隅々まで拡張できるため、分散 SQL データベースは地理的な制限も打破できます。複雑で広範囲に分散した地理的環境において、分散処理とデータ ストレージを実行し、さまざまな場所のユーザーのビジネス ニーズを満たすことができます。

5. SQLサポート

ご存知のとおり、SQL はデータベースで使用される構造化言語であり、すべてのアプリケーション ロジックのデフォルト言語です。その汎用性のおかげで、データベース リソースを巧みに接続して呼び出すために開発者を再トレーニングする必要がありません。上記の Spanner に加えて、Amazon Aurora、Yugabyte、FaunaDB、CockroachDB などの他のデータベースもすべて SQL をサポートしています。

6. データのローカリゼーション

分散システムでは、データがさまざまな地域のデータセンターに分散されているため、アプリケーション アーキテクトは、アプリケーションの一部として呼び出す必要があるストレージ データをバインドするために、各サイトの場所を理解し、プログラム ロジック内で最も近い場所を見つける必要があることがよくあります。次に、分散 SQL は、データ テーブル内の特定のフィールドに基づいてデータを地理的に分割し、データをユーザー側に近づけることができます。これは、いわゆるデータベースのデータ主権の問題です。これにより、開発者はユーザーが低遅延で情報にアクセスできるようにすることができ、クラウドでのデータ転送コストと消費するトラフィック量を最小限に抑えることができます。

7. マルチクラウドモデル

分散 SQL データベースのユニークな特徴は、より大規模なシステムに参加できる半自律ユニットです。つまり、各ユニットを単独でデプロイし、その後 CockroachDB クラスターなどの大規模なシステムに参加させることができます。この機能により、単一のネットワークのみに依存してデータ分散を完了するのではなく、分散 SQL データベースを真のマルチクラウド環境に拡張できるようになります。このモデルでは、参加者のクラウド サービスのカテゴリは制限されなくなります。パブリック クラウド、プライベート クラウド、さらには単一のオンプレミス インスタンスなど、どこにでも配置できます。明らかに、これは分散ハイブリッドおよびマルチクラウド環境におけるすべてのアプリケーションにとって重要です。

分散SQLの基本要件

上記の 7 つの機能は、クラウド環境における分散 SQL に特有のものです。ただし、結局のところデータベースであるため、データベースの次の基本的な機能も備えている必要があります。

  1. 管理性: ユーザーは、一連のコマンド ラインまたはグラフィカル ツールを使用して、ターゲット データベースを簡単にインストールおよび構成できます。ユーザーは、オペレーティング環境の制御、データ ライフサイクルの管理、定期的なバックアップと復元を通じて、データ テーブルの作成、スキーマの定義と実装、インデックスとパーティションの設定、DDL の再構築を行うことができます。
  2. 最適化可能: DBA は、データベースのクエリ応答パフォーマンスに関する詳細な情報を取得し、コストベースのオプティマイザーなどの高度な機能を使用してクエリの効率を最適化できます。
  3. セキュリティ: 企業で一般的に使用される他のソフトウェアと同様に、セキュリティは無視できないリンクです。データベースは、AAA メカニズムなどの認証、承認、説明責任を提供する必要があります。さらに、このような機能はデータベースから独立しているだけでなく、ID 管理およびガバナンス機能を備えた集中制御システムと統合され、システム全体に流れるすべてのレベル (テーブル、行、列を含む) のデータに対して一貫したポリシーを設定できるようにする必要があります。
  4. 統合可能: 当然のことながら、バッチ取得やデータのエクスポートなどのサービスを実装するには、データベースがテスト済みまたは既知のドライバーを介してフロントエンド アプリケーションと統合できる必要があります。同時に、データベースは、ETL (抽出、変換、ロード) ツールを使用して、キャプチャされたデータをデータフロー分析やクラウド ストレージなどのより高度なサービスと統合する必要もあります。

もちろん、上で述べたいわゆる「基本的な」機能要件は単純なものではありません。これらは、エンタープライズ レベルのアプリケーション向けに、より成熟したデータベースを提供することを目的としています。

要約する

分散 SQL データベースは、新たなカテゴリと進化の方向性として、クラウド環境との連携をさらに深めることで、データの一貫性とローカリゼーションの面で継続的に改善する必要があります。結局のところ、厳しい運用環境では、このようなデータベースはパフォーマンスと効率に関するより実用的な問題に直面することになります。

上で述べた CockroachDB は、クラウドネイティブの分散 SQL データベースです。さまざまなエンタープライズ レベルのアプリケーションが最も基本的なワークロードと一部の重要なタスクをクラウドに移行し、さまざまな高度なクラウド ネイティブ環境向けのポリシー オーケストレーションを実装するのに役立ちます。分散 SQL を理解するための出発点として試してみることができます。

原題: 分散 SQL: データベースの進化、著者: Jim Walker

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  デジタル変革が未来を拓く:江蘇省交通投資グループの「六つの雲」の成果が南京で大々的に発表された

>>:  これら 8 つのヒントを活用して、クラウド マスター データ管理を適切に行いましょう。

推薦する

中国のバレンタインデーに百度からウェブマスターへの朗報

バレンタインデーはカップルの休日とも言えますが、多くのSEO実践者にとっては楽な休日ではないかもしれ...

レバレッジは依然としてマーケティングの核となるモデルである

ネット上に溢れる成功事例のほとんどは、実はレバレッジのかけ方に関するものなんです! 2 段階マーケテ...

ロスト・イン・タイランドから、注目すべきマーケティングのポイントがわかる

最近、とても人気のある映画があります。それは「ロスト・イン・タイランド」です。これまでの興行収入は3...

SEO初心者にとってウェブサイト構築は必須かどうかについての簡単な議論

最近、Lily SEO Waiwai の音声クラスを聞いていると、SEO 初心者にはウェブサイト構築...

微信の海から見る:微信の「愛人」たちはどうやって「太ももにしがみつく」のか?

最近、WeChatの「愛人」の1つであるWeChat Hai Companyが、8000万人民元の投...

2019 年のミニプログラム: Baidu ミニプログラムはどうですか?

ミニプログラムといえば、まずWeChatミニプログラムやAlipayミニプログラムを思い浮かべるかも...

クラウド コンピューティングへの急速な移行は、企業の適応能力を上回っているのでしょうか?

アプリケーションとデータはクラウドに移行される可能性がありますが、ネットワーク セキュリティ、監視、...

gigsgigscloud: 日本 cn2 gia vps、200M 帯域幅、月額 12 ドルから、毎月 100G のトラフィック追加付き

gigsgigscloud は、日本 cn2 gia vps に関する最新ニュースを発表しました。新...

ShanglongがChinaHR.comを買収:統合の難しさを過小評価すべきではない

「経営陣が入れ替わると思っていましたが、買収前にChinaHR.comがあれほど騒ぎ立てていたことを...

マイクロソフトのXbox Oneが9月に中国で発売される

ロイター通信によると、4月30日、マイクロソフトとBesTVは、Xbox Oneが9月に正式に中国に...

Seoer: あなたはまだ時代遅れの考えに支配されていますか?

中国では、SEO がかなり長い間発展してきました。海外から中国に導入されてから現在に至るまで、さまざ...

1.4.1 MVCフレームワークパターンの実装(2)

1.4.1 MVCフレームワークパターンの実装(2)ステップ 3: Controllers/Defa...

80host-VPS の簡単なレビュー、データセンター: シンガポール + ロサンゼルス、米国

約 4 日前、80host.com から、KT データ センター VPS のプロモーション記事を投稿...

Baidu トラフィックの式 = P*Baidu の重み?

SEO を行う人なら誰でも、Baidu を通じて大量のトラフィックを呼び込みたいと願うはずです。トラ...