规则 - 适当使用数据库

内容:当需要ACID属性来保存数据之间的关系和一致性时,可以使用关系型数据库。其他数据的存储需要考虑更适合的工具,如NoSQL DBMS。

场景:当在系统结架构中引入新数据或数据结构时。

用法:考虑数据量、存储量、响应时间长短、关系和其他因素来选择适当的存储工具。也要考虑数据结构及产品需要对数据进行的管理和操作。

原因:关系型数据库提供了高度的事务完整性,但是成本很高,难以扩展,而且与其他许多可选的存储系统相比可用性较低。

要点:使用合适的数据存储工具。不要因素易访问而用关系型数据库存储所有数据。

 

 

关系型数据库的特点:

1.通过ACID属性来保证事务的完整性

2.表内部和表之间存在关系结构

3.扩展比非关系型数据库存在更大的挑战性,例如分库分表艰难

关系型数据库适用范围可以根据其特点来确定,例如必须保证事务完整性的任务

 

文件系统是非常早就可以接触到的系统,这个系统非常适合“写一次,读多次”,特别是短时期内不会更新以及更新的时候不会发生写冲突的场景。

 

NoSQL存储系统包括:键值存储、可扩展记录存储、文档存储。分类边界模糊,只是一种大体上的区分,可能分属两者。No SQL对实体或对象之间关系的数量有所限制

键值存储大体上是对数据做单一的键值索引,将这些索引存储在内存中。例如:Redis、Simple DB、Memcached、Amazon DynamoDB。当然也有一部分面临关系型数据库同样的限制。

可扩展记录存储,优势被称作宽列存储或表格式的数据库系统,采用AKF扩展立方体里面的x规则和y规则进行扩展。

文档存储,文档又被称作多索引对象模型,不支持ACID属性,使用异步复制来提供最终一致性。例如:MongoDB,CouchDB等。

 

选取存储工具时,要考虑元素之间所需的关联度、方案成长速度、数据读写的比率,最后是数据的效益成本问题。关联度决定了成本和系统的复杂性。三种存储结构的成本顺序和灵活性顺序由低到高是:文件系统、No SQL, 关系型数据库。扩展性由低到高是:关系型数据库 、No SQL 、文件系统。

可扩张性问题解决方案的成本随着时间的推移而显著下降,产品的整体可用性也会显著上升。

 

现在技术的发展是我们有了更多的选择,这些选择是要根据实际实际需要确定的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值