NoSQL聚合数据模型

NoSQL聚合数据模型

特色

聚合数据模型的特色就是把常常访问的数据放在一块儿(聚合在一块);
这样带来的好处很明显,对于某个查询请求,可以在与数据库一次交互中将全部数据都取出来;
固然,以这种方式存储不可避免的会有重复,重复是为了更少的交互;sql

缺点

  • 聚合结构对某些交互有利,却阻碍另外一些交互;
    好比:以学生学号聚合学生信息(含学生姓名、班级、年龄、等信息,甚至英语学科成绩),经过学号查询时,可以在一次交互中查询出该学生的全部信息,但若是想经过学生姓名来查询,就很困难;数据库

  • 不支持跨越多个聚合的ACID事务
    聚合结构在事务方面的支持有限;有一些NOSQL产品实现了简单的事务支持,但对于跨越多个聚合结构的事务并不完善;oracle

规划数据访问方式

选用NoSQL数据库,首要的工做就是设计键名及存放的数据;
设计的原则是尽可能减小所须要访问的聚合个数,在尽可能少的交互中拿到所须要的数据;
若是发现须要经过多种查询条件来获取数据,可能就选用NOSQL就不合适;关系数据库才是首选;nosql

面向聚合的数据库

  • 键值数据库
    能够存储任意数据,存储的数据对用户不透明,从外面看,只是包含了没有太多意义的大块数据;设计

    访问方式:经过键来查找 blog

  • 文档数据库
    文档数据库存储时定义了其容许的结构和数据类型,从外面看,能够看到内部结构;
    在存储时限制其中存放的数据,这样带来的好处是可以更灵活的访问数据;
    访问方式:
    1.可用键名查询
    2.可用聚合中的字段查询(定义存储的数据的结构所带来的好处)
    3.可按照聚合内容建立索引索引

相关:关系数据模型

对于数据模型,咱们最熟悉的莫过于关系数据模型;
关系数据模型是一种“聚合无知模型”;
在组织数据时,使用E-R模型规划清晰;
这样带来的好处是很容易以不一样的方式来查询数据(各类where条件甚至join)
关系型数据库都是使用关系数据模型,好比oracle;事务

附 思惟导图

NoSQL:数据模型

 

参考

《NoSql精粹》ip

 

Posted by: 大CC | 27APR,2014
博客:blog.me115.com [订阅]
微博:新浪微博文档

相关文章
相关标签/搜索