Apache Ignite的索引如何工作?我没有在文档中找到那些技术细节。

  • 是否正在使用B树?
  • 索引存储在哪里?
  • 如何存储?
  • 内置使用后,索引提供什么性能(以Big-O表示)?
  • 它的构建速度如何,何时构建?
  • Ignite可以存储任意可序列化的Java对象。当我要为子子对象的字段建立索引时,它如何处理复合 Material ?
  • Ignite缓存是一个键值存储。我可以将不同的类(=类型作为对象)作为值吗?换句话说,是Ignite Cache Schemaless吗?如果是,这与我的SQL查询如何匹配?
  • Ignite缓存是一个键值存储。如果我通过SQL查询我的值,键如何发挥作用?我要查询什么?
  • 键可以是任意的,可序列化的Java对象-我可以查询键还是仅查询值?
  • 最佳答案

    该信息在文档中并未涉及太多,因为它主要是实现细节,并且可能因版本而异。毕竟,如果您对详细信息感兴趣,则可以使用所有源代码。
    具体来说,我说的是即将发布的Ignite 1.5。

  • 在1.5之前,默认的数据结构是快照树(avl树的变体),因为还添加了1.5 skip-list选项,现在它是默认的。
  • 在Java堆中或在堆外内存中,具体取决于配置。
  • 可靠地:)我不明白这个问题。
  • 更新和查找时使用log(N)。
  • 每次事务提交时都将更新索引(如果是原子缓存,则仅更新缓存),没有单独的构建阶段。您可以期望每次更新后索引都处于正确的状态。
  • Ignite有两个选项(从1.5开始):以二进制格式存储对象,该格式允许获取单独的字段值,或者保持整个对象反序列化并使用反射。
  • 等。

  • 玩得开心!

    关于ignite - Apache Ignite : How does the indexing work?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33953759/

    10-15 03:25