データベース革命: HashData クラウド データ ウェアハウスはトランザクション レベルのリアルタイム パフォーマンスを実現します

8月16日から18日まで、第14回中国データベース技術会議(DTCC 2023)が北京で開催された。Kuker Data のシニア ソリューション アーキテクトである Chen Yixian 氏は、「データベース カーネル・技術革新」の特別セッションで「分散データ ウェアハウスの TP 機能の探求 - HashData UnionStore」と題した講演を行い、HashData によるログのアイデアの使用を紹介しました。分散データ ウェアハウス内のデータベースです。TP パフォーマンスの変革における技術ソリューションと将来の開発計画を改善します。

スピーチのハイライト:

1. データ ビジネス化の文脈において、企業はデータ ウェアハウスのリアルタイム機能に対する要求をますます高めており、OLAP と OLTP はさらに統合されることになります。

2. ストレージとコンピューティングの分離アーキテクチャは、将来のデータ アーキテクチャの基本要件になります。クラウドネイティブ アーキテクチャの中心概念は、ストレージとコンピューティングを分離し、オブジェクト ストレージを使用してグローバル データを保存することです。すべてのコンピューティング クラスタはステートレスです。また、さまざまなコンピューティングエンジンとの互換性もあり、さまざまなビジネスのニーズに応えます。

3. ストレージとコンピューティングの分離後、異なるエンジンを使用してデータを個別に処理することが可能になります: ログはデータベースであるという概念により、データ ウェアハウスの OLTP 機能を大幅に最適化できます。データのランダムな書き込みとログの使用という操作を取り除くことによって、データを中間キャリアとして使用することで、複雑なロックと同期操作が削減され、同時実行性が大幅に向上し、同時にランダム アクセスのコストが削減されます。

以下は講演内容(抜粋)です。

近年、情報化からデジタル化への企業IT構築の進化に伴い、企業のデータアプリケーションに対する需要も次の3段階を経ています。

  • 1.0 段階では、データ統計とクエリに焦点を当て、これに基づいて部門レベルのアプリケーションを提供する対応するシステムを構築します。

  • 2.0 段階では、企業はデータ ウェアハウスを通じてリモート アプリケーション データを統合し、さらに処理してビジネス インテリジェンスを実現し、企業の意思決定をサポートします。

  • ビッグ データ テクノロジーの発展に伴い、エンタープライズ データ アプリケーションは 3.0 段階に入りました。現段階では、データ アプリケーションはますます豊富になり、企業のすべての従業員により良いサービスを提供できるようになります。

上記の 3 つの段階はまだ情報化の段階にあり、データは業務システムの運用の中で生成される副産物にすぎません。企業データから得られる価値が高まるにつれ、企業はシステムを設計する前に、データ資産をより適切に管理する方法を検討する必要があります。

この文脈において、アプリケーション システムは、物理世界とデジタル世界をマッピングするための媒体となっています。同時に、AI テクノロジーの成熟に伴い、将来のエンタープライズ データ アプリケーションはますますインテリジェント化および自動化され、企業の運用戦略とビジネス プロセスを自動的に最適化し、機敏なビジネス機能を実現できるようになります。

データ ビジネスの発展に伴い、データ プラットフォームの適時性、正確性、一貫性に対する要求はさらに高まり、OLTP と OLAP はさらに統合されます。

従来の MPP 分散データ ウェアハウスの OLTP 機能を向上させる試み

現在、MPP データ ウェアハウスは、OLTP 機能を向上させるために主に 2 つの技術的ルートに分かれています。1 つ目は、TP アプリケーション シナリオで 2PC から直接分散に切り替え、準備段階でのインスタンスの待機を減らし、それによって単一データの追加のパフォーマンスを向上させるものです。 、削除および変更。この方法の欠点は、データ分析の負荷が増加すると、システムのオーバーヘッドが増加し、比較的大きな遅延が発生することです。

もう 1 つの方法は、行ストレージ テーブルを使用して単一レコードを追加、削除、変更し、同時実行パフォーマンスを向上させることです。

