博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NoSQL精粹读书笔记-第1章
阅读量:6187 次
发布时间:2019-06-21

本文共 1231 字,大约阅读时间需要 4 分钟。

hot3.png

1. 关系型数据库的价值

1.1 获取持久化数据

关系型数据库的一个主要用途就是用来持久化存储数据了。

1.2 并发

关系型数据库可以处理多个用户或客户端同时访问同一块数据的情况,这是关系型数据库区别于程序员自己写程序来访问文件的最大的地方,因为在并发操作的情况下获取正确的数据是极其困难的。关系型数据库通过“事务”来控制对其数据库的访问。

1.3集成

在早期的企业应用中关系数据库还充当着各个应用程序间共享数据的作用。

1.4近乎标准的原型

sql和事务在几乎所有的关系型数据库中都是有统一标准的。

2. 阻抗失谐

关系型数据库的数据组织形式都是以表和行的方式来组织的,在数据结构中有“嵌套记录”或“列表”等结构的情况下无法很自然的表现内存中的数据结构,必须把它们转换成“关系”的形式把数据存放在不同的表中。虽然现在有类似于mybatis和hibernate这样的or-mapping框架来解决这种阻抗失谐的情况,但还是无法解决读取这些数据时需要联接几张表时造成的性能损失。

3. “应用程序数据库”与“集成数据库”

所谓集成数据库就是指几个应用程序之间会共享同样的数据,这些数据都存放在同一个数据库中,数据的完整性由数据库来负责而不能由某个应用程序来负责。

所谓应用程序数据库是指数据库中的程序只能由一个应用程序的代码来访问,如果需要让其它程序访问数据库中的程序则通过程序接口来提供(如通过http协议进行通信的接口)。这样做的好处就是应用程序之间交互的数据结构可以更为灵活,其它应用程序不需要了解本应用程序的数据库表结构。

4. 蜂拥而来的的集群

随着互联网行业的发展,越来越多的网站的数据规模都在急剧增加,这就导致需要有越来越多的计算资源来应对数据和流量的增加。处理这种增长比较理想的方案是采用比较有弹性的横向扩展:采用由多个小型计算机组成的高度稳定的集群,这样就算其中的某些电脑经常发生故障,也不会影响整个集群的运行。

但传统的关系型数据库并不是设计给集群用的,并且象oracle或sqlserver这种商用型数据库通常都是按单台服务器计费的,所以在集群中使用会非常贵。

谷歌和亚马逊这两家公司都针对这种情况开发了自己的专用数据库。

5. NoSQL登场

各种NoSQL数据库的共同特征是:

不使用sql或叫不使用关系模型

开源

都是为了在集群中运行而设计开发的(除了图数据库)

都是21世纪初的互联网企业设计的

无模式,不象传统的关系型数据库定义表,字段名等这种强模式

选用NoSQL数据库的两个主要原因是:

待处理的数据量很大,或对数据访问的效率要求很高,从而必须将数据放在集群上

想采用一种更为方便的数据交互方式来提高应用程序开发效率

NoSQL崛起所产生的重要影响就是混合持久化:根据不同的场景使用不同的存储方式(关系型数据库/NoSQL数据库)。

转载于:https://my.oschina.net/u/914897/blog/483504

你可能感兴趣的文章
阿里鄢志杰博士:“达摩院”要做下一代颠覆性的人机交互
查看>>
WCF后续之旅(8):通过WCF Extension 实现与MS Enterprise Library Policy Injection Application Block 的集成...
查看>>
【文档】七、Mysql Binlog不同事件类型的事件内容
查看>>
决胜最后一公里 外卖O2O须达信息化标准
查看>>
命令行的艺术
查看>>
万人物流企业如何实现无负担沟通
查看>>
中国最大统计学与大数据盛会召开在即
查看>>
高德地图开启“路况上报”活动 信息共享助用户躲避拥堵
查看>>
程序员软件项目预估的宝贵经验
查看>>
HBase原理-数据读取流程解析
查看>>
业界最高标准 浪潮推“三零”存储双活解决方案
查看>>
SDNFV Fest论坛成功举办 全景展现SDN/NFV测试成果
查看>>
七款值得推荐的开源密码管理工具
查看>>
JS微信分享不好写?来封装一下
查看>>
王思聪"吃翔"项目 - 共享充电宝 - 经营、销售分析系统DB设计实践
查看>>
HBase最佳实践-用好你的操作系统
查看>>
2016年网络诉求:物联网+SDN+自动化
查看>>
BUG管理系统运维记录(bugfree)
查看>>
杨元庆内部信:每一天都是末日的心态对待每一件事
查看>>
防范互联网金融风险须依靠大数据和云计算
查看>>