【发布时间】:2019-03-28 06:32:45
【问题描述】:
我正在研究如何对同时使用 Cassandra 和 Ignite 的数据进行建模。到目前为止,Cassandra 中数据建模的基本建议(来自this article)很明确:“围绕查询建模数据”。作者举了一个“用户查找”的例子。我们想通过用户名或电子邮件来查找用户,据他说,最好的方法是有两个表:
CREATE TABLE users_by_username (
username text PRIMARY KEY,
email text,
age int
)
CREATE TABLE users_by_email (
email text PRIMARY KEY,
username text,
age int
)
然而,在 Cassandra 顶部的 Ignite 让事情变得混乱。不幸的是,我找不到任何有用的示例或以下问题的答案:
- 拥有多个存储用户信息的表是否意味着每个表都有 Ignite 缓存?
- 复合主键是否意味着为每个键引入新类型并将其用作 Ignite 缓存键?
- 拥有 Ignite 意味着没有来自 Cassandra 的直接读取。按照 NoSql 最佳实践,它甚至会打扰建模数据吗?是否可以只拥有一个用户表并让 Ignite 处理通过用户名或电子邮件进行的查询。
CREATE TABLE users (
id uuid PRIMARY KEY,
username text,
email text,
age int
)
【问题讨论】:
标签: cassandra nosql ignite key-value-store