POLARDB の概要

1. はじめに

画像の説明を追加してください

  • POLARDB は、Alibaba Cloud が自社開発した次世代リレーショナル分散データベースで、MySQL と 100% 互換性があり、これまで MySQL を使用していたアプリケーションは、コードを 1 行も変更することなく POLARDB を使用できます。
  • POLARDB は、その運用形態ではマルチノード クラスターです。クラスター内には Writer ノード (マスター ノード) と複数の Reader ノードがあり、それらの間のノードは、分散ファイル システム (PolarFileSystem) を通じて同じ基盤ストレージ (PolarStore) を共有します。
  • POLARDB は、内部プロキシ層 (プロキシ) を通じて外部サービスを提供します。これは、すべてのアプリケーションが特定のデータベース ノードにアクセスする前に、まずこのプロキシ層を通過することを意味します。
  • プロキシはセキュリティ認証(Authorization)と保護(Protection)を行うことができます。
  • SQL を解析し、書き込み操作 (トランザクション、更新、挿入、削除、DDL など) を Writer ノードに送信します。
  • SQL を解析し、読み取り操作 (選択など) を複数の Reader ノードに均等に分散します。これは、読み取りと書き込みの分離とも呼ばれます。
  • POLARDB はデフォルトで 2 つのデータベース アドレスを提供します。1 つはクラスター アドレス (Cluster)、もう 1 つはプライマリ アドレス (Primary) です。
  • クラスタアドレスは読み書き分離機能があり、全ノードのリソースを統合して外部サービスを提供できるため、クラスタアドレスの使用を推奨します。
  • プライマリ アドレスは常にプライマリ ノードを指しており、プライマリ アドレスにアクセスする SQL はプライマリ ノードに送信されます。プライマリとスタンバイの切り替え (フェイルオーバー) が発生すると、プライマリ アドレスは 30 秒以内に自動的に新しいプライマリ ノードにドリフトされ、アプリケーションが常に接続されているのは、書き込みと読み取りが可能なマスター ノードであること。

2. 特徴

POLARDB を MySQL と同じように使用できることに加えて、従来の MySQL データベースにはない利点がいくつかあります。

  • 大容量

100T までは、単一マシンの容量の上限に起因してシャーディング用に複数の MySQL インスタンスを購入する必要がなくなり、サブデータベースやテーブルを考慮する必要さえなくなるため、アプリケーション開発が簡素化され、運用とメンテナンスの負担が軽減されます。

  • 高いコストパフォーマンス

複数のノードは 1 つのストレージに対してのみ課金されます。つまり、読み取り専用インスタンスが多いほど、コスト効率が高くなります。

  • 分単位の柔軟性

ストレージとコンピューティングを分離したアーキテクチャと共有ストレージを組み合わせることで、迅速なアップグレードが実現します。

  • 読み取りの一貫性

クラスターの読み取り/書き込みアドレスは分離されており、LSN (ログ シーケンス番号) を使用して、データ読み取り時のグローバルな一貫性を確保し、一次遅延と二次遅延によって引き起こされる不整合の問題を回避します。

  • ミリ秒のレイテンシー – 物理レプリケーション

REDO ベースの物理レプリケーションを使用して Binlog ベースの論理レプリケーションを置き換え、プライマリ レプリケーションとセカンダリ レプリケーションの効率と安定性を向上させます。インデックスの追加やフィールドの追加などの大規模なテーブル DDL 操作でも、データベースに遅延が発生することはありません。

  • ロックレスバックアップ

ストレージ層のスナップショットを使用すると、2T のサイズのデータ​​ベースを 60 秒以内にバックアップできます。さらに、このバックアッププロセスはデータベースをロックする必要がなく、アプリケーションへの影響もほとんどなく、24 時間バックアップできます。

  • 複雑な SQL クエリの高速化

組み込みの並列クエリ エンジンは、実行に 1 分以上かかる複雑な分析 SQL を高速化する効果があります。この機能には追加の接続アドレスが必要です。

3.PolarFS

  • I/O パフォーマンスを最大限に活用するために、PolarFS 設計では次のテクノロジーが使用されています。
  • PolarFS は、CPU にバインドされたシングルスレッドの有限ステート マシンを使用して I/O を処理し、マルチスレッド I/O パイプラインのコンテキスト切り替えオーバーヘッドを回避します。
  • PolarFS はメモリ割り当てを最適化し、MemoryPool を使用してメモリ オブジェクトの構築と破棄のコストを削減し、巨大ページを使用してページングと TLB 更新のコストを削減します。
  • PolarFS は中央およびローカルの自律構造を使用しており、すべてのメタデータはシステムの各コンポーネントのメモリにキャッシュされ、基本的に追加のメタデータ I/O を完全に回避します。
  • PolarFS は、RDMA や SPDK を含む完全なユーザー空間 I/O スタックを使用して、カーネル ネットワーク スタックとストレージ スタックのオーバーヘッドを回避します。

同じハードウェア環境での比較テストでは、PolarFS のデータ ブロックの 3 つのコピーの書き込みパフォーマンスは、単一コピーのローカル SSD のレイテンシー パフォーマンスに近づきました。これにより、データの信頼性を確保しながら、POLARDB の単一インスタンス TPS パフォーマンスが大幅に向上します。

4.PolarDB ログ

従来の論理ログの代わりにデータベース PolarDB に物理ログ (Redo ログ) を先駆的に導入したことにより、レプリケーションの効率と精度が大幅に向上するだけでなく、特に頻繁に書き込みを行う場合に I/O 操作が 50% 節約されます。新しいデータベースでは、パフォーマンスが 50% 以上向上する可能性があります。

画像の説明を追加してください

五、PolarProxy

PolarProxy の目的は、複数の基盤となるコンピューティング ノードのリソースを統合し、アプリケーションがアクセスするための統一された入り口を提供することです。これにより、アプリケーションのデータベース使用コストが大幅に削減され、古いシステムから POLARDB への移行が容易になります。移行と切り替え。
本質的に、PolarProxy は容量適応型の分散ステートレス データベース プロキシ クラスターであり、その動的な水平拡張機能により、読み取りノードの急速な増減で POLARDB の利点を最大限に活用し、データベース クラスター全体のスループットを向上させ、ECS がそれにアクセスできるようにします。同時実行性が高くなるほど、その利点は明らかです。

Supongo que te gusta

Origin blog.csdn.net/qq_39813400/article/details/129082696
Recomendado
Clasificación