エンタープライズレベルのビッグデータプラットフォーム構築リファレンス 淘宝滴滴美団 360 快手京東

ビッグデータプラットフォームは、今日の社会で生成されるますます大量のデータを計算、保存、計算、表示するためのプラットフォームです。ビッグデータ技術とは、さまざまな種類のデータから貴重な情報を迅速に取得する機能を指します。超並列処理 ( MPP ) データベース、データ マイニング グリッド、分散ファイル システム、分散データベース、クラウド コンピューティング プラットフォーム、インターネット、スケーラブルなストレージ システムなど、ビッグ データに適用できるテクノロジ。結論として、ビッグデータ プラットフォームの出現は、ビジネスの継続的な発展、データの継続的な成長、データ需要の継続的な増加、データ分析とマイニングの現場に伴って徐々に形成されています。この記事では、淘宝滴滴美団、360、快手などの大手インターネット企業のビッグデータ プラットフォームの開発の歴史を説明し、ビッグデータ プラットフォームを構築するための基本的なアイデアを提供します。

淘宝ビッグデータプラットフォーム

タオバオは、独自のビッグ データ プラットフォームを構築した中国のインターネット業界の初期の企業である可能性があります。下の写真は、タオバオの初期の Hadoopビッグ データ プラットフォームを示しています。これは非常に典型的なものです。

 淘宝網のビッグデータ プラットフォームは基本的に 3 つの部分に分かれており、上部はデータ ソースとデータ同期、中央部は淘宝網のHadoopビッグ データ クラスターであるラダー 1 、下部はビッグデータのアプリケーションであり、ビッグデータクラスターの計算結果。データ ソースは主に Oracle MySQLのバックアップ データベース、ログ システム、クローラ システムから取得され、これらのデータはデータ同期ゲートウェイ サーバーを通じて Hadoopクラスターにインポートされます。その中で 、DataExchange は完全なデータベース データをリアルタイムで同期しません。DBSyncデータベースの増分データをリアルタイムで同期し、TimeTunnel はログとクローラ データをリアルタイムで同期します。 すべてのデータはHDFSに書き込まれます

Hadoopのコンピューティング タスクは、スカイネット スケジューリング システムを通じて、クラスター リソースとジョブの優先順位に従って送信され、実行されます。計算結果はHDFSに書き込まれDataExchangeを通じてMySQLおよびOracleデータベースに同期されますプラットフォーム上のデータ ルービック キューブとレコメンデーション システムは、データベースからデータを読み取り、ユーザーの操作リクエストにリアルタイムで応答できます。

淘宝ビッグデータ プラットフォームの中核は、アーキテクチャ図の左側にあるスカイネット スケジューリング システムです。Hadoop クラスターに送信されたタスクは、順序と優先順位に従ってスケジュールされ、実行される必要があります。Hadoopクラスター上で定義されたタスクも、データベース、ログ、およびクローラ システムからのデータのインポートも実行をスケジュールする必要があり、Hadoopの実行結果をアプリケーション システムのデータベースにエクスポートする場合も、実行をスケジュールする必要があります。ビッグデータプラットフォーム全体は、スカイネット配車システムの統一的な計画と手配の下で動作していると言えます。

DBSync TimeTunnel DataExchangeなどのデータ同期コンポーネントも Taobao によって内部開発されており、さまざまなデータ ソースや同期要件に合わせてデータをインポートおよびエクスポートできます。タオバオのこれらのコンポーネントのほとんどはオープンソースであり、参照して使用できます。

Didi データプラットフォームの進化の道

これまでに 3 段階を経ており、第 1 段階はビジネス側による小規模クラスターの構築、第 2 段階は一元的な大規模クラスターとプラットフォーム化、第 3 段階は SQL 化 です

