12.4 Cassandra数据模型

12.4 Cassandra数据模型

卜算子·大数据”一个开源、成体系的大数据学习教程。——每周日更新

  • 没有JOIN操作

Cassandra没有表的连接操作,跟关系型数据库设计相比最好的方式是,反(非)规范化设计,设计为两个表连接后的结果表。

  • 没有参照完整性(外键)
    虽然表中可以存储别的表的ID,但是没有级联删除的操作,所以没有外键操作。

  • 非规范化的设计在Cassandra数据库中表现最佳。适当冗余,相同的数据出现在不同的表中,具有不同的键。

  • 物化视图
    基于已经存在的基础表,创建多个非规范化的数据视图(物化视图)。

  • 查询优先设计

设计表从查询的结果开始设计表(结果表)。

  • 存储空间设计
    Cassandra每个表都是存储在磁盘上的单独文件中,相关的列尽量保持在同一个表中(磁盘文件)。
    搜索单个分区的查询性能最佳,优化最小搜索分区数量。

  • 排序设计
    Cassandra查询中的ORDER BY仅支持聚类列(Clustering columns)排序。

  • 分区单元值计算方法
    避免分区太宽,分区中的单元值太大。
    分区中的单元值计算方法:
    分区中的单元值=静态列数+表的行数*(列数-主键列数-静态列数)
    Cassandra的限制是每个分区20亿。

这里写图片描述 本节完成

长按关注从入门到精通

这里写图片描述
开源、源码获取 https://github.com/wangxiaoleiAI/big-data

猜你喜欢

转载自blog.csdn.net/dream_an/article/details/80960741