欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《大数据挑战与NoSQL数据库技术》读后感

程序员文章站 2022-04-28 15:51:33
...

从1970年IBM的埃德加·弗兰克·科德发表“大型共享数据库的关系模型”论文至今,关系数据库发展已有40年有余,已经发展到了高度成熟的阶段,而且是经住了时间考验的。但是近几年来,随着数据大爆发时代的来临,数据量已经不是GB级,而是往TB级、PB级发展,同时互联网应用的大数据量和高并发的要求越来越高,传统的关系数据库已经难以满足发展的需要。于是非关系型数据库(也即NoSQL)理论便应运而生,各种NoSQL产品也相应产生。

 

但是与高度成熟的关系型数据库不同,NoSQL毕竟属于新生事物,不管是理论还是产品都还不够成熟,选择性很多,而且NoSQL还分多个种类,不像关系型数据库只有几个产品,只要选择一个合适的产品便万事无忧了。所以如何应用NoSQL技术便成为一件难度很高的事情,而《大数据挑战与NoSQL数据库技术》正可以解决这个问题。这本书是绝佳的NoSQL入门书籍加选型手册,通过这本书可以快速地一窥NoSQL技术全貌,进而全面掌握NoSQL技术,懂得实践当中什么时候应该选择什么样的解决方案。

 

全书结构分布非常合理,总共三部分,第一部分讲理论,包括大数据产生背景以及NoSQL技术的核心理论知识和各方面的实现技术,读完这部分便对大数据和NoSQL有了全盘的了解;第二部分带领我们领略了几种典型的NoSQL数据库种类和最成功的产品,理论和实践结合,方便读者进行技术选型;第三部分则结合实践,介绍部分企业如何使用NoSQL解决自身遇到的问题,使读者对NoSQL如何应用更有了明晰的认识。

 

之前只久闻大数据和NoSQL其名,却从未看到相关的东西,一直觉得这应该是一个多么高端多么艰深的技术,是可望而不可及的,所以始终没有花时间研究一番。正好这是一个刚刚跨入梅雨季节的周末,时而细雨纷飞时而大雨磅礴,正好在家好好拜读这本新书,没想到越看越想看,一口气读完了试读的全部章节,很快便对大数据和NoSQL技术有了一定的认知,因为这本书行文流畅自然、深入浅出,把高深的理论和技术写得通俗易懂,所以让人爱不释手。一口气读完这么多,学习到这么多的知识,有一种久违的快感,这实在是一个无比充实的周末。

 

虽然看得很快,但还是颇有些收获的。

 

为什么会产生NoSQL?

一个系统中,随着访问量和数据量的增大,有很多种方案来应对,最初是缓存,然后是分库分表、读写分离,实现分布式并且进行负载均衡,但是面对大数据量和高并发要求非常高的情况下,使尽浑身解数,有时依然无法解决数据库的访问瓶颈。于是人们开始质疑是否是数据库本身的问题呢?CAP理论的产生使人豁然开朗,原来强一致性、可用性、分区容错性三者是不能同时满足的,所以为了高度的可用性,只能牺牲强一致性,以最终一致性取而代之。于是颠覆了关系数据库的理论基础,也就是关系模型,已经ACID特性,废除了对SQL的支持,这便产生了非关系型数据库NoSQL。

NoSQL数据库有各种不同种类,主要有键值数据库、列存储数据库、文档数据库、图存数据库等等。他们各有自己擅长的地方和局限性,只有用对地方才能发挥出其功效,所以实际当中如何选择如何扬长避短才是最难把握的。

 

NoSQL技术如何应用于实际中?

我想一般很难完全抛弃关系型数据库,因为关系型数据库擅长的关系查询是目前的NoSQL所无法取代的,所以可以将一些性能第一、高并发的地方交由NoSQL去做。还有需要高度可扩展性和灵活性的地方,比如本人曾经做过的一个监控应用服务器的项目,采集应用服务器的监控数据,使用的是MySQL,采集的字段一旦增加,修改起来就会很麻烦,而且这确实经常发生,这种情况如何采用文档数据库,采用json的格式保存监控数据,就会高效多了。

 

由于接触的时间还很短,对NoSQL的认识还很肤浅,但是在这本书的带领下已经对NoSQL有了整体上的粗略认识,我迫不及待地想要读完这整本书,相信读完这本书,一定能从宏观上对NoSQL有较好的把握,再结合实践,一定能为将来使用NoSQL技术打下坚实的基础,会在使用NoSQL时的技术选型上得心应手。

相关标签: 大数据 NoSQL