云计算背后的秘密:NoSQL诞生的原因和优缺点
我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoSQL不仅非常博大精深,而且我个人对NoSQL的理解也只是皮毛而已,但我还算是一个“知耻而后勇”的人,所以经过一段时间的学习之后,从本系列第六篇开始,就将和大家聊聊NoSQL,而本篇将主要给大家做一下NoSQL数据库的综述。
首先将和大家聊聊为什么NoSQL会在关系型数据库已经非常普及的情况下异军突起?
诞生的原因
随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,对技术提出了更多的需求,主要体现在下面这四个方面:
1. 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度;
2. 支撑海量的数据和流量:对于搜索这样大型应用而言,需要利用PB级别的数据和能应对百万级的流量;
3. 大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理;
4. 庞大运营成本的考量:IT经理们希望在硬件成本、软件成本和人力成本能够有大幅度地降低;
虽然关系型数据库已经在业界的数据存储方面占据不可动摇的地位,但是由于其天生的几个限制,使其很难满足上面这几个需求:
1. 扩展困难:由于存在类似Join这样多表查询机制,使得数据库在扩展方面很艰难;
2. 读写慢:这种情况主要发生在数据量达到一定规模时由于关系型数据库的系统逻辑非常复杂,使得其非常容易发生死锁等的并发问题,所以导致其读写速度下滑非常严重;
3. 成本高:企业级数据库的License价格很惊人,并且随着系统的规模,而不断上升;
4. 有限的支撑容量:现有关系型解决方案还无法支撑Google这样海量的数据存储;
业界为了解决上面提到的几个需求,推出了多款新类型的数据库,并且由于它们在设计上和传统的NoSQL数据库相比有很大的不同,所以被统称为“NoSQL”系列数据库。总的来说,在设计上,它们非常关注对数据高并发地读写和对海量数据的存储等,与关系型数据库相比,它们在架构和数据模型方量面做了“减法”,而在扩展和并发等方面做了“加法”。现在主流的NoSQL数据库有BigTable、HBase、Cassandra、SimpleDB、CouchDB、MongoDB和Redis等。接下来,将关注NoSQL数据库到底存在哪些优缺点。
优缺点
在优势方面,主要体现在下面这三点:
1. 简单的扩展:典型例子是Cassandra,由于其架构是类似于经典的P2P,所以能通过轻松地添加新的节点来扩展这个集群;
2. 快速的读写:主要例子有Redis,由于其逻辑简单,而且纯内存操作,使得其性能非常出色,单节点每秒可以处理超过10万次读写操作;
3. 低廉的成本:这是大多数分布式数据库共有的特点,因为主要都是开源软件,没有昂贵的License成本;
但瑕不掩瑜,NoSQL数据库还存在着很多的不足,常见主要有下面这几个:
1. 不提供对SQL的支持:如果不支持SQL这样的工业标准,将会对用户产生一定的学习和应用迁移成本;
2. 支持的特性不够丰富:现有产品所提供的功能都比较有限,大多数NoSQL数据库都不支持事务,也不像MS SQL Server和Oracle那样能提供各种附加功能,比如BI和报表等;
3. 现有产品的不够成熟:大多数产品都还处于初创期,和关系型数据库几十年的完善不可同日而语;
上面NoSQL产品的优缺点都是些比较共通的,在实际情况下,每个产品都会根据自己所遵从的数据模型和CAP理念而有所不同,接下来,将给大家介绍NoSQL两个最重要的概念:数据模型和CAP理念,并在本文最后,对主流的NoSQL数据库进行分类。
分享到:
相关推荐
#### 五、NoSQL数据库的优缺点 **优点**: - **高扩展性和可用性**:能够轻松地横向扩展,支持大数据量的应用。 - **灵活性**:支持灵活的数据模型,易于修改和扩展。 - **高性能**:针对特定场景进行了优化,提供...
非关系型数据库优缺点 非关系型数据库是一种NoSQL数据库, Redis是其中的一种,具有高性能、丰富的数据类型、原子性等特点。下面是Redis的优缺点和优化方案: Redis 的优点 1. 支持数据的持久化,可以将内存中的...
NOSQL的优缺点 优点: - 高扩展性:易于扩展,支持大数据处理。 - 高性能:读写速度快,尤其在高并发环境下。 - 灵活性:适应不同的数据模型和应用场景。 缺点: - 数据一致性:可能牺牲数据的一致性来换取性能。...
在“常用开源NoSQL原理与应用.ppt”中,可能涵盖了以上各类NoSQL数据库的详细介绍、优缺点分析以及实际案例研究。同时,提供的“ITFriend.txt”文件可能包含与讲座相关的补充资料或讨论话题,帮助读者更全面地理解...
综上所述,"NoSQL数据库入门思维导图"应包含了NoSQL的基本概念、主要类型、优缺点以及与MySQL的对比,帮助初学者理解并选择合适的数据库技术。通过“基础知识.mmap”可以深入学习NoSQL的原理和操作,而“常见的NoSQL...
通过阅读《NoSQL精粹》中文版和英文版,读者可以深入了解NoSQL数据库的设计理念、优缺点以及如何在实际项目中选择和应用合适的NoSQL解决方案。书中的案例分析和实践经验有助于开发者更好地理解和掌握NoSQL数据库的...
综上所述,《Professional NoSQL (2011)》这本书将带领读者全面了解NoSQL的世界,深入探讨各类NoSQL数据库的特性、优缺点以及实际应用,对于希望在大数据时代掌握非关系型数据库技术的IT专业人士来说,是一本不可或...
本学习文档将深入探讨NoSQL的原理、类型、优缺点以及实际应用。 一、NoSQL的基本概念 NoSQL数据库摒弃了传统SQL的严格结构化模式,支持动态schema,更适用于互联网应用中数据模型变化快、数据量大、读写频繁的特点...
标题和描述中提到的关键知识点包括Nosql和HBase的原理,以及HBase的优缺点和适用场景。以下是对这些内容的详细分析和解释。 首先,Nosql(NoSQL,即"Not Only SQL"的缩写)是一种数据存储和管理技术,它提供了一种...
Hbase 的优缺点: 优势: 1. 存储容量大,一个表可以容纳上亿行,上百万列 2. 可通过版本进行检索,能搜到所需的历史版本数据 3. 负载高时,可通过简单的添加机器来实现水平切分扩展,跟 Hadoop 的无缝集成保障了...
NoSQL一词最初代表“反SQL”,意在用新型的非关系数据库取代关系数据库,但随着时间的推移,其含义已演变为“不仅仅是SQL”,表示关系型和非关系型数据库各有优缺点,不能互相替代。 NoSQL数据库具有几个显著特点:...
书中可能会详细讨论这些模型的优缺点,以及如何根据业务需求选择合适的NoSQL数据库。NoSQL数据库在扩展性、灵活性和性能方面有显著优势,但也存在数据一致性、事务处理等方面的挑战。作者可能会探讨如何通过设计和...
了解它们的特点、优缺点以及适用场景,对于开发者来说至关重要。 首先,SQL(Structured Query Language)是关系型数据库的标准语言,它以其强大的查询能力、事务处理和数据一致性著称。在传统的企业级应用、金融...
【描述】:该文档是关于Nosql分布式数据库的一份期末考试试题,涵盖了多种NoSQL数据库的相关知识,包括选择题和填空题,涉及MySQL、MongoDB、Redis、HBase等数据库的特点、优缺点、操作语句以及相关概念。...
本教程将对比NoSQL与SQL的优缺点,探讨不同场景下选择NoSQL的原因,并通过实际示例展示如何在Web开发、实时分析等领域中应用NoSQL。 【学习资源】 提供的资料“资料.txt”可能包含了视频教程的链接、笔记或相关阅读...
12. NoSQL产品选择:书中将讨论如何在多种NoSQL产品中选择合适的解决方案,包括比较它们的优缺点。 13. 性能调优:高级章节将探讨如何调整和优化NoSQL数据库的性能,包括硬件选择、查询优化、索引策略和其他性能...
综上所述,山东大学软件学院的NoSQL期末试卷涵盖了NoSQL数据库的基本概念、类型、优缺点及其在实际应用中的技巧。通过复习这些试卷和答案,同学们能够系统地了解和掌握NoSQL技术,为未来应对大数据时代的挑战做好...