cassandra-2.0 - Cassandra - 不同表中的相同分区键 - 什么时候合适?
问题描述
我以一种方式对我的 Cassandra 进行建模,即我有几个表具有相同的分区键 - Uuid。
每个表都有它的分区键和其他表示我想问的特定查询的数据的列。
例如 - 1 个表具有 Uuid 和关于其状态的列(此表中没有其他集群键),表 2 将包含相同的 Uuid(也没有集群键),但不同的列表示此 Uuid 的数据。
是正确的建模吗?为了将每个表分组以保存特定用例的相关列,在表周围复制相同的分区键是否错误?或者它更喜欢只使用 1 个表并查询它们并为代码中的特定用例获取相关数据?
解决方案
这个造型没什么问题。与只有一张表包含两条数据的明显替代方案相比,它是更好还是更差,取决于您的工作量:例如,如果您通常需要读取相同 uuid的状态和数据列,那么这些读取如果两个东西都在同一个表中,那么效率会更高,只需要查找一次。如果您总是只读取一个而不是两个都读取,那么从单独的表中读取会更有效。此外,如果这个工作负载不是以读为主,而是以写为主,那么只写一个表而不是两个表会更有效率。
推荐阅读
- python - 获取列表中所有可能的差为 1 的数字对
- r - R中带有数据框列表的多个ggarrange图与sapply
- python - 拆分数组时数组的索引过多
- python - 使用 Python 在 SQLite 中处理元组
- macos - 如何在不验证 TouchId、macOS Catalina 的情况下在 Safari 上启用自动填充帐户/密码?
- python - 如何通过熊猫中的两个键将数据框与自身合并?
- pine-script - 更改图表分辨率时更改线条绘制长度?
- oracle - Oracle apex Shuttle 列表的特定限制
- sql-server - SQL Server 中的第一个值?
- python - 如何在 Tkinter 中模拟 Windows 屏幕超时?