2017-08-25 36 views
0

我想在这里大声思考,以了解graphql是否可能成为我需要的候选人。GraphQL作为数据建模工具的抽象

我们有一个本土的自助服务报告创建工具。这是基于网络的。它从用户选择特定的报告类型开始。 报告类型本身是一个基本的SQL查询。在随后的屏幕中,可以选择所需的列,过滤器等。由于所有这些步骤的输出都是SQL查询,它随后在Oracle数据库上运行。

正如你所看到的,这个工具有很多弊端。它与Oracle OLTP表紧密结合。有数百个表格。

鉴于当前的数据模型和许多表的存在,我想知道GraphQL是否是设计可以像“数据浏览器”一样行事的UI的正确方法。如果我可以组合一些密切相关的表格并通过GraphQL将它们抽象成逻辑组,我想知道是否可以从它们中创建报告。

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

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

等..

比方说,我想从逻辑组1表2列,并从逻辑第2组4列,是这个东西可以被定义为GraphQL对象和检索要么在屏幕上呈现,要么写入文件?

我想我试图通过GraphQL编写数据建模用户界面。这甚至是这种需求的合适人选吗?

我们也一直在评估Looker作为一个可能的数据建模层。但是,似乎可能会有一些 谢谢。

回答

0

没有更好地理解您的数据,这很难说,但乍一看,这似乎不是一个非常适合GraphQL的问题。

GraphQL的优势在于它能够模拟+遍历数据图形。在我看来,你并没有像从数据库中挑选樱桃表那样遍历连续的数据图表。这当然是可能的,但可能会有很大的摩擦,因为这不是它的预期设计。

的试金石我会使用的是以下两个问题:

  • 你能想象你的问题很好映射到一个REST API?
  • 您的API是否被性能敏感的客户端占用?

如果是这样,那么GraphQL可满足您的需求很好,如果不是你可能想看看像https://grpc.io/

+0

在数据方面,认为这是在规范化的形式交易的系统。根据客户希望在报告中看到的内容,可能会出现复杂的图形遍历。在我的思维模型中,我试图将graphql看作是有助于报表创建者从这些组中选择他们想要的数据的东西。我期望UI能够找出这些组之间的联系。 – prabhu