当前位置: 首页 > 知识库问答 >
问题:

理解缓存键、索引、分区和关联W.R.T读写

羊舌青青
2023-03-14

我是Apache Ignite的新手,来自数据仓库背景。因此,如果我试图通过DBMS行话与Ignite相关,请原谅。我已经通过论坛,但我仍然不清楚一些基本知识。

我也希望我稍后发布的场景的具体答案。

3.)如果我在缓存上创建了一个索引,那么它在默认情况下是否也成为分区/关联键?在这种情况下,分区与索引有何不同?

SCNEARIO描述

我希望使用loadCache()将数据从持久层加载到分段缓存(假设~2B)中。缓存驻留在4节点群集上。a.)如何加载数据,使每个节点只能处理0.5B记录?是通过使用分区缓存模式和定义一个关联键?

然后,我希望以事务性原子性模式从临时缓存中读取事务,查找目标缓存并执行一些操作。

b.)当我在目标缓存上进行查找时,我如何确保查找只发生在数据所在的节点上,而不是在目标缓存所在的所有节点上进行查找?是否使用AffinityKeyMapper API?如果是,如何进行?

c.)假设我想在关联键列以外的键上进行查找,在查找列上创建索引能帮助吗?在这种情况下,我最终会扫描所有节点吗?

共有1个答案

长孙星汉
2023-03-14

在Apache Ignite用户论坛上可以找到答案:http://apache-ignite-users.70518.x6.nabble.com/reditablement-cache-key-indexes-partition-and-affinity-td11212.html

  1. Ignite使用AffinityFunction[1]进行数据分发。AF实现了两个映射:key->partition和partition->node。分区映射肯定是到分区的映射条目。它不需要备份,而是在分区上进行数据配置\分发。通常,entry key(实际上是hashcode)用于计算entry所属的分区。但是您可以使用AffinityKey[2],它将被用来管理数据搭配。另请参见'org.apache.ignite.cache.affinity.affinityKey'javadoc.

分区->节点映射确定分区的主节点和备份节点。它不需要数据配置,而是在节点之间进行备份和分区分配

如果使用备份,相同的数据可能驻留在多个节点上。AffinityKey应该是entry key的一部分,如果配置了AffinityKey映射,那么将使用AffinityKey代替entry->分区映射的entry key,AffinityKey将被传递给AffinityFunction。

索引总是与数据驻留在同一个节点上。

a.要实现这一点,您应该实现CacheStore.LoadCache方法来为某些分区加载数据。例如。可以为数据库中的每一行存储partitionID。但是,如果您更改了AF或分区号,您也应该为数据库中的条目更新partitionID。

C.我听不懂这个问题。你能澄清一下它是否仍然是真的吗?

 类似资料:
  • 我是Kafka新手,我正在尝试使用Kafka开发企业级应用程序。在查阅文献时,我发现一些文档描述了每个代理的分区、复制因子。在尝试在代理上创建一个主题时,我可以改变每个主题的分区数、复制因子。所以我的问题是,复制因子和分区在整个系统的上下文中是如何关联的

  • 有人能详细说明一下使用领域吗。确实需要两者都实现两者。?

  • 问题内容: 缓存解决方案和索引解决方案之间的真正区别是什么?在我看来,索引解决方案实际上是具有运行搜索查询功能(例如:Elastic Search)的缓存。是否有任何真正的理由在同一项目中同时使用缓存解决方案和索引解决方案,或者索引解决方案基本上会使其他任何缓存变得多余? 示例:假设我对ElasticSearch使用NEST,它将存储并返回POCO;如果我随后查询ElasticSearch并已将P

  • 本文向大家介绍主键、外键和索引的区别?相关面试题,主要包含被问及主键、外键和索引的区别?时的应答技巧和注意事项,需要的朋友参考一下 主键、外键和索引的区别 定义: 主键–唯一标识一条记录,不能有重复的,不允许为空 外键–表的外键是另一表的主键, 外键可以有重复的, 可以是空值 索引–该字段没有重复值,但可以有一个空值 作用: 主键–用来保证数据完整性 外键–用来和其他表建立联系用的 索引–是提高查

  • 本文向大家介绍InnoDB的关键特性-插入缓存,两次写,自适应hash索引详解,包括了InnoDB的关键特性-插入缓存,两次写,自适应hash索引详解的使用技巧和注意事项,需要的朋友参考一下 InnoDB存储引擎的关键特性包括插入缓冲、两次写(double write)、自适应哈希索引(adaptive hash index)。这些特性为InnoDB存储引擎带来了更好的性能和更高的可靠性。 插入缓

  • Symbols * statement ** statement _ __all__ B built-in function help open builtins module C coding style compileall module D docstrings, [1] documentation strings, [1] E environment variable PATH, [1]