B+;ApacheIgnite中的树和索引页
我试图理解ApacheIgnite的B+树和索引页的用途,如下所述: 我有几个问题:B+;ApacheIgnite中的树和索引页,ignite,Ignite,我试图理解ApacheIgnite的B+树和索引页的用途,如下所述: 我有几个问题: 索引页到底包含什么?属于索引页的键的哈希代码值的有序列表,以及将用于定位和索引到数据页以存储/获取键值对的“其他”信息 由于散列代码正在索引页中使用,如果发生冲突会发生什么情况 对于“典型”应用程序,我们是否期望数据页的数量远高于索引页的数量?(因为数据页包含键值对) 我们使用ignite.getOrCreateCache(名称)创建的分布式缓存与内存区域之间存在什么类型的关系?1对1、多对1、1对多还是多对多
Ignite-Ignite=Ignition.start(“两个服务器节点配置”);
IgniteCache cache=ignite.getOrCreateCache(“我的缓存”);
cache.put(7,“abcd”)代码>
Ignite如何确定要将密钥放入的节点
一旦确定了放置密钥的节点,Ignite如何定位密钥所属的特定内存区域
谢谢
索引页包含哈希值的有序列表,以及指向持久内存中存储的键值对的链接。链接=页面ID+页面内部偏移量
索引页中将显示指向具有冲突哈希的对象的所有链接。要执行查找,Ignite将取消引用链接并比较键
这取决于对象大小。您可以粗略估计“典型”应用程序中数据页和索引页的比率为90:10。但是,如果添加额外索引,索引页的份额将增加:
您还可以找到最新版本的文档:回答最后两个问题:
多对一。同一内存区域可用于多个缓存
这是基于亲和力的。基本上,缓存键被映射到关联键(默认情况下它们是相同的),然后调用关联函数来确定分区和节点。有关关联性的更多详细信息,请参见此处:
谢谢Glukos,我又补充了两个问题,如果你能回答,我将不胜感激。