従来の分散型 MPP アーキテクチャ データベースでは、タスクを複数のサーバーとノードに並行して分散し、計算完了後に結果を返して要約することで、大量のデータの分析と処理を完了します。ビジネスが成長するにつれて、企業はクラスター全体のデータ処理能力を向上させるためにサーバーを追加する必要があります。

従来の分散 MPP アーキテクチャではコンピューティングとストレージが緊密に結合しているため、単一クラスターが一定の規模 (通常は 200) に達すると、新しいコンピューティング ノードが追加された場合でも、クラスターの全体的なパフォーマンスは古いノードの影響を受けます。 、増加しないだけでなく、減少しているように見えます。

ストレージとコンピューティングの分離アーキテクチャは、将来のデータ アーキテクチャの基本要件となる

「ストレージと計算の分離」テクノロジーの出現により、従来の MPP アーキテクチャ データベースの「問題点」がうまく解決されました。クラウド ネイティブ アーキテクチャの中心概念は、ストレージとコンピューティングの分離です。オブジェクト ストレージは、グローバル データの保存に使用されます。すべてのコンピューティング クラスターはステートレスで、オンデマンドで使用できます。また、ニーズを満たすためにさまざまなコンピューティング エンジンと互換性があります。様々な事業を行っております。

写真

図 1: 大手国有銀行における HashData の預金と計算の分離の概略図

HashData クラウド データ ウェアハウスを例に挙げると、複数のクラスターが統合メタデータと統合データ ストレージを共有し、統合メタデータ クラスターはデータ資産カタログとの動的な接続を提供します。基礎となるデータが変更されると、データ資産カタログを同期的に更新し、企業のデータ資産運用、データ ガバナンス、およびデータ セキュリティ管理に対応するサポート機能を提供できます。

同時に、ストレージとコンピューティングを分離するアーキテクチャのおかげで、HashData は一貫性のあるハッシュによるデータの再論理グループ化を回避し、共有ストレージによるデータの再物理分散を回避し、クラスターの第 2 レベルの自動拡張と縮小を実現できます。

HashData UnionStore テクノロジーの革新

ストレージと計算を分離した後は、異なるエンジンを使用してデータを個別に処理することができます。「ログ イズ データベース」(ログ イズ データベース)は、ログベースのデータベース アーキテクチャのアイデアであり、OLTP システムのパフォーマンスを向上させることができます。

ログはデータベースによってランダムにデータを書き込む操作を取り除き、コンピューティング クラスターは WAL ログのみを HashData UnionStore クラスターに送信し、UnionStore クラスターはログ データを処理して再生して新しいページ データを生成するため、複雑なロックと同期操作が軽減されます。同時実行機能が大幅に向上し、ランダム アクセスが削減されます。

Log is Database は、次の側面でデータ ウェアハウス TP のパフォーマンスを向上させます。

  • ディスクのランダム アクセスの削減:従来のデータベース システムでは、データ ファイル内のデータをディスクに書き込む必要がありました。これにより、ディスクのランダム アクセスが頻繁に発生し、パフォーマンスに悪影響を及ぼす可能性があります。ログ データベースはすべてのデータ変更操作をログに追加します。これにより、ディスク書き込み操作が連続シーケンシャル書き込み操作に変換され、ランダムなディスク アクセスが大幅に削減され、パフォーマンスが向上します。

  • 非同期コミット:従来のデータベース システムでは、各トランザクションがコミットされるときにデータをディスクに書き込む必要があるため、待ち時間が長くなります。ログ データベースは非同期送信方法を採用しています。つまり、最初にデータ変更操作をログに書き込み、次にログ内の操作をバッチでディスクに非同期に書き込みます。このアプローチにより、ディスクの書き込み回数と遅延が削減され、パフォーマンスがさらに向上します。

  • 同時実行制御の最適化:ログ データベースは、ログ レコード トランザクション操作の特性を使用して同時実行制御を最適化できます。複雑なロックや同期操作を行わずに、複数のトランザクションが同時にログに書き込むことができます。この同時実行制御の最適化により、システムの同時実行パフォーマンスとスループットを向上させることができます。

  • バッチ最適化: ログ データベースは通常、複数の操作をバッチ操作に組み合わせて処理します。操作をバッチ処理することにより、ディスクへの書き込み回数が削減され、パフォーマンスがさらに向上します。たとえば、複数の更新操作を 1 つのバッチ操作に結合すると、各操作のオーバーヘッドとディスク アクセス数が削減されます。

  • 再生の最適化:ログ データベースは、ログを再生することでデータベースの状態を復元および再構築できます。システムの起動時に、ログ内の操作を再生することでデータの変更を順番にデータベースに適用できるため、大量のランダム アクセスやデータ リカバリ操作を実行することなく、データベースの一貫した状態を迅速に復元できます。

