Flink OLAP は、トップ データベース カンファレンスである VLDB で ByteHTAP のデビューを支援します

2022 年 9 月 5 日から 9 月 9 日まで、VLDB 2022 がオーストラリアのシドニーで開催されます。 ByteDanceのインフラストラクチャ「 ByteHTAP : ByteDance's HTAP System with High Data Freshness and Strong Data Consistency」の研究成果がVLDB 2022に採択され、オンサイトレポートを行うよう招待されました。
VLDB カンファレンス の正式名称は、 International Conference on Very Large Data Basesで、データベース分野で長い歴史を持つ 3 つのトップ カンファレンス (SIGMOD、VLDB、 ICDE ) の 1 つです。現在のデータベース研究を反映した、データベース分野における優れた研究開発の成果 業界の最先端の方向性、業界の最新技術、および各国の研究開発レベル。1975 年の設立以来、VLDB は世界のトップ研究機関から毎年原稿を提出してもらっており、システムの革新、完全性、および実験計画に対する非常に高い要件があります。

論文の主な貢献

ByteHTAP : データの鮮度が高く、データの一貫性が強いByteDanceの HTAP システム」では、ByteDanceがビジネスシーン向けに構築したデータの鮮度が高く、データの一貫性が強いHTAPシステムを紹介しています。
 
  • ByteHTAP は、独立したエンジンと共有ストレージ アーキテクチャを採用し、そのモジュラー システム設計は ByteDance の既存の OLTP システムと OLAP システムを最大限に活用します。
  • ByteHTAP は、1 秒未満のレイテンシーで高いデータ鮮度を提供できるため、顧客に多くの新しいビジネス チャンスをもたらします。顧客は、ビジネス ニーズに応じてさまざまなデータ鮮度のしきい値を構成することもできます。
  • ByteHTAP は、OLTP および OLAP システムのグローバル タイムスタンプを通じて強力なデータの一貫性を提供し、開発者はシステム内の複雑なデータの一貫性の問題に対処する必要がなくなります。
  • ByteHTAP は OLAP コンピューティング エンジンとして Flink を使用し、Flink ジョブ スケジューリング プロセスをリファクタリングしてクエリ QPS を改善する、コンピューティングをストレージ レイヤーにプッシュする、削除ビットマップを使用して削除を効率的に処理するなど、コンピューティングとストレージにいくつかの重要なパフォーマンスの最適化を導入します。
  • この記事は、クロス OLAP データベース クエリ機能、効率的なデータ インポート、Flink 開発の機能強化など、ByteDance の教訓と本番環境で ByteHTAP を開発および実行するためのベスト プラクティスを共有することで終わります。

コア コンピューティング エンジン Flink OLAP

ByteHTAP システムの OLAP コンピューティング エンジンとして、Flink は社内の複数のビジネスで使用されています。ByteDance Flink 技術チームは、Flink エンジンが OLAP コンピューティングをサポートするように多くの詳細な最適化を行い、Flink OLAP コンピューティングのパフォーマンスを効果的に改善しました。現在、1600 コアのクラスターでは、128 の同時単純クエリ スケジューリングの QPS は少量のデータで 1000 以上に達し、複雑なクエリ スケジューリングの QPS は 100 以上に達し、1000 の同時 WordCount クエリのレイテンシは約100ミリ秒。次に、https://issues.apache.org/jira/browse/FLINK-25318 に焦点を当て、内部の最適化をコミュニティに徐々に貢献します。
  1. クエリ オプティマイザー。 TopN や Aggregate などの演算子のプッシュダウンをサポートし、Plan Cache と DAG の並列構築をサポートし、Cached Catalog をサポートします。TPC-DS SF100 のパフォーマンスは 20% 以上向上しています。
  1. クエリ実行の最適化。 ClassLoader の多重化とクロスジョブ Codegen キャッシュのサポート、実行フェーズでの CPU 使用率とメタスペースの占有率の削減、ランタイム フィルターの実装による Join コンピューティングのパフォーマンスの最適化、非同期データ読み取りと同時実行性の最適化など。
  1. リソース管理 とジョブ スケジューリング。 クエリ リソース アプリケーションとリリース プロセスを簡素化し、JobMaster ノードと ResourceManager/TaskManager ノード間の相互作用を最適化し、TaskManager の粒度に従ってジョブ リソース割り当てを実現し、リソース アプリケーションのパフォーマンスを向上させます。コンピューティング タスクのバッチ展開をサポートし、展開構造とシリアライゼーション/デシリアライゼーションを最適化します。コンピューティング タスクの展開パフォーマンスを向上させます。
  1. クエリ結果の管理。 クエリは Websocket プロトコルを介して送信され、計算結果はプル モードからプッシュ モードに最適化され、時間のかかるプル ポーリングの待機を回避し、Dispatcher 接続の再利用により、作成される不要な接続と相互作用を削減しますクエリおよび計算タスクが初期化されるときに、JobMaster および TaskManager によって、クエリのレイテンシが短縮されます。
  1. メモリ管理の最適化。 メモリ アプリケーションを最適化し、MemoryManager と NetworkBufferPool の管理を解放し、タスクの開始と停止を計算する際のメモリのやり取りとロックの数を減らし、不要なメトリックを減らし、並列 GC を増やし、ジョブ マネージャ/タスク マネージャ ノードの FGC/YGC を減らすためのその他の最適化を増やします。クエリ実行のパフォーマンスと本番クラスターの安定性を向上させます。
  1. ネットワーク管理の最適化。 タスクマネージャーのマルチジョブネットワーク接続の多重化を実現し、上流と下流のコンピューティングタスクのパーティションリクエストの相互作用プロセスを最適化し、ネットワーク層の頻繁な初期化損失と上流と下流のコンピューティングタスクメッセージの数を減らし、初期化を改善します計算タスクのパフォーマンス。
  1. リソースの分離管理。 TaskManager ディメンションに応じたリソース グループの管理をサポートし、複数のテナント間でのクエリ ジョブの物理的な分離を実現し、TaskManager でのコンピューティング タスクのきめ細かなスケジューリングと実行を実現し、高負荷条件下での小さなクエリの優先戦略をサポートします。

ByteDance のベスト プラクティス

ByteDance 内で、ByteHTAP は現在、ユーザーの増加、e コマース、Xingfuli、Feishu およびその他のビジネスをサポートしており、1 日あたり 6000 以上のコア AP リソースと 50w 以上のクエリを備えた合計 11 のクラスターを備えています。
ByteHTAP のコア コンピューティング エンジンである Flink OLAP は、現在 、ストリーミング コンピューティングの Flink バージョンで ある Volcano Engine の商用製品を段階的にローンチしています。ByteDance の内部クラウド ネイティブ ビッグ データ ソリューションを統合および最適化するエンタープライズ レベルの統合コンピューティング エンジンとして、ストリーミング コンピューティングの Flink バージョンには、すぐに使用できる柔軟な展開、ストリーム バッチ統合、OLAP マルチなどの機能があります。 -モーダルコンピューティング。
 
クリックして 原紙
{{o.name}}
{{m.name}}

おすすめ

転載: my.oschina.net/u/5941630/blog/5577578