在大数据时代,数据库选择SQL或NoSQL

在大数据时代,数据库选择SQL或NoSQL
一、专家简介
Ryan Betts,VoltDB的首席技术官,说,SQL已经赢得了大型企业的广泛部署,大数据是另一个领域,它可以支持
Bob Wiederhold,首席执行官Couchbase,说是一个可行的选择。在许多方面,它是大数据的最佳选择,尤其是在可伸缩性方面。
二是SQL正在经历时间的考验,还在蓬勃发展。
结构化查询语言(SQL)是久经考验的赢家。这是几十年来一直负责的。目前,大数据的公司和机构(如谷歌、脸谱网、Cloudera和Apache)正积极投资在SQL。
在占主导地位的技术(如SQL)之后,有时很容易忘记它的优越性:
1。SQL可以增强与数据的交互,并为单个数据库设计提供问题,这是一个关键特性,因为不交互的数据基本上是无用的,增强的交互性可以带来新的见解、新的问题和有意义的未来交互。
2。SQL是标准化的,允许用户在整个系统中使用他们的知识,并支持第三方附件和工具
三.SQL可以扩展,而且功能多,测试时间长,可以解决快速写传输的问题,对扫描密集型问题进行深入分析。
4、SQL采用正交形式进行数据表示和存储。一些SQL系统支持JSON和其他结构化对象格式,具有更好的性能和更多的功能比NoSQL。
虽然NoSQL的出现带来了一定的影响,SQL仍然主导着市场,赢得了很多在大数据领域的投资和广泛的部署。
NoSQL的说法很模糊。在这个讨论中,我借用NoSQL的Rick Cattell的定义,这是提供简单的操作(如关键/数值存储)或简单的记录和索引,并专注于这些简单的操作水平的可扩展性。
显然,许多新的数据库现在不一样了。它成功的关键是理解背后的原则每个数据库和潜在的问题。NoSQL的主要特性使它更适合于特定的问题。例如,一个图形化的数据库更适合数据通过关系组织,和一个特殊的文本搜索系统更适合于实时搜索。
下面,我们来看看SQL系统的主要优点和区分功能:
* SQL可以实现interactivity.sql是声明性查询语言,用户说他们想要什么(例如,显示顶级客户的位置在三月过去五年),和组件的算法是建立在数据库和请求的结果提取出来。相反,NoSQL MapReduce是一种编程创新程序查询技术,当用户请求一个请求,MapReduce要求用户不仅要说他想说的话,也要告诉他们如何产生一个答案。
这听起来像是一个枯燥的技术差异,但这是一个关键的原因:第一,声明式SQL查询更容易通过图形工具构建,并单击报表生成器,从而允许分析师、操作员、管理人员和其他不具备软件编程能力的员工查询数据库。其次,数据库引擎可以使用内部信息选择最有效的算法,以改变数据库的物理布局或数据库,最好的算法还可以计算的。在一个程序系统,程序员需要重新审视和重新编程的算法,这是非常昂贵的和容易出错的过程。
市场了解到这种关键性的差异。2010,谷歌宣布SQL补充MapReduce的部署,主要由内部用户需求驱动的。最近,脸谱网发布了Presto(一个SQL部署)查询它的PB级的HDFS集群。据脸谱网,作为我们的仓库发展到PB级,我们需要改变,我们清楚认识到需要提供低延迟查询互动系统。此外,Cloudera也是建筑帕拉-另一个HDFS基于SQL的部署。
* SQL是标准化的。虽然厂商有时SQL界面添加自己的语言,SQL的核心是标准化,以及其他规格,如ODBC和JDBC,以SQL存储提供广泛提供稳定的接口。这带来了管理和操作工具的生态系统,可以设计、监控、检查、探索,和内置的SQL系统。
SQL用户和程序员可以在多个后端系统中重用其API和UI知识,减少应用程序的开发时间。标准化还允许声明性第三方提取、转换和加载(ETL)工具,使企业能够在数据库和跨系统之间传输数据。
* SQL扩展。认为SQL必须牺牲扩展性的想法是完全错误的。如前所述,脸谱网创建了一个SQL的接口查询PB级data.sql可以运行非常有效的酸传输很efficiently.sql提供数据存储和索引的概念,允许在各种问题和数据集的大小一致的使用,使SQL的高效运行在集群复制数据存储。使用SQL作为接口的独立构建云,规模,或HA系统,没有什么能够阻止和限制容错,高可用性,和复制的SQL。事实上,所有现代SQL系统支持云友好的横向可扩展性、复制和容错性。
* SQL支持JSON。几年前,许多SQL系统添加XML文档的支持。现在,当JSON成为一种流行的数据交换格式,SQL的厂商也加入了JSON类型支持。基于灵活的编程过程和正常运行时间要求的网络基础设施,我们需要结构化数据类型的支持Oracle 12C,PostgreSQL 9.2,VoltDB,和其他数据库支持JSON通常有性能优于原生JSON。
SQL将继续赢得市场份额,并将继续看到新的投资和部署NoSQL数据库提供了一个专有的查询语言或简单的关键值语义技术没有进一步分化。现代SQL系统提供了可扩展性,支持更丰富的查询语义,庞大的用户安装基础,广泛的生态系统整合和深入企业部署。
三、NoSQL更适合大数据应用
NoSQL越来越被认为是一个可行的替代关系数据库,特别是对于大数据的应用。此外,无模式数据模型通常是更适合与现在捕获和处理的数据类型。
当我们谈论在NoSQL领域的大数据,我们指的是阅读和写作的操作数据库。不要混淆操作数据库的分析数据库,通常是在大量的数据,从这些数据中获得的知名度。
尽管操作数据库中的大数据似乎不具有解析性,但操作数据库通常存储大量用户的大型数据集。这些用户经常需要在实时执行交易的数据访问操作数据库的大小。这也解释了NoSQL的关键特征,这就是为什么NoSQL是大数据应用的一个关键原因。
四、NoSQL是可扩展性的关键
每一次技术产业经历了硬件开发的一个根本性的变化,会出现一个拐点。在数据库领域,从纵向到横向扩张的转型促进了NoSQL的发展。关系数据库(包括Oracle和IBM的数据库)是纵向的,也就是说,他们是集中、共享技术,只能通过增加更多的昂贵的硬件扩展。
NoSQL数据库是一个分布式的横向扩展技术。他们使用分布式的节点集合(称为集群)提供高弹性的扩展,允许用户添加节点的动态处理负荷。
分布式横向扩展的方法比垂直方法便宜通常,商业关系数据库的授权费用也望而却步,因为其价格由每台服务器计算。另一方面,NoSQL数据库通常是开源技术,这是由运行的服务器集群充电,且价格相对便宜。
五、NoSQL是灵活性的关键
关系数据库是从NoSQL数据模型非常不同。关系模式获取数据和distribus数据分成许多相互关联的表,这是通过外键用于对方。
当用户需要运行在数据集的查询,信息需要从多个表收集(通常涉及数百个企业级应用),结合这些信息,然后提供给应用程序。同样,写数据时,它是必要的协调和执行写在多个表中。当数据比较小,当数据进入数据库的速度较慢,关系数据库通常可以捕获和存储信息。然而,今天的应用程序经常需要写(读)海量数据快速。
NoSQL数据库采用非常不同的模式。它的核心,NoSQL数据库实际上是NoREL或非关系,这意味着他们不依赖于表和表来存储和组织信息的关系。例如,文档型NoSQL数据库获取你想存储数据并集成到一个JSON格式的文档。每个JSON文档可以看作是由您的应用程序的对象。JSON文档可以提取数据在25个表中的数据整合到一个文件
这些信息的聚合可能导致信息复制,但由于存储不再是成本问题,数据模型的灵活性、易于发布生成的文档以及增强的读写性能使得这是一个不错的选择。
六、NoSQL是大数据应用的关键
通过第三方(包括社交媒体网站),数据越来越容易被访问。这些数据包括用户个人信息、地理位置数据、用户产生的内容,机器记录数据,并由传感器产生的数据,企业也可以依靠大数据来驱动他们的关键任务应用,同时,企业正在转向NoSQL数据库,因为数据库是非常适合新的数据类型。
开发人员需要一种灵活的数据库,可以很容易地适应新的数据类型,并不会通过第三方数据提供商的内容结构变化的影响。最新数据是非结构化和半结构化,所以开发商还需要一个数据库,可以有效地存储这些数据。然而,图式严格的定义为基础的方法,在关系数据库中,使得它不可能迅速融入新的数据类型,非常适合非结构化和半结构化数据。
一般来说,随着Web和移动应用程序,增加新的发展趋势,网上消费者行为和新数据类型的出现转变,行业需要提供可扩展的、灵活的数据库技术来管理和访问data.nosql技术有效地满足这些需求的唯一可行的解决方案。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部