[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 に特有のものです。ただし、結局のところデータベースであるため、データベースの次の基本的な機能も備えている必要があります。
もちろん、上で述べたいわゆる「基本的な」機能要件は単純なものではありません。これらは、エンタープライズ レベルのアプリケーション向けに、より成熟したデータベースを提供することを目的としています。 要約する 分散 SQL データベースは、新たなカテゴリと進化の方向性として、クラウド環境との連携をさらに深めることで、データの一貫性とローカリゼーションの面で継続的に改善する必要があります。結局のところ、厳しい運用環境では、このようなデータベースはパフォーマンスと効率に関するより実用的な問題に直面することになります。 上で述べた CockroachDB は、クラウドネイティブの分散 SQL データベースです。さまざまなエンタープライズ レベルのアプリケーションが最も基本的なワークロードと一部の重要なタスクをクラウドに移行し、さまざまな高度なクラウド ネイティブ環境向けのポリシー オーケストレーションを実装するのに役立ちます。分散 SQL を理解するための出発点として試してみることができます。 原題: 分散 SQL: データベースの進化、著者: Jim Walker [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: デジタル変革が未来を拓く:江蘇省交通投資グループの「六つの雲」の成果が南京で大々的に発表された
>>: これら 8 つのヒントを活用して、クラウド マスター データ管理を適切に行いましょう。
多くの初心者は、ソフトな記事を書くときに「ソフト」という言葉を理解します。私も初心者です。以前ソフト...
Pinterest が世界で最も急成長しているウェブサイトにピンタレスト2011年11月、Admin...
デザイナーはPhotoshopを使うことに慣れていますが、オンラインで写真を加工することを考えたこと...
残り物をいくつか再掲します。今はもうなくなってしまった winity.io VPS ブランドをもう一...
このテーマについて書こうと思ったのは少し偶然でした。先週末、エコノミスト誌の記事を閲覧中に業界関連の...
1. Pythonエコシステムの重要性Pythonを選ぶ理由Python は、データ分析と一般的なプ...
なぜソフトテキスト マーケティングを Web サイトの運用戦略の 1 つとして使用する必要があるので...
今日、vdsina がコストパフォーマンスに優れた AMD EPYC シリーズ VDS を発売したと...
2011年12月21日朝、ハッカーが中国最大の開発者コミュニティであるCSDNのユーザーデータベース...
VPSHostingDeal.com は、Reprise Hosting (AS62838) の V...
photonvps は、SSD ハード ドライブを搭載した VPS を新たにリリースしました。価格は...
本日、マイクロソフトは、人気のニュースレポート、最も頻繁に検索された有名人、アスリートなどを網羅した...
Amazon Web Services は、2022 re:Invent Global Confer...
最近、私は個人の認知の内容について考えていましたが、認知の限界は認知の世界を開く最初の扉のように感じ...
企業の百度プロモーションが一定規模に達すると、すべての企業が共通の目標を持つようになります。それは、...