写真

図 2: HashData UnionStore のアーキテクチャ図

カーネル レベルでは、HashData は次のように UnionStore クラスターを最適化します。

Wal サービス: データベースでは、WAL は永続ストレージ テクノロジであり、データベースが再起動またはクラッシュしてもデータが失われないようにします。WAL メカニズムでは、データベースはデータを書き込む前に、書き込まれたデータ情報を記録するために、まずログ レコードを書き込みます。永続化後のログの信頼性を確保するために、ログは通常 3 つのコピーを保存します。リーダー ノードはコンピューティング クラスターのリクエストを受信し、ローカル永続化のためにログをフォロワー ノードに送信します。すべてのノードがログの永続化を完了した後、リーダー ノードはコンピューティング クラスターに戻ります。

Safekeeper は、ログの永続化、ステータスの監視、選択を担当する Wal Writer スレッドをテナントごとに開始します。Safekeeper リーダーは、ログの同期とハートビートの送信を担当する各フォロワーの Wal Syncer スレッドを開始します。

ページ サービス: 主に、Wal サービス (セーフキーパー リーダー) から永続ログを取得して解析し、ログを再生してページ データを変更する役割を果たします。さらに、コンピューティング クラスターに更新されたページ読み取りサービスも提供します。

ページ保存形式: スナップショット メカニズムが導入され、ページ サービスは現在のログをページの差分ログとして使用し、ベース ページ + デルタ ログ方式を通じて対応するページの複数のバージョンを構築します。

タイム トラベル: HashData は、基礎となるデータ ストレージの UnionStore のスナップショット設計を REDO ログと組み合わせて使用​​し、データ ウェアハウスに「タイム トラベル」機能を与えますたとえば、LSN 700 を使用して Page1 を読み取る場合、ページ サービスは最初にベース ページを取得し、次に LSN 700 に従ってデルタ ログ範囲を決定し、次に対応するページ バージョンを生成するためにログをベース ページ v2 に適用します。そして戻る。

写真

図 3: タイムトラベルの図例

タイム トラベルは次のシナリオで広く使用でき、データベースの操作と管理に非常に便利です。

  • データベース オブジェクトの復元: ページのバージョンと LSN を追跡することで、データを任意の時点に復元できます。誤って削除したテーブル、Shcema、ライブラリのデータを誤操作前の時点に直接復元できます。

  • 履歴データのクエリ: いつでもデータをクエリでき、簡単かつ高速です。意思決定分析のために一定期間内のデータの変更履歴と増分統計を取得します。たとえば、CDC データ ストレージを通じて、ジッパー テーブルを作成せずに統計データの時点を直接選択できます。

  • 履歴データのクローン作成: データ モデルのトレーニングを支援するために、任意の時点でデータのコピーを作成します。特定の時点でのトレーニング結果に基づいて複数のデータ コピーを作成し、トレーニングに異なるパラメーターを使用して、トレーニング結果を比較します。

写真

図 4: HashData クラウドネイティブの統合アーキテクチャ HTAP データ プラットフォーム

上記の技術革新と最適化により、HashData はデータ実行バッチストリーミング コンピューティング、混合負荷、データの追加、削除、変更などの効率的な変換などのアプリケーション シナリオをサポートし、準リアルタイム データを実現できるようになります。ウェアハウス機能を強化し、企業が onedata システムを構築できるように支援します。

おすすめ

転載: blog.csdn.net/m0_54979897/article/details/132367175