Chen Changcheng: Doris リアルタイム データ ウェアハウス統合に関する NineData の技術実践

北京で開催されたばかりの Doris Summit Asia 2023 では、Jiuzhang Arithmetic Technology 副社長の Chen Changcheng 氏が参加するよう招待され、「Doris リアルタイム データ ウェアハウス統合のための NineData の技術実践」について報告を行いました。

Jiuzhang Arithmetic Technology 副社長、Chen Changcheng 氏

マルチクラウドおよびマルチソースのエンタープライズ データ管理の課題

業界レポートによると、81% 以上の企業がマルチクラウドまたはハイブリッド クラウド アーキテクチャを使用し、70% 以上の企業が複数のデータ タイプを使用していることがわかっています。インフラストラクチャとデータ アーキテクチャの使用に熟練した企業は、自社よりもはるかに速く革新します。仲間たち。もちろん、マルチクラウドとマルチソースには多くの課題も伴い、複雑なインフラストラクチャ管理、データサイロ、開発効率の低下などの課題が増大します。

これらの問題に直面して、Jiuzhang Arithmetic は、NineData クラウドネイティブ インテリジェント データ管理プラットフォームを開発しました。最下層は、統合データ ソースと IaaS 層の抽象化に基づいており、さまざまなクラウド ベンダーと複数のデータ ソースを接続します。それに基づいて、データ レプリケーション、データ比較、SQL開発が確立され、企業のマネージドデータベースPaaS、検索プラットフォーム、メッセージキュー、ビッグデータプラットフォームとの良好な連携を形成し、企業がマルチクラウドおよびマルチソースの統合データ管理を実現できるように支援します。能力。

NineData データ管理プラットフォームのアーキテクチャ図

クラウドネイティブのデータレプリケーションアーキテクチャ

マルチクラウドおよびマルチソースでのデータ統合では、企業は複数のデータソースからのデータ抽出やマルチクラウドベンダーとのデータ相互運用性の必要性に直面しており、マルチデータセンターや海外企業にとっては、必ず課題に直面することになります。リージョン間での長期的なデータ同期の実現。NineData は、クラウドネイティブのデータ レプリケーション アーキテクチャには 4 つの特性が必要であると考えています

(1) スケーラブル (複数のデータソースへの素早いアクセスを可能にする拡張性)

(2) 強靭性(さまざまな環境、メーカー、複雑なネットワーク環境に適応)

(3) 管理可能(管理性、多数の環境とリンクの管理、一貫性の比較)

(4) オブザーバブル(観察可能かつ介入可能)

NineData のマルチクラウドにおける目標は、AnyWhere、AnyNetwork、AnyDatabase のデータベース アクセスと管理機能を実現し、ユーザーが統合コンソールを通じてさまざまな場所にあるデータ ソースを管理できるようにすることです。NineData のワーカーはユーザーに最も近い場所に配置されるため、データ リンクをローカルで実行でき、タスクのステータスが中央コンソールに報告されます。ワーカーはプライベート ネットワーク VPC またはパブリック ネットワークを介してユーザー データ ソースに接続でき、パブリック ネットワークに公開されていないデータベースの場合は、NineData データベース ゲートウェイを使用してローカル アクセス、リモート レプリケーションおよび管理を実現できます。同時に、NineData は金融企業の顧客の排他的なクラスター導入ニーズもサポートします。

NineData クラウド ネイティブ データ レプリケーション アーキテクチャ

複数のデータソースに関して、NineData はデータソースの抽象化を統一して、データベース接続属性、アカウントパスワード、接続プール管理、ネットワーク接続方法などを管理します。データソースを登録すると、NineData が提供するすべての機能を使用できるようになります。 SQL開発、データレプリケーション、データ比較、データバックアップなどが含まれます。

リアルタイム データ ウェアハウス Doris データ統合の実践

NineData のリアルタイム データ ウェアハウス Doris データ統合プラクティスは、一貫性、高スループット、低遅延、可観測性、介入の側面に重点を置いており、現在 NineData は 60 以上のデータ ソースをサポートしています。データ ウェアハウスのリアルタイム データ統合では、次の側面を考慮します。

