【发布时间】:2015-03-22 19:39:38
【问题描述】:
我正在尝试为我将用于 HBase/Cassandra 的简单地址簿模式建模。
场景:
- 用户可以创建他的联系人。
- 一个联系人可能有很多电话、地址或电子邮件。
- 用户可以创建组来组织他的联系人(一个组可以包含多个联系人,一个联系人可以放置在多个组中)。
我打算做的唯一选择查询是获取住在地址 x 并且在组 y 中的所有联系人。
以下架构是否适合于此?
|Table name: User |
-----------------------
Key: user_id
email
password
-----------------------
Column family: Contacts
Key: contact_id
firstname
lastname
---------------
Column family: Address
Key: address_id
street
housenumber
zipcode
---------------
Column family: Group
groupname
或者这更好/可能吗?
|Table name: User |
-----------------------
Key: user_id
email
password
-----------------------
Column family: Contacts
Key: contact_id
firstname
lastname
contact_id
|Table name: Address |
-----------------------
Key: address_id
street
housenumber
zipcode
contact_id
|Table name: Group |
-----------------------
Key: group_id
group_name
【问题讨论】:
标签: database cassandra hbase database-schema schema-design