オフライン コンピューティング プラットフォームのアーキテクチャは次のとおりです。DidiのオフラインビッグデータプラットフォームはHadoo 2 ( HDFS Yarn MapReduce )、Spark Hiveをベースに構築されており、これをベースに独自のスケジューリングシステムと開発システムを開発しました。スケジューリング システムは、他の以前のシステムと同様に、ビッグ データ ジョブの優先順位と実行順序をスケジュールします。開発プラットフォームはビジュアルSQLエディターであり、テーブル構造のクエリ、SQLの開発、ビッグ データ クラスターへのパブリッシュを簡単に行うことができます。

さらに、Didi はHBaseも多用しており、関連製品 ( HBase Phoenix )でいくつかのカスタム開発を行っており、リアルタイムおよびオフラインのビッグデータ プラットフォームと同じレベルでHBaseプラットフォームを維持しています。

リアルタイムコンピューティングプラットフォームとオフラインコンピューティングプラットフォームの計算結果はHBaseに保存され、アプリケーションプログラムはPhoenixを介してHBaseにアクセスしますPhoenixはHBase 上に構築されたSQLエンジンであり、SQLを通じてHBase上のデータにアクセスできます。

フロー コンピューティング タスクの開発および管理におけるビジネス側の利便性を最大化するために、Didi は、以下の図に示すようなリアルタイム コンピューティング プラットフォームを構築しました。ストリーム コンピューティング エンジンに基づいて、 StreamSQL IDE 、監視と警報、診断システム、血縁関係、タスク管理と制御などの機能を提供します。

美団データプラットフォーム

データ フロー アーキテクチャの観点から Meituan データ プラットフォーム全体のアーキテクチャを紹介しましょう. ビッグ データ プラットフォームのデータ ソースは MySQL データベースとログから来ます. データベースはMySQLバイナリログをCanal経由で取得し、メッセージ キューに出力しますKafkaログはFlumeを介してKafkaにも出力され、 ODPSにもリフローされます

Kafkaのデータは、ストリーム コンピューティング エンジンとバッチ コンピューティング エンジンによってそれぞれ消費されます。ストリーム処理はStormを使用して計算を実行し、結果はHBaseまたはデータベースに出力されます。バッチ計算ではHiveを利用して分析・計算し、結果はクエリシステムやBI (ビジネスインテリジェンス)プラットフォームに出力されます。

データ アナリストは、 BI製品プラットフォームを通じてインタラクティブなデータ クエリとアクセスを実行でき、ビジュアル レポート ツールを通じて処理された共通分析指標を表示することもできます。同社の幹部は、このプラットフォーム上の Tianji システムを通じて、会社の主要なビジネス指標やレポートも閲覧できます。

この図はオフライン データ プラットフォームのデプロイメント アーキテクチャ図であり、下部にはYarn HDFS 、およびHiveMetaを含む 3 つの基本サービスが示されています異なるコンピューティング シナリオでは、異なるコンピューティング エンジンのサポートが提供されます。新しく設立された会社の場合、実際にはいくつかのアーキテクチャ上のオプションがあります。Cloud Tableは自作のHBaseパッケージシールです。データ ウェアハウスの構築にはHiveを使用し、データ マイニングと機械学習にはSparkを使用します。Prestoアドホッククエリをサポートし、複雑なSQLを記述することもあります対応 ここでは、Presto をYarnにデプロイするのではなくYarnと同期し、 Sparkを Yarn 上で実行します現時点では、Hive はまだMapreduce に依存しており、現在tez で Hive をテストしてデプロイしようとしています。

さらに、リアルタイム データ ウェアハウスの構築において、Meituan がオリジナルのStormからFlinkに移行したこともわかりました。FlinkAPI 、フォールトトレランスメカニズム、および状態永続メカニズムにより、 Stormの使用時に発生する問題のいくつかを解決できます。 。Flink は、一般的に使用される多数のSQLステートメントをサポートするだけでなく、基本的に一般的な開発シナリオもカバーします。さらに、FlinkTable はTableSchemaを通じて管理でき、豊富なデータ型、データ構造、データ ソースをサポートします。既存のメタデータ管理システムや構成管理システムと簡単に統合できます。

