nosql就是大数据,什么是NoSQL数据库?-成都快上网建站

nosql就是大数据,什么是NoSQL数据库?

大数据应用程序最佳选择:是SQL还是NoSQL

执行大数据[注]项目的企业面对的关键决策之一是使用哪个数据库,SQL还是NoSQL?SQL有着骄人的业绩,庞大的安装基础;而NoSQL正在获得可观的收益,且有很多支持者。我们来看看两位专家对这个问题的看法。

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的西塞山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

专家

·VoltDB公司首席技术官Ryan Betts表示,SQL已经赢得了大型企业的广泛部署,大数据是它可以支持的另一个领域。

·Couchbase公司首席执行官Bob Wiederhold表示,NoSQL是可行的选择,并且从很多方面来看,它是大数据的最佳选择,特别是涉及到可扩展性时。

SQL经历时间的考验,并仍然在蓬勃发展

VoltDB公司首席技术官Ryan Betts

结构化查询语言(SQL)是经过时间考验的胜利者,它已经主宰了几十年,目前大数据公司和组织(例如谷歌、Facebook、Cloudera和Apache)正在积极投资于SQL。

在成为主导技术(例如SQL)后,有时候我们很容易忘记其优越性。SQL的独特优势包括:

1. SQL能够加强与数据的交互,并允许对单个数据库设计提出问题。这是很关键的特征,因为无法交互的数据基本上是没用的,并且,增强的交互性能够带来新的见解、新的问题和更有意义的未来交互。

2. SQL是标准化的,使用户能够跨系统运用他们的知识,并对第三方附件和工具提供支持。

3. SQL能够扩展,并且是多功能和经过时间验证的,这能够解决从快写为主导的传输到扫描密集型深入分析等问题。

4. SQL对数据呈现和存储采用正交形式,一些SQL系统支持JSON和其他结构化对象格式,比NoSQL具有更好的性能和更多功能。

虽然NoSQL的出现带来了一些影响,但SQL仍然主导着市场,并在大数据领域赢得了很多投资和广泛部署。

NoSQL的说法很含糊,对于本次讨论,我借用Rick Cattell对NoSQL的定义,即提供简单操作(例如密钥/数值存储)或简单记录和索引,并专注于这些简单操作的横向可扩展性的系统。

很显然,现在很多新的数据库并不是都一样,认识每种数据库背后的原理以及潜在问题是成功的关键。NoSQL的主要特点使其更适合于特定的问题。例如,图形数据库更适合于数据通过关系组织的情况,而专门的文本搜索系统更适合于需要实时搜索的情况。

在这里,让我们看看SQL系统的主要优势和差异化功能:

* SQL可实现交互性。 SQL是一种声明性查询语言。用户说出他们想要什么(例如,显示过去五年三月份期间顶级客户的地理位置),数据库内部就会构件算法并提取请求的结果。相比之下,NoSQL编程创新MapReduce是一种程序性查询技术。在用户提出请求时,MapReduce要求用户不仅说出自己想要什么,而且要求他们陈述如何产生答案。

这听起来像一个无趣的技术差异,但这很关键,原因在于:首先,声明性SQL查询更容易通过图形化工具以及点击报告构建器来构建。这让分析师、操作员、管理者和其他不具备软件编程能力的员工进行数据库查询;其次,数据库引擎可以利用内部信息来选择最有效的算法。改变数据库的物理布局或数据库,最佳算法仍然能够计算出来。而在程序性系统中,编程人员需要重新访问和重新编程算法,这是非常昂贵且容易出错的过程。

市场理解这个关键区别。在2010年,谷歌宣布部署SQL来补充MapReduce,主要受内部用户需求所驱动。最近,Facebook发布了Presto(一种SQL部署)来查询其PB级HDFS集群。根据Facebook表示:“随着我们的仓库增长到PB级,以及我们的需求变化,我们清楚地意识到,我们需要一个提供低延时查询的互动系统。”此外,Cloudera也正在构建Impala—另一个基于HDFS的SQL部署。

* SQL是标准化的。 虽然供应商有时候会添加自己的语言到SQL界面,但SQL的核心是标准化的,还有其他规格(例如ODBC和JDBC)提供广泛可用的稳定界面到SQL存储。这带来了一个管理和操作工具生态系统,可以在SQL系统之上设计、监控、检查、探索和构建应用程序。

SQL用户和程序员可用跨多个后端系统重复使用其API和UI知识,减少了应用程序的开发时间。标准化还允许声明性第三方提取、转换、加载(ETL)工具,使企业可以在数据库之间以及跨系统传输数据。

* SQL可扩展。 认为SQL必须牺牲以获得可扩展性的看法,完全是错误的。如前所述,Facebook创建了一个SQL界面来查询PB级数据。SQL能够非常有效地运行极快的ACID传输。SQL对数据存储和索引提供的抽象[注]化允许跨各种问题和数据集大小的一致使用,让SQL可以跨集群复制数据存储有效地运行。使用SQL作为界面独立于构建云、规模或HA系统,SQL中并没有什么在阻止和限制容错、高可用性和复制。事实上,所有现代SQL系统支持云友好型横向可扩展性、复制和容错性。

* SQL支持JSON。 几年前,很多SQL系统增加了XML文档支持。现在,随着JSON成为一种流行的数据交换格式,SQL供应商也纷纷加入了JSON型的支持。基于现在灵活的编程过程和web基础设施的正常运行时间要求,我们很需要结构化数据类型的支持。Oracle 12c、PostgreSQL 9.2、VoltDB和其他支持JSON的数据库,通常具有优于“原生”JSON的性能。

