什么是Apache Phoenix多对多设计最佳实践?

时间:2017-01-30 19:00:16

标签: hbase phoenix

我是Apache Phoenix的新手,也是HBase的新手。 根据HBase最佳实践,您必须围绕查询设计表,这涉及表非规范化。 Apache Phoenix确实支持连接,这使得使用关系方法设计数据模型成为可能。

假设您有一名学生可以参加许多课程和一门可以招收很多学生的课程。 在关系世界中,我的表格看起来像:

学生:

student_id | fname | lname | dob

课程:

courde_id | name | description | start_date

StudentCourceAssociation:

student_id | course_id 

我应该在Phoenix创建相同的数据模型,还是应该采用更多的NOSQL方法?

我想我只能有两张桌子:学生和课程。 学生表可以包含具有动态列的列族“student_course”,其中每个动态列名称将是学生已注册的课程的ID。 或者作为另一种选择,我可以将关系信息存储在SQL Array类型的列中。

很高兴听到可以给予指导的人。我想知道哪种方法更受欢迎,为什么。

0 个答案:

没有答案