(1) DDL 自己適応。構造移行の初期化とその後の新しい増分 DDL の自動同期を実現します。Doris の場合、その構造は MySQL との互換性が高く、主に分散キーの適応とデータベース間の CREATE TABLE LIKE 互換性があり、NineData は分散キーを主キー、一意キーの順に自動的に入力し、ユーザーがドロップダウンすることもできます。を指定して、スムーズなエクスペリエンスを実現します。

(2)データ型マッピング(BIGINT UNSIGNED -> LARGEINT など)、文字セット マッピング (Doris は主に utf8)、および複数のリージョンおよび異なるタイム ゾーンの運用ライブラリが Doris に集約される場合、タイムゾーンの自動マッピングが必要です。

(3)データの ETL 変換MySQL を使用して Doris と同期する場合、テーブル構造がそのまま同期されることを期待します。実際には、より ETL です。まず、データが迅速、正確、安定して同期されることを確認します。 , そして、これらの元データに基づいて ODS Go を作成し、データ ウェアハウスのディメンション テーブル、マテリアライズド ビューなどを構築します。ただし、運用ライブラリには、データ ウェアハウスと同期する必要のないデータも含まれるため、データ ウェアハウスと同期する前に、そのデータをフィルタリングして除外するか、簡単な計算とマーキングを実行する必要があります。 EtLT。

(4)送信パフォーマンス。これはデータ ウェアハウス統合に関する一般的な懸念事項であり、後ほど個別に紹介します。

実際の重要なポイントは次のとおりです。

3.1 一貫性

リアルタイム ログ CDC を実行する場合、データを正しく解析するには実際には 2 つの部分が必要です。MySQL を例に取ると、データベースの binlog ログ (データ ミラーリングの前後を含む) を取得し、同時に MySQL がこのログを生成した時点のテーブル構造を取得する必要があります。応答 DML ステートメント。したがって、DML/DDL が混在して実行されると、その時点でのテーブル構造を正しく取得することがさらに困難になります。これは実稼働ライブラリでよく発生します。したがって、NineData は DDLParser を実装して、同期モジュール内の各 DDL ログに対する MySQL の DDL 実行をシミュレートし、同期モジュール内のメタ キャッシュを更新し、バージョン管理されたストレージを実装しましたこのようにして、各テーブルのテーブル構造メタデータを随時取得することができます。

NineData のデータの一貫性

3.2 高スループット

完全な同期パフォーマンスは、複数のデータ ソースから 1 つのデータ ウェアハウスへのデータの同期を伴うデータ ウェアハウス統合の重要な側面です。NineData の作業には、次の 3 つの部分が含まれます。

(1) データを Doris に完全に同期するプロセス中、実稼働インベントリには異なるサイズの複数のテーブルが含まれているため、多数の小さなテーブルと 1 ~ 2 つの大きなテーブルがある場合、小さなテーブルは簡単に同期されます。いくつかの大きなテーブルは完成しませんでした。したがって、単一テーブルの同時スライスを実行し、スライスが同時実行性を最大限に活用し、全員が同時に完了できるようにするのに十分であることを確認する必要があります。NineData は、テーブルの主キー、一意キー、空でないインデックスなどの順序に従ってスライスし、同時にブレークポイントを達成してスライス粒度で送信を再開します。

(2) メモリに関しては、完全同期などの一時的なデータ シナリオ向けに JVM メモリを最適化します。

(3) バッチ送信とマージを実行し、Doris の特性に基づいて Stream モデルのフルおよび増分書き込みを実行します。実測では、30 同時実行で 209MB/S、88W RPS のパフォーマンスに達します。

3.3 低遅延

NineData は、低遅延機能を実現するために複数の次元から構築されています。リンク内でのホットスポット更新データのマージ、データのロールバックを削減するテーブルレベルのセキュリティ ポイント、クラウド ネイティブ RDS バックアップ ログの自動プルバック、アクティブな運用およびメンテナンス中の正常な終了 (クリーン シャットダウン) など、実行中のリンクを保護する機能が含まれます。諸事情により遅延が発生する場合がございます。

3.4 リンク組み込み ETL 機能

