1. 背景と現状
また、私はビッグ データの分野で長年働いてきました。大企業で働いたか中小企業で働いたかに関係なく、統計データは、たとえば、大きな画面やレポート用にクエリしたり、表示したりする必要があることがよくあります。一部のオンラインサービスではデータソースを提供する必要がある インターフェースサービス一式をコードで記述する必要があり、開発→テスト→オンラインといった一連のプロセスが必要となる 開発効率が非常に低く、必要なサービスを開発することになる0.5 日または 1 日に近い。
実際、多くの大手メーカーもこのプラットフォームを構築しており、単体でも販売しています((Ali dataworkのデータサービス、Netease Mammoth EasyDSなど))が、料金は決して安くないので、このようなプラットフォームを開発したいと考えています私の職務経験に基づく製品セット。以前のオープン ソース データ比較プラットフォームの名前が dataCompare だったので、このプラットフォームの名前は dataService (つまり、データ サービス) になりました。
主に次の問題を解決します。
(1) APIインターフェースサービスの開発には開発~テスト~オンライン等の一連の工程が必要となり、通常最短で0.5日~1日程度かかります。
(2) さまざまなデータ量要件を満たすために、さまざまなデータ ストレージが選択されます。これにより、データ ストレージの多様性が高まります (Mysql、Oracle、Hbase、Doris など)。そのため、さまざまなストレージの開発コードは次のようになります。一貫性のない
(3) インターフェースサービスが標準化されておらず、開発者ごとにインターフェースの開発に一貫性がありません。
(4) データとインターフェースを再利用する方法がない さまざまな企業が同じデータテーブルを選択し、独自のインターフェースサービスを確立していますが、インターフェースとデータの冗長性の問題があります。
(5) どのデータにどのアプリケーションがアクセスするかが不明瞭で、その結果データ処理業務が停止し、どの事業に影響が出るかが不明
2. 目標
上記の問題を解決するために、オープンソースのビッグデータ サービス プラットフォーム - dataService が開発されました。
(1) API サービスの開発、テスト、起動は、SQL ローコードまたはインターフェイスの対話とチェックだけで行うことができ、同時に、異なるデータ ストレージに対するコード適応開発が回避され、開発効率が少なくとも 1 倍向上します。 50%。
(2) インターフェイスの標準化: データ サービス プラットフォームを通じてインターフェイスの標準化を実現し、異なる開発者の一貫性のない開発習慣が結果として不整合な標準を引き起こすことを回避します。
(3) インターフェースの再利用性を実現し、データとインターフェースの冗長性の問題を回避する API マーケットを構築する
(4) データリネージとインターフェースリネージを通じてデータ処理とサービスのリンク全体をオープンします。
3. システムの主要機能の紹介
現在、dataService は次の機能を完了しています。
(1) APIサービスの開発・テストが簡単な設定やSQLなどのローコード記述で実現可能
(2) 現在、Mysql、Doris、Hive などのデータ ソースがサポートされています
全体的なプロセスは次のとおりです。
(1) プロセス1: 新しいデータソースの作成 - APIサービスの作成
プロセス1
(2) プロセス 2: データ ソースの種類に応じてデータ ソース接続を作成する
工程2
(3) プロセス 3: 新しい API サービスの作成 - SQL の構成 - API サービスのテスト - オンラインにする
SELECT
name,
addr as address,
sum(num) as total_num
FROM
table_name
WHERE
user_id = ${uid};
(1) SELECT查询的字段即为API返回参数
(2) 如果定义了字段别名,则返回参数名称为字段别名
(3) 支持SQL函数
(4) WHERE条件中的参数为API请求参数,参数格式为${参数名}
(4) プロセス 4: 事業者が呼び出せる API サービスを API マーケットに公開する
4. システムアーキテクチャ設計
データ サービス プラットフォームは、データ サービスの統合を解決し、データ サービスのガバナンスと指標の統合を促進します。ビジネス開発効率を向上させ、ビジネスの変化に迅速に対応できます。データサービスプラットフォームは主に以下の3つの層に分かれています。
(1) データ アプリケーション アクセス層: 主に外部アプリケーション アクセス用。HTTP サービス、RPC サービス、クライアント サービスが含まれます。
(2) データサービス解析層: 主に SQL を通じてさまざまなデータストアにアクセスし、対応するデータサービスを生成します。コア機能: SQL 解析、SQL 検証、SQL ルーティング、データ クエリ
(3) データストレージ層: 主にデータストレージ管理、MySQL、Redis、Doris、Hive などが含まれます。充実したサポートとAPIサービスの提供が可能
5. システム機能デモ
ホームページ
データソースを追加する
データソース管理
新しいAPIサービス
APIサービステスト
6. その後の計画
(1) オンラインAPIサービスのPullモードでの自動プッシュおよびデータ取得
(2) APIサービスの電流制限と監視
(3) サービス系統の検出とサービス配置
7. コアコードはオープンソースです
https://github.com/zhugezifang/dataService
https://gitee.com/ZhuGeZiFang/dataService