SQL将继续赢得市场份额,并会继续看到新的投资和部署。NoSQL数据库提供专有查询语言或简单的键值语义,而没有更深层次的技术差异化。现代SQL系统提供可扩展性的同时,还支持更丰富的查询语义,并有庞大的用户安装基础,广泛的生态系统整合和深度企业部署。

NoSQL更适合大数据应用程序

Couchbase公司首席执行官Bob Wiederhold

NoSQL越来越多地被认为是关系型数据库的可行替代品,特别是对于大数据应用程序。此外,无模式数据模型通常更适合于现在捕捉和处理的数据种类和类型。

当我们谈论NoSQL领域的大数据时,我们指的是从操作数据库读取和写入。不要将操作数据库与分析数据库混淆,这通常会查看大量数据,并从这些数据获取可视性。

虽然操作数据库的大数据看起来不具有可分析性,但操作数据库通常会存储超大量用户的大型数据集,这些用户经常需要访问数据来实时执行交易。这种数据库的操作规模也解释了NoSQL的关键特性,也就是为什么NoSQL是大数据应用程序的关键的原因。

NoSQL是可扩展性的关键

每次技术行业经历硬件发展的根本性转变时,都会出现一个拐点。在数据库领域,从纵向扩展到横向扩展的转变推动了NoSQL的发展。关系型数据库(包括来自甲骨文和IBM的数据库)是纵向扩展。也就是说,它们是集中式、共享一切的技术,只能通过增加更多昂贵的硬件来扩展。

而NoSQL数据库是分布式横向扩展技术。它们使用了分布式节点集(称为集群)来提供高度弹性扩展功能,让用户可以添加节点来动态处理负载。

分布式横向扩展的做法通常要比纵向做法更加便宜。商业关系型数据库的授权费用也让人望而却步,因为他们的价格是按每台服务器来计算。另一方面,NoSQL数据库通常是开源技术,按照运行的服务器集群收费,而且价格相对便宜。

NoSQL是灵活性的关键

关系型数据库和NoSQL数据模型有很大的不同。关系型模式获取数据,并将数据分配到很多相互关联的表中,这些表通过外键相互应用。

当用户需要对数据集运行查询时,所需信息需要从多个表中收集(通常涉及数百个企业应用程序),并结合这些信息,再提供给应用程序。同样地,当写入数据时,需要在多个表协调和执行写入。当数据相对较少,并且,数据以较慢速度流入数据库时,关系型数据库通常能够捕捉和存储信息。然而,现在的应用程序通常需要快速写入(和读取)海量数据。

NoSQL数据库采用非常不同的模式。在其核心,NoSQL数据库其实是“NoREL”,或者说非关系型,这意味着它们没有依赖于表以及表之间的联系,以存储和组织信息。例如,以文档为导向的NoSQL数据库获取你想要存储的数据,并采用JSON格式整合到文档中。每个JSON文档可以被你的应用程序视为一个对象。JSON文档可能会提取跨越25个表的数据,将数据集成到一个文档中。

聚合这些信息可能会导致信息重复,但由于存储已不再是一个成本问题,数据模型灵活性、发布所产生文档的简便性以及读取和写入性能提高,让这成为不错的选择。

NoSQL是大数据应用程序的关键

通过第三方(包括社交媒体网站),数据正变得越来越容易捕捉和访问。这些数据包括:个人用户信息、地理位置数据、用户生产的内容、机器记录数据和传感器产生的数据。企业还可以依赖于大数据来推动其关键任务型应用程序。同时,企业正在转向到NoSQL数据库,因为这种数据库非常适合现在新型的数据类型。

开发人员想要一个灵活的数据库,可以很容易适应新的数据类型,并且,不会受第三方数据供应商的内容结构变化的影响。大多数新数据是非结构化和半结构化,因此,开发人员也需要能够有效存储这些数据的数据库。然而,关系型数据库采用的严格定义的基于模式的做法让其不可能快速整合新数据类型,并且很不适合于非结构化和半结构化数据。

总体来说,随着web和移动应用程序的增加、新的趋势、网上消费者行为的转变以及新的数据类型的出现,行业需要能够提供可扩展的灵活的数据库技术来管理和访问数据。NoSQL技术是有效满足这些需求的唯一可行解决方案。

NoSQL是大数据的未来吗

我们知道大数据产生了巨大的数据,那么是需要去存储这些数据的,NoSQL,泛指非关系型的数据库,它类似于存放数据的仓库,对数据进行存储,相比mysql,是它的升级版,NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

nosql是什么

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的工具,可以为大数据建立快速、可扩展的存储库。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:

不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。

无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。

弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。

异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丢失少量的数据。

BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务。

NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同,甚至远远超过两种关系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的NoSQL。

什么是NoSQL以及其特点

1、NoSQL:以前的翻译是“不使用SQL”:因为有一部分认为SQL查询复杂了。现在的翻译是“不仅仅是SQL”NOSQL数据库与关系性数据最大的区别在于数据存储方面。NOSQL采用文档的形式存储数据、关系型数据库采用表的结构存储数据。

2、NOSQL在大数据面前比SQL数据库更占优势。


分享标题:nosql就是大数据,什么是NoSQL数据库?
转载源于:http://kswjz.com/article/dssgssc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流