我即将尝试将Ignite与Hazelcast性能作为数据网格进行比较。当我正在研究我需要的所有功能时,没有提到日期(java.util.Date)和SQL查询中的字符串比较(小于,大于等)我猜它依赖于Comparable(我愿意) ,但想知道确切的答案。
另一个相关问题(可能更好地分别提出)是关于索引的。 Hazelcast具有索引和所谓的便携式序列化格式,其基本上存储与序列化对象分开的字段子集以避免反序列化。我怎样才能保证在Ignite SQL查询中避免它?所有字段都编入索引?复合索引等怎么样我想知道复杂的查询在内部是如何工作的,因为根据文档没有复合索引。
答案 0 :(得分:1)
Date和String实际上分别被视为SQL类型TIMESTAMP和VARCHAR,因此它与Comparable无关。但是对于任何非标准类型,如果Ignite SQL参与索引或查询,它们将依赖于Comparable。
根据文档,支持复合索引并调用Group indexes。复杂的查询效果很好:)
目前,Ignite不会单独存储索引值,而是保留反序列化的Java对象并使用反射来访问属性。在不久的将来(希望在几周内),Ignite将发布一个功能,允许索引序列化对象和访问字段,而无需保留Java对象(甚至在节点上有索引的Java类)。