2017-08-25 2 views
0

graphqlが私の必要性の高い候補であるかどうかを理解するためにここで大声で考えています。データモデリングツールの抽象化としてのGraphQL

私たちは自家製のセルフサービスレポート作成ツールを用意しています。これはWebベースです。ユーザが特定のレポートタイプを選択することから始まります。 レポートタイプ自体は基本SQLクエリです。後続の画面では、必要な列やフィルタなどを選択できます。これらのすべての手順の出力はSQL問合せで、Oracleデータベースで実行されます。

ご覧のとおり、このツールには多くの欠点があります。 Oracle OLTPテーブルと緊密に結合されています。何百ものテーブルがあります。

多くのテーブルが存在する現在のデータモデルでは、GraphQLが「データエクスプローラ」のように機能するUIを設計する正しい方法であるかどうか疑問に思っています。密接に関連するテーブルのいくつかを組み合わせて、GraphQLを介して論理グループに抽象化することができれば、それらのレポートを作成できるかどうか疑問に思っています。

**Logical Group 1** 
Table1 
Table2 
Table3 
Table4 
Table5 

**Logical Group 2** 
Table6 
Table7 
Table8 
Table9 
Table10 

など..

私は論理グループ内のテーブルから2列論理グループ2から1と4列をしたい、これはGraphQLオブジェクトとして定義して取り出すことができるようなものである、のは、言ってみましょう画面上にレンダリングされるか、ファイルに書き込まれるか?

私はGraphQLを介してデータモデリングUIを作成しようとしていると思います。それはこのような必要性のための良い候補者ですか?

また、可能なデータモデリングレイヤーとしてLookerを評価しています。しかし、ありがとうございました ありがとうございます。

答えて

0

あなたのデータをよりよく理解することなく、確実に言い表すのは難しいですが、一見すると、これはGraphQLにうってつけの問題ではないようです。

GraphQLの強みは、データのグラフをモデル化+トラバースする能力です。 DBからチェリーピッキングテーブルとしてデータの連続的なグラフをあまり横断していないように私に聞こえる。確かに可能ですが、これは意図した設計ではないため、かなりの摩擦があるかもしれません。私が使用する

リトマス試験は、次の2つの質問です:

  • あなたはREST APIにもマッピングし、あなたの問題を想像できますか?
  • パフォーマンス重視のクライアントによってAPIが消費されるのですか?

その場合は、その後、GraphQLはよくあなたのニーズに応えることが、あなたはデータの面ではhttps://grpc.io/

+0

のようなものを見てみたいことがありませんならば、それは正規化された形でのトランザクションベースのシステムであると考えています。クライアントがレポートで見たいものに応じて、複雑なグラフが横断する可能性があります。私の精神モデルでは、グラフ作成者がこれらのグループから必要なデータを選択するのに役立つものとしてgraphqlを見ようとしています。私は、UIがこれらのグループ間の接続を把握することを期待しています。 – prabhu

関連する問題