没有数据模型的GridGain SQL查询+其他GridGain SQL问题



我已经查看GridGain一段时间了,发现了一些关于GridGain SQL功能的功能,这让我产生了一些问题(我在文档中找不到确切的答案)

  1. 从这些例子来看,总是有一个明确的数据模型。我使用的是Java,所以这意味着总是有一个要查询的模型的类定义。API文档中的示例:http://atlassian.gridgain.com/wiki/display/GG60/SQL,+Scan,+And+Full+Text+Queries从显示如何注释属性开始,这对我来说意味着总是需要一个显式模型。可以为SQL查询(如"@GridCacheQuerySqlField")注释模型的属性是否总是需要显式数据模型理想情况下,我希望有一种不必显式声明模型的方法,因为我的用例确实经常更改,并且具有复杂的关系。

  2. 哪些SQL查询子集可以通过GridGain的SQL API执行?我的用例通常需要非常复杂的查询。例如,在文档中(与上面的链接相同),它指出"连续查询不能与SQL一起使用。只支持基于谓词的查询。"。"在哪里可以找到支持SQL的哪个子集(以及在什么条件下,因为提供的示例不会执行连续的SQL查询,除非满足查询基于谓词的条件)

提前感谢您的见解

  1. GridGain支持企业版的非固定数据模型,即可移植对象。可移植对象允许您将数据模型呈现为类似映射的嵌套结构,该嵌套结构允许不同语言(Java、C#、.NET)之间的动态结构更改、索引和可移植性。您可以在GridGain Enterprise版示例中查看可移植对象,并在此处阅读文档:http://entdoc.gridgain.org/latest/Portable+跨平台+对象在开源版本中,总是需要显式的类定义。

  2. GridCacheQuery javadoc中描述了SQL的限制:http://gridgain.com/sdk/6.5.0/javadoc/org/gridgain/grid/cache/query/GridCacheQuery.htmlGroup bysort by语句分别应用于每个节点,因此在将来自多个远程节点的结果分组在一起后,结果集可能会被错误地分组或排序。聚合函数如summaxavg等也应用于每个节点。因此,您将得到几个包含聚合值的结果,每个节点一个。只有当联接的对象以并置模式存储,或者联接的至少一侧存储在REPLICATED缓存中时,联接才能正常工作。

最新更新