NoSQL数据库学习笔记之 Why NoSQL
随着互联网技术的发展,大数据时代已经来临。大数据通常指PB级别以上的海量数据。大数据带来大机遇的同时也对数据的管理和应用提出了挑战。 大数据时代,传统关系型数据库的问题和挑战大数据不仅数据量巨大,而且还具有数据类型多样、数据生成速度快等特点。总体而言,支持海量数据处理的系统应具有如下特性:
CAP理论大数据时代,并行处理是操作和分析海量数据的必然选择。这里的并行不仅是跨越多核的,更重要的是跨越节点的并行,通过大量节点的并行处理来提高性能。在大量节点构成的分布式系统中,节点的失败,网络的失败是很平常的,所以系统的分区容忍性变得尤为重要。 根据Brewer提出的CAP理论(后来由Gilber和Lynch证明),大型分布式系统中,一致性(Consistency)、系统可用性(Availability)和分区容忍性(Partition tolerance)这三个目标最多只能兼顾两个。也就是说,如果追求高度的一致性和系统可用性,那么分区容忍性则必定受损。 关系型数据库一般通过ACID协议保证数据的一致性,并且通过分布式执行协议(如两阶段提交协议2PC) 保证事务的正确执行,追求系统的可用性,所以关系型数据库部署到大规模节点集群中必定会损失分区容忍性。在大规模分布式集群中,节点的失败稀松平常,有可能造成事务不断重启,永远无法结束的情况。 由以上分析可知,因为关系型数据库实施了强一致性,所以很难部署到大规模集群系统 (几千个节点规模) 。 关系型数据库的解决方法针对以上问题和挑战,关系型数据库可以采用一些方法解决大数据处理问题:
NoSQL异军突起关系型数据库自身的局限性使其很难部署到大规模分布式集群中,可扩展性成为关系型数据库进行海量数据处理的瓶颈。与此同时,noSQL技术顺应时代发展的需要,异军突起,蓬勃发展。noSQL的主要特点是采用不同于关系模型的数据模型,虽然NoSQL技术各具特点,但它们通常都遵从一些新的设计原则:
总结大数据时代,关系型数据库遭遇瓶颈,NoSQL数据库异军突起,应对大数据的挑战。 下一篇文章将介绍不同类别的NoSQL数据库及它们各自的特点。 附各种数据库产品(包括RDBMS和NoSQL)的CAP特性:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |