首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cassandra中使用UUID作为URL表的辅助键的可行性

在Cassandra中使用UUID作为URL表的辅助键的可行性
EN

Stack Overflow用户
提问于 2017-08-26 02:49:31
回答 1查看 159关注 0票数 1

给定一个分布式系统,该系统使用主键“url”持久化记录。考虑到多台服务器正在收集数据,“url”是一种方便、方便和准确的保证唯一性的方法。我们的系统目前以每分钟10,000次的频率查询文档。

我们希望添加另一个独特的键,即“uuid”,以便我们可以将资源引用为:

http://example.com/fju98hfhsiu

而不是,例如:

is%2Fa%2Fpagewitha%2Flong-url.html

似乎创建了UUID的is not ideal in cassandra二级索引。有没有办法避免在cassandra中创建UUID的二级索引?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-28 07:05:17

让我们从以下事实开始:最佳实践和Cassandra的主要模式是为查询创建表,而不是为表创建查询,如果需要在表上创建索引,则是“自动”反模式。基于此,最简单的解决方案就是使用两个带有两个键的表。

在您的例子中,"uuid“不是UUID,它是域和散列的某种连接,在.If的其余部分,我相信您的应用程序可以在请求时生成这个键,您可以使用它作为分区键,将完整的URL用作集群键。

此外,如果没有热点域(例如http://example.com),则可以使用域作为分区键,使用散列和长urls作为群集键,创建物化视图以支持不同的查询。

最后,只需添加辅助索引,并查看在特定情况下的性能影响。如果它对您有效,并且您不想处理两个表、物化视图等,只需使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45891476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档