Meituan ビッグデータ プラットフォームのプロセス全体の管理は、スケジューリング プラットフォームを通じて管理されます。企業の社内開発者は、データ開発プラットフォームを使用してビッグ データ プラットフォームにアクセスし、ETL (データ抽出、変換、読み込み) 開発を実行し、タスクを送信し、データ管理を実行します。

360データプラットフォームの進化の道

Qirinは、360システム部門が開発したワンストップのビッグデータプラットフォームで、ビッグデータの取得、保存、管理、計算、利用のビッグデータ開発と処理プロセス全体を完全にカバーしており、現在グループ全体の30以上の部門にサービスを提供し ます1000 人以上のユーザー、 25000 台以上のサーバー、保存されるデータの量は EBレベルです。ビジネス部門が独自のデータ プラットフォームとデータ製品を迅速に構築するのに役立ちます。

機能的には、Qilin は主に次のモジュール (下から上) で構成されています。

( 1 ) リソース管理: ストレージ リソース、コンピューティング リソースなどを含む、さまざまなビッグ データ サービス リソースの適用と管理、およびアクセス権の適用と管理に使用されます。

( 2 ) メタデータ管理: リソース管理に基づいて、他のモジュールに統一されたビューを提供し、ビッグデータ処理プラットフォーム (プロセス) 全体で実行されます。メタデータ管理は、Qilin システム プラットフォーム リソースをサポートする一方で、ユーザーが外部の自己所有リソースをホスト アプリケーションにインポートすることもサポートします。

( 3 ) データ収集: リアルタイムおよびオフラインのデータ収集を含む、外部データをビッグ データ ストレージに収集するために使用されます。

( 4 ) タスク開発: リアルタイムおよびオフラインのデータ処理タスクを開発、スケジュール、監視するためのバッチフロー統合タスク プラットフォーム。

( 5 )インタラクティブ分析:   SQLを使用してデータを迅速にクエリおよび調査したり、単純な視覚分析や結果表示を行うために使用されます。

( 6 ) データ サービス: 上記のサブシステムの機能に基づいて、データのアーカイブとバックアップ、クラスター間データ送信、外部データ共有などの特定のシナリオを満たす SaaSサービスを提供します。

( 7 ) 権限センター: リソース アカウントのアクセス許可と開発グループのアクセス許可を管理するために使用されます。

( 8 ) システム管理: いくつかの基本的なシステム機能の管理を提供します。

ビジネス指向の Qilin は、使いやすいワンストップのビッグデータ処理プラットフォームを提供することで、使用の敷居を下げ、ビッグデータ プラットフォームの作業を簡素化し、ビジネスがデータの価値を解放し、力を発揮できるようになると考えています。ビジネス。

Qilin はモジュール設計により、各モジュールの柔軟な組み立てと操作を可能にし、社内外のさまざまなビジネス シナリオに合わせてさまざまなビッグ データ ソリューションと製品を迅速に形成できます。

Kuaishouビッグデータサービスプラットフォーム

ビッグ データ サービス指向のビジネス アーキテクチャは以下のとおりで、元のデータはData Lakeデータ レイクに保存され、データ開発後、対象ドメインごとに整理されたデータ資産が形成されます。現時点では、データ資産は通常データ ウェアハウスにあり、アクセス速度が比較的遅いため、データをより高速なストレージ メディアに高速化し、最終的にマルチシナリオ サービスを通じてビジネスに提供する必要があります。インターフェース。

技術的なアーキテクチャの観点から見ると、データ インターフェイスの形式には RPCインターフェイス HTTPインターフェイスが含まれます。RPCインターフェイスは、リンクを繰り返し確立する必要がなく、データ送信時に効率的にシリアル化され、高スループットのシナリオでのマイクロサービスに適しており、ロード バランシング、フロー制御、劣化、コール チェーン トラッキングなどの機能を実現します。HTTPインターフェースは比較的通信効率は劣りますが、使い方は非常に簡単です。

