2

我将尝试使用 Ignite 将其与 Hazelcast 性能方面的数据网格进行比较。当我正在研究我需要的所有功能时,在 SQL 查询中没有提到日期(java.util.Date)和字符串比较(小于、大于等)我猜它依赖于 Comparable(我会) ,但想知道确切的答案。

另一个相关问题(最好单独提出)是关于索引的。Hazelcast 具有索引和所谓的便携式序列化格式,它本质上将字段的子集与序列化对象分开存储,以避免反序列化。我如何保证在 Ignite SQL 查询中避免它?所有字段都编入索引?复合索引等呢?我想知道复杂查询在内部是如何工作的,因为根据文档没有复合索引。

4

1 回答 1

1

Date 和 String 实际上分别被认为是 SQL 类型 TIMESTAMP 和 VARCHAR,因此它与 Comparable 无关。但是对于任何非标准类型,如果 Ignite SQL 参与索引或查询,它们将依赖 Comparable。

根据文档,复合索引被支持并称为组索引。复杂的查询工作得很好:)

目前 Ignite 不单独存储索引值,而是保留反序列化的 Java 对象并使用反射来访问属性。在不久的将来(希望在几周内),Ignite 将发布一项功能,允许索引序列化对象和访问字段,而无需保留 Java 对象(甚至在节点上具有索引的 Java 类)。

于 2015-07-17T06:58:16.127 回答