オブジェクト名マッピング (ライブラリ、テーブル、列名はすべて名前マッピングをサポート)、データ フィルタリング (たとえば、SQL 式の構成や、データの計算とフィルタリングを行う関数の使用をサポートします。例: gmt_create>='2019-09-09 11) :11:11)、操作タイプのフィルタリング (増分コピーの構成によるコピーが必要な操作タイプのサポート、およびコピー操作のきめ細かい制御など。例: コピーのみ挿入/削除/更新/テーブルの作成/テーブルの変更) 、他の操作は必要ありません)。

3.5 スケーラビリティ

データ ウェアハウスの統合には多くのデータ ソースが含まれます。より多くのデータ ソースの拡張を容易にするために、異種マルチソースの迅速な変換を実現し、レプリケーション フレームワークを抽象化できる構造変換とデータ変換のための中間データ型を抽象化しました。 . レプリケーション フレームワークに基づいたプラグイン開発により、新しいデータ ソースへの迅速なアクセスを実現できます。

NineData データ管理プラットフォームのアーキテクチャ図

3.6 観察可能かつ介入可能

(1) データ比較は、NineData の主要な構築機能として、データ ウェアハウスの統合レプリケーションのデータの一貫性を観察する優れた機能を備えています。NineData の完全な比較は、データベース ネットワークの消費量を削減してパフォーマンスを向上させるために計算をプッシュダウンし、実稼働ライブラリを保護するための電流制限をサポートします。データの行数、MAX、MIN、および AVG 値をすばやく比較して、データの一貫性をより正確に判断します。

NineData データ比較機能

結果の表示では、NineData は各行の各フィールドの不一致部分を色でマークし、修正された SQL を生成します。

NineData は、データのインテリジェントな検証と修正された SQL の生成をサポートします

(2) NineData には、従来の監視とアラームに加えて、同期モジュールの実行中に、各スレッドが現在どのような SQL を送信しているかを確認できるという 2 つの特徴的な機能があります。すでに実行されています。どのくらいの時間がかかりますか。もう 1 つは複製される各コマンド用であり、エラーがスローされた場合、顧客は SQL ステートメント レベルで変更して再試行するか、スキップして迅速に介入してリンクを復元することができます。

NineData の監視可能および介入可能な機能

典型的なビジネスシナリオとテクノロジーの展望

マルチクラウドとマルチソースのコンテキストでは、クラウドネイティブ データ ウェアハウスの急速な発展により、クラウドネイティブのリアルタイム データ統合のみが時代の要件に適応し、迅速な集約を提供できると考えています。オンデマンドのすぐに使用できる機能を備えた、さまざまなベンダーとさまざまなデータ タイプのデータをサポートします。

リアルタイムデータ統合テクノロジーのトレンド

メタデータドリブンでは、企業の複数のデータ ソースを一元的に管理し、統一されたメタデータとデータ ディレクトリを構築できますが、企業にとってはデータ作成資料の全体像を把握することが特に重要です。NineData の SQL 開発は、企業がこれらの機能を補完するのに役立ちます。同時に、最初にデータセンターを構築してビッグデータを一元管理し、その後出力効果を検討するという従来の方法では企業のニーズを満たすことができず、企業ユーザーの間では目的主導型の方が人気があり、ユーザーは自分のビジネスに明確な目標効果を持たせることができます。データ ウェアハウス統合への投資の見積もり。フェデレーテッド クエリまたは論理ビューを事前に構築することで、データ ウェアハウス統合後のレポートの効果をプレビューし、投資前に関連リンクとストレージ コストを評価できます。さらに、リアルタイム データ統合プラットフォームは、ユーザーが意思決定を行うためのセルフサービス サービスを提供する必要があります。

AIGC 機能の現在の発展により、企業がデータ管理におけるインテリジェントな支援を実行できるよう、大規模モデルには優れたアプリケーションの可能性があると考えています。

Alibaba Cloudが深刻な障害に見舞われ、全製品に影響(復旧済み) ロシアのオペレーティングシステム「Aurora OS 5.0」、新UIが Tumblrで公開 多くのインターネット企業がHongmengプログラマーを緊急採用 .NET 8が正式にGA、最新版LTS版 UNIX時間 17億時代に突入しようとしている(すでに突入) XiaomiはXiaomi Velaが完全にオープンソースであり、基盤となるカーネルは NuttX Linux上の.NET 8であることを公式に発表しました。独立したサイズは50%削減されます。FFmpeg 6.1」ヘビサイド」リリース Microsoft、新たな「Windowsアプリ」を発売
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/ninedata/blog/10143753