2017 年の進化以来、 Kuaishou ビッグデータ サービス プラットフォームは、ライブ放送、ショートビデオ、電子商取引、商品化などのオンライン ビジネス、プロデューサーのミッドステージなどの準オンライン ビジネス、およびオペレーティングシステムなどの部分的な内部データシステム。現在、プラットフォーム上のオンラインビジネスの合計 QPSは 1000Wに達し、平均遅延はミリ秒レベルです。準オンラインビジネスと内部データシステムでは、CH Druidに基づいています。などのデータ エンジンと同様に、さまざまな柔軟なクエリをサポートします。データ サービス プラットフォームは、さまざまなモードAPIをサポートしており、多様なニーズに適切に対応します。

Kuaishou ビッグ データ サービス プラットフォームの高可用性保証:

柔軟なサービス

データ サービスはコンテナ クラウド環境にデプロイされます。コンテナ クラウドは、Kuaishou が開発した伸縮性とスケーラブルなコンテナ サービスです。その中にデプロイされたRPCサービスは、呼び出し元の KESS (Kaishou の自社開発サービス登録および検出センター)に登録されます。を呼び出すと、外れ値のデッドピクセルがある場合、それらは自動的に削除されます。サービス呼び出しは RPCに基づいており、サービスの可用性、遅延、 QPS 、コンテナCPU 、コンテナ メモリなどを含むリンク全体が監視されます。

リソースの分離

リソースの分離は、可用性を保証する一般的な手段の 1 つであり、分離を通じて予期せぬ障害やその他の状況の影響を軽減します。マイクロサービスかストレージかに関係なく、ビジネスの粒度 と優先度 (高、中、低) に従ってそれらを分離してデプロイし、ビジネスが相互に影響を及ぼさないこと、およびビジネス内のさまざまなレベルが影響を及ぼさないことを独立して保証します。お互い。同じビジネスラインに複数の異なるデータ サービスが存在する場合があり、混合デプロイメントによってリソース使用率を向上させることができます。

完全なリンク監視

サービスにおける問題や障害を避けることは難しく、一度問題が発生した場合には、早期発見・早期介入が非常に重要です。サービス プラットフォームは、以下を含む完全なリンク監視を構築しました。

  • データ同期: データ品質の検出 (ダーティ データのフィルタリング)、同期のタイムアウトや障害の検出など、データ資産を高速ストレージに同期するプロセスを監視します。
  • サービスの安定性:独立したセンチネルサービスを構築し、各APIの動作指標(遅延、可用性など)を監視し、健全性を客観的に評価します。
  • ビジネスの正確性: データ サービスは、ユーザーがアクセスするデータ コンテンツがデータ資産テーブルのコンテンツと一致していることを確認する必要があるため、センチネル サービスはデータの整合性レベルから調査して、各 API のデータの整合性を確保します

Kuaishou ビッグ データ サービス プラットフォームの能力構築は、統合された OneServiceシステムに移行します。これには主に次の 3 つの側面が含まれます。

  • 包括的なデータ サービスを構築するために、大規模で幅広いテーブル、テキスト ファイル、機械学習モデル (モデルもデータ資産の一種) などの豊富なデータ ソースをサポートします。
  • さまざまなアクセス方法をサポート: 同期高速アクセスのサポートに加え、非同期クエリ アクセス、プッシュ結果、スケジュールされたタスクなどの多様な方法もサポートし、さまざまなビジネス シナリオのニーズに対応します。
  • 統合APIゲートウェイの構築:権限制御、電流制限とダウングレード、トラフィック管理を1つに統合APIゲートウェイにはプラットフォームが作成したサービスだけでなく、ユーザーが開発したAPIも登録可能ゲートウェイは、既存の基本的なゲートウェイ機能を活用し、企業にデータ サービス機能を提供します。

JD.comの EBレベルのグローバルビッグデータプラットフォーム

JD.com のプラットフォーム全体は、構築と開発の長いプロセスを経てきました。このプロセスには次の 5 つの段階が含まれます。

スケールステージ

データセンターネットワーク技術の向上に依存し、主に技術スタックのコンピューティングとストレージの分離とアップグレードを完了し、コンピューティングの局所性への依存を弱め、ストレージホットスポットの分散、コンピューティングの安定性の向上、同時にストレージとコンピューティングのカスタマイズを実現最適化されたモデル、独立して実行されるキャパシティ プランニングにより、ITリソースのコストが大幅に削減されます。ストレージ面では、1万台規模の安定したHDFSクラスタを実現し、その上にイレイジャコーディング技術を徹底導入することで、高効率・高圧縮率のビッグデータストレージを実現するとともに、レイヤ間の最適化を実現しました。エンジン層とアプリケーション層は徹底的な改善を受け、最終的に、プラットフォームのストレージとコンピューティング機能は、完全なライフサイクル管理を通じて継続的に健全な状態に保たれます。

体系的な段階

金融事業、物流事業、電子商取引事業、保険事業、健康事業などのさまざまな事業の特性とニーズを起点として、標準化、管理可能、保守可能、理解可能、再現可能、ワンストップで体系的なデータを徐々に構築していきます。複雑なビジネス、異種データ、煙突開発、高額な建設コストなど、上記の問題を解決します。

データレベルでのリンク全体の標準化、インベントリ、ガバナンスとプラットフォームツールレベルでの業務標準化支援により、JDグループ全体の体系的なデータセンターを構築しました。

全体として、システム化はデータセンターの中核目標の 1 つであり、生産、コンピューティング、ストレージ、消費に至るデータのライフサイクル全体をカバーし、データの価値を効率的に使用するための強固な基盤を提供します。

また、これまでのシステム構築の経験をもとに、さまざまなデータ機能を蓄積・磨き上げ、一連のプロダクトソリューションを磨き上げてきました。この体系的な構築の方法論と実践経験により、迅速なビジネスのレイアウトと迅速な開発の段階で、意思決定エンジンに非常に効率的にデータを入力し、迅速なビジネス上の意思決定を行うことができます。

リアルタイムステージ

一方では、JD.com は、タスクのスケジューリング、データ分散、状態回復の観点から徹底的なカスタマイズと最適化を実行し、システムの堅牢性を大幅に向上させました。また、多くの大きなプロモーションのテストも経験しました。その一方で、コンテナベースのクラウドネイティブなエラスティックリソーススケジューリングを実装し、完全に自社開発された自己修復フレームワークを作成して、自動かつ適応的な障害回復機能を実現し、システムとプラットフォームの安定性を効果的に保証します。

次に、Easy Realtimeプラットフォームは、ワンストップのクラウド コード開発を統合し、クラウドネイティブのリアルタイム コンピューティング プラットフォームに直接接続するエンタープライズ レベルのアプリケーション プラットフォームです。

このプラットフォームの目標は、コード開発能力を持たない最前線のビジネス同僚 (JD.com の調達や営業の同僚、さらには ISVエージェントなど) が SQL機能を備え、迅速に作業を開始し、独立してビジネス上の意思決定を実現できるようにすることです。短期間のトレーニング後の開発。

インテリジェントステージ

プラットフォームには、 9N-FL連合学習エンジンなど、いくつかのコア アルゴリズム エンジンがあります。これらのエンジンをサポートする基盤は、アルゴリズム分野全体のクラウドベースのリソース管理システムであり、データ指向の管理システムとシームレスに統合してワンストップのデータ アルゴリズム ソリューションを形成し、最終的に JD.com の小売ビジネス、健康ビジネスを強化します。 、金融サービス事業等の事業の迅速な発展を促進するため

事業化段階

上記の 4 つの段階の発展に基づいて、JD.com は最終的に、実際のビジネス サポートの経験に依存し、複数の分野のアプリケーション(小売、物流、金融、健康など)を同時にサポートできるグローバル ビッグ データ プラットフォームを作成しました。それに含まれるシステム、ツール、製品、および方法論には、業界の主流のデータセンターと一定の類似点があります。

おすすめ

転載: blog.csdn.net/jane9872/article/details/131316005