十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
特点:
目前创新互联建站已为上千余家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器租用、企业网站设计、原平网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
它们可以处理超大量的数据。
它们运行在便宜的PC服务器集群上。
PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。
它们击碎了性能瓶颈。
NoSQL的支持者称,通过NoSQL架构可以省去将Web或Java应用和数据转换成SQL友好格式的时间,执行速度变得更快。
“SQL并非适用于所有的程序代码,” 对于那些繁重的重复操作的数据,SQL值得花钱。但是当数据库结构非常简单时,SQL可能没有太大用处。
没有过多的操作。
虽然NoSQL的支持者也承认关系数据库提供了无可比拟的功能集合,而且在数据完整性上也发挥绝对稳定,他们同时也表示,企业的具体需求可能没有那么多。
Bootstrap支持
因为NoSQL项目都是开源的,因此它们缺乏供应商提供的正式支持。这一点它们与大多数开源项目一样,不得不从社区中寻求支持。
优点:
易扩展
NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。
大数据量,高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,在针对web2.0的交互频繁的应用,Cache性能不高。而NoSQL的 Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多了。
灵活的数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的web2.0时代尤其明显。
高可用
NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如Cassandra,HBase模型,通过复制模型也能实现高可用。
主要应用:
Apache HBase
这个大数据管理平台建立在谷歌强大的BigTable管理引擎基础上。作为具有开源、Java编码、分布式多个优势的数据库,Hbase最初被设计应用于Hadoop平台,而这一强大的数据管理工具,也被Facebook采用,用于管理消息平台的庞大数据。
Apache Storm
用于处理高速、大型数据流的分布式实时计算系统。Storm为Apache Hadoop添加了可靠的实时数据处理功能,同时还增加了低延迟的仪表板、安全警报,改进了原有的操作方式,帮助企业更有效率地捕获商业机会、发展新业务。
Apache Spark
该技术采用内存计算,从多迭代批量处理出发,允许将数据载入内存做反复查询,此外还融合数据仓库、流处理和图计算等多种计算范式,Spark用Scala语言实现,构建在HDFS上,能与Hadoop很好的结合,而且运行速度比MapReduce快100倍。
Apache Hadoop
该技术迅速成为了大数据管理标准之一。当它被用来管理大型数据集时,对于复杂的分布式应用,Hadoop体现出了非常好的性能,平台的灵活性使它可以运行在商用硬件系统,它还可以轻松地集成结构化、半结构化和甚至非结构化数据集。
Apache Drill
你有多大的数据集?其实无论你有多大的数据集,Drill都能轻松应对。通过支持HBase、Cassandra和MongoDB,Drill建立了交互式分析平台,允许大规模数据吞吐,而且能很快得出结果。
Apache Sqoop
也许你的数据现在还被锁定于旧系统中,Sqoop可以帮你解决这个问题。这一平台采用并发连接,可以将数据从关系数据库系统方便地转移到Hadoop中,可以自定义数据类型以及元数据传播的映射。事实上,你还可以将数据(如新的数据)导入到HDFS、Hive和Hbase中。
Apache Giraph
这是功能强大的图形处理平台,具有很好可扩展性和可用性。该技术已经被Facebook采用,Giraph可以运行在Hadoop环境中,可以将它直接部署到现有的Hadoop系统中。通过这种方式,你可以得到强大的分布式作图能力,同时还能利用上现有的大数据处理引擎。
Cloudera Impala
Impala模型也可以部署在你现有的Hadoop群集上,监视所有的查询。该技术和MapReduce一样,具有强大的批处理能力,而且Impala对于实时的SQL查询也有很好的效果,通过高效的SQL查询,你可以很快的了解到大数据平台上的数据。
Gephi
它可以用来对信息进行关联和量化处理,通过为数据创建功能强大的可视化效果,你可以从数据中得到不一样的洞察力。Gephi已经支持多个图表类型,而且可以在具有上百万个节点的大型网络上运行。Gephi具有活跃的用户社区,Gephi还提供了大量的插件,可以和现有系统完美的集成到一起,它还可以对复杂的IT连接、分布式系统中各个节点、数据流等信息进行可视化分析。
MongoDB
这个坚实的平台一直被很多组织推崇,它在大数据管理上有极好的性能。MongoDB最初是由DoubleClick公司的员工创建,现在该技术已经被广泛的应用于大数据管理。MongoDB是一个应用开源技术开发的NoSQL数据库,可以用于在JSON这样的平台上存储和处理数据。目前,纽约时报、Craigslist以及众多企业都采用了MongoDB,帮助他们管理大型数据集。(Couchbase服务器也作为一个参考)。
十大顶尖公司:
Amazon Web Services
Forrester将AWS称为“云霸主”,谈到云计算领域的大数据,那就不得不提到亚马逊。该公司的Hadoop产品被称为EMR(Elastic Map Reduce),AWS解释这款产品采用了Hadoop技术来提供大数据管理服务,但它不是纯开源Hadoop,经过修改后现在被专门用在AWS云上。
Forrester称EMR有很好的市场前景。很多公司基于EMR为客户提供服务,有一些公司将EMR应用于数据查询、建模、集成和管理。而且AWS还在创新,Forrester称未来EMR可以基于工作量的需要自动缩放调整大小。亚马逊计划为其产品和服务提供更强大的EMR支持,包括它的RedShift数据仓库、新公布的Kenesis实时处理引擎以及计划中的NoSQL数据库和商业智能工具。不过AWS还没有自己的Hadoop发行版。
Cloudera
Cloudera有开源Hadoop的发行版,这个发行版采用了Apache Hadoop开源项目的很多技术,不过基于这些技术的发行版也有很大的进步。Cloudera为它的Hadoop发行版开发了很多功能,包括Cloudera管理器,用于管理和监控,以及名为Impala的SQL引擎等。Cloudera的Hadoop发行版基于开源Hadoop,但也不是纯开源的产品。当Cloudera的客户需要Hadoop不具备的某些功能时,Cloudera的工程师们就会实现这些功能,或者找一个拥有这项技术的合作伙伴。Forrester表示:“Cloudera的创新方法忠于核心Hadoop,但因为其可实现快速创新并积极满足客户需求,这一点使它不同于其他那些供应商。”目前,Cloudera的平台已经拥有200多个付费客户,一些客户在Cloudera的技术支持下已经可以跨1000多个节点实现对PB级数据的有效管理。
Hortonworks
和Cloudera一样,Hortonworks是一个纯粹的Hadoop技术公司。与Cloudera不同的是,Hortonworks坚信开源Hadoop比任何其他供应商的Hadoop发行版都要强大。Hortonworks的目标是建立Hadoop生态圈和Hadoop用户社区,推进开源项目的发展。Hortonworks平台和开源Hadoop联系紧密,公司管理人员表示这会给用户带来好处,因为它可以防止被供应商套牢(如果Hortonworks的客户想要离开这个平台,他们可以轻松转向其他开源平台)。这并不是说Hortonworks完全依赖开源Hadoop技术,而是因为该公司将其所有开发的成果回报给了开源社区,比如Ambari,这个工具就是由Hortonworks开发而成,用来填充集群管理项目漏洞。Hortonworks的方案已经得到了Teradata、Microsoft、Red Hat和SAP这些供应商的支持。
IBM
当企业考虑一些大的IT项目时,很多人首先会想到IBM。IBM是Hadoop项目的主要参与者之一,Forrester称IBM已有100多个Hadoop部署,它的很多客户都有PB级的数据。IBM在网格计算、全球数据中心和企业大数据项目实施等众多领域有着丰富的经验。“IBM计划继续整合SPSS分析、高性能计算、BI工具、数据管理和建模、应对高性能计算的工作负载管理等众多技术。”
Intel
和AWS类似,英特尔不断改进和优化Hadoop使其运行在自己的硬件上,具体来说,就是让Hadoop运行在其至强芯片上,帮助用户打破Hadoop系统的一些限制,使软件和硬件结合的更好,英特尔的Hadoop发行版在上述方面做得比较好。Forrester指出英特尔在最近才推出这个产品,所以公司在未来还有很多改进的可能,英特尔和微软都被认为是Hadoop市场上的潜力股。
MapR Technologies
MapR的Hadoop发行版目前为止也许是最好的了,不过很多人可能都没有听说过。Forrester对Hadoop用户的调查显示,MapR的评级最高,其发行版在架构和数据处理能力上都获得了最高分。MapR已将一套特殊功能融入其Hadoop发行版中。例如网络文件系统(NFS)、灾难恢复以及高可用性功能。Forrester说MapR在Hadoop市场上没有Cloudera和Hortonworks那样的知名度,MapR要成为一个真正的大企业,还需要加强伙伴关系和市场营销。
Microsoft
微软在开源软件问题上一直很低调,但在大数据形势下,它不得不考虑让Windows也兼容Hadoop,它还积极投入到开源项目中,以更广泛地推动Hadoop生态圈的发展。我们可以在微软的公共云Windows Azure HDInsight产品中看到其成果。微软的Hadoop服务基于Hortonworks的发行版,而且是为Azure量身定制的。
微软也有一些其他的项目,包括名为Polybase的项目,让Hadoop查询实现了SQLServer查询的一些功能。Forrester说:“微软在数据库、数据仓库、云、OLAP、BI、电子表格(包括PowerPivot)、协作和开发工具市场上有很大优势,而且微软拥有庞大的用户群,但要在Hadoop这个领域成为行业领导者还有很远的路要走。”
Pivotal Software
EMC和Vmware部分大数据业务分拆组合产生了Pivotal。Pivotal一直努力构建一个性能优越的Hadoop发行版,为此,Pivotal在开源Hadoop的基础上又添加了一些新的工具,包括一个名为HAWQ的SQL引擎以及一个专门解决大数据问题的Hadoop应用。Forrester称Pivotal Hadoop平台的优势在于它整合了Pivotal、EMC、Vmware的众多技术,Pivotal的真正优势实际上等于EMC和Vmware两大公司为其撑腰。到目前为止,Pivotal的用户还不到100个,而且大多是中小型客户。
Teradata
对于Teradata来说,Hadoop既是一种威胁也是一种机遇。数据管理,特别是关于SQL和关系数据库这一领域是Teradata的专长。所以像Hadoop这样的NoSQL平台崛起可能会威胁到Teradata。相反,Teradata接受了Hadoop,通过与Hortonworks合作,Teradata在Hadoop平台集成了SQL技术,这使Teradata的客户可以在Hadoop平台上方便地使用存储在Teradata数据仓库中的数据。
AMPLab
通过将数据转变为信息,我们才可以理解世界,而这也正是AMPLab所做的。AMPLab致力于机器学习、数据挖掘、数据库、信息检索、自然语言处理和语音识别等多个领域,努力改进对信息包括不透明数据集内信息的甄别技术。除了Spark,开源分布式SQL查询引擎Shark也源于AMPLab,Shark具有极高的查询效率,具有良好的兼容性和可扩展性。近几年的发展使计算机科学进入到全新的时代,而AMPLab为我们设想一个运用大数据、云计算、通信等各种资源和技术灵活解决难题的方案,以应对越来越复杂的各种难题。
如何玩转 NoSQL数据库?作者:IT专家网
Weather公司CIO Bryson Koehler整理出了MongoDB,Riak和Cassandra等NoSQL数据库的特性。他指出这其中最重要的特性是“NoSQL不会限制住你”。
Weather公司,致力于天气报告和天气预报业务,其并不缺乏数据,当然也不缺乏数据管理工具。但它为什么需要三种不同的NoSQL数据库?
最近,我向Weather 公司的CIO Bryson Koehler提出了这个疑问,除了公司的CIO,Bryson Koehler还是其他很多业务单元的孵化者,包括Weather Channel,WeatherFX,Weather Underground,和Intellicast等。Weather公司每天获取和处理着约20万亿字节数据,对外提供当前全球天气状况,并为航空公司,紧急服务,货运商,公用事业,保险,以及在线天气网站和天气应用程序的用户提供天气预报服务。每天需求增加了数十亿的天气数据请求,并且预期响应时间要在10毫秒左右。
Riak是Weather 公司的后台NoSQL数据库,服务于公司的事务性存储公用网络(SUN)数据获取平台,它运行在多个亚马逊网络服务(AWS)的可用区域上,并以每小时15次的频率捕获超过20亿气象数据信息,。所以,Riak具有明确的处理规模,但该公司也使用Cassandra以及新近添加的MongoDB数据库,为Weather.com 上IOS和Android移动应用程序服务。
Weather 公司使用了不同的产品,Koehler解释说,因为“不同的工具有不同的优势。
Cassandra,它服务于Weather 公司以及全球消费者使用的第三方天气应用的API数据:“我们的数据分发平台每秒处理数十万的事务,我们发现Cassandra在用于全球分发数据上是一个很棒的解决方案,并且在[数据库]读取方面体现出很高的可用性 “。它本质上为全球各地消费者所使用的数据服务,包括Weather 公司和第三方的天气应用程序。
MongoDB,它提供了Weather.com网站和移动应用程序的中间层缓存功能:“离开我们的核心API,我们还没有全部Weather.com内容,所以MongoDB是容器和分发站,为Weather.com以及Android和iOS上的移动应用程序服务。Mongo有很多好处,这些好处基于其内建的JSON格式以及灵活性上。“
Riak,用于消费气象数据和观测,包括来自世界各地的图片和视频等:“我们喜爱Riak因其优秀的数据摄取能力,而且是以一种全球分布式的方式来实现。这对于从全球分布式平台上获取数据的入站式数据库是一个真正可靠的选择。
我曾听说Datastax,Basho和Couchbase的高管贬低MongoDB的可扩展性,但MongoDB指向大规模部署,在Facebook对超过200万台移动设备上应用程序提供支持,在eHarmony公司,MongDB每天处理着数十亿的潜在比赛预约。据Koehle所述,MongoDB为Weather.com和Weather.com移动应用程序处理着“每天十亿交易”,“毫无疑问,你可以通过配置和部署Mongo来处理大批量的交易数据。”
尽管如此,Koehler承认,他将“很乐于看到MongoDB继续使全球集群和多位置[功能]更加无缝化且易于使用。” 这些属于全球性的分布式集群,复制和负载平衡是Cassandra和Riak众所周知的功能。
从规模讨论的角度来看,很少有公司达到Weather公司的经营规模。易于开发,架构灵活性和JSON数据处理使得MongoDB的成为世界上最流行的NoSQL数据库。这就是为什么微软和IBM都进行了MongoDB的模仿,如微软的Azure DocumentDB和IBM的 Cloudant,而不是Cassandra和Riak。
Weather公司可以从三个NoSQL标准降低至两个的过程中得到巩固,Koehler说,但公司没有准备好这么做。
“由于我们构造了由许多不同的数据解决方案组成的网状结构,我们目前的环境已过于复杂,”他说。“我们希望给团队一些自由的空间,让我们可以了解所有选择的利弊,但你将会看到一些整合。”
到了那个时候,迁移将不在是一件难事,因为“关于NoSQL数据库最重要的事情是,你不会被困在其中,” Koehler说。“如果你的架构和编码正确,从一个数据库迁移到另一个并不难。随着模式的自由以及数据转存技术的发展,无论前者是一个key-value存储或其他什么形式,转储数据都将十分容易。“
对特定产品进程自定义编码的复杂的存储过程已经一去不复返了,Koehler说,但关于“结构化和编码正确”还有很多需要考虑的地方?这样做是为了避免特殊供应商提供的工具和功能可能让你身陷其中。他举了亚马逊网络服务“(AWS)的消息服务为例。
“你不必让服务在云中运行,”他解释说。“你可以只部署自己的RabbitMQ的环境,而不是陷于其中,所以你可以将一个原先部署在AWS 上的应用程序转而部署在谷歌计算云服务上。无论它是数据平台,存储环境,或云计算环境,都要小心别让自己局限在一个仅由一个供应商提供的小范围空间内“。
转载
Membase
Membase 是 NoSQL 家族的一个新的重量级的成员。Membase是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上,可以下载beta版本的Linux二进制包。该产品主要是由North Scale的memcached核心团队成员开发完成,其中还包括Zynga和NHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。
Membase容易安装、操作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。
通过兼容多种编程语言和框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和编程接口,包括可配置 的告警信息。
Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。
这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:
◆ 自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘)
◆ 可选的写操作一一异步,同步(基于复制,持久化)
◆ 反向通道再平衡[未来考虑支持]
◆ 多线程低锁争用
◆ 尽可能使用异步处理
◆ 自动实现重复数据删除
◆ 动态再平衡现有集群
◆ 通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。
MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。
主要功能特性:
◆ 面向集合存储,易存储对象类型的数据
“面向集合”(Collenction-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。
◆ 模式自由
模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
◆支持动态查询
◆支持完全索引,包含内部对象
◆支持查询
◆支持复制和故障恢复
◆使用高效的二进制数据存储,包括大型对象(如视频等)
◆自动处理碎片,以支持云计算层次的扩展性
◆支持RUBY,PYTHON,JAVA,C++,PHP等多种语言
◆文件存储格式为BSON(一种JSON的扩展)
BSON(Binary Serialized document Format)存储形式是指:存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。
◆可通过网络访问
MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
Hypertable
Hypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在PC集群 上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File System(GFS),这是一个高可用的文件系统,提供了一个全局的命名空间。它通过跨机器(和跨机架)的文件数据复制来达到高可用性,并因此免受传统 文件存储系统无法避免的许多失败的影响,比如电源、内存和网络端口等失败。第二个基础设施是名为Map-Reduce的计算框架,它与GFS紧密协作,帮 助处理收集到的海量数据。第三个基础设施是Bigtable,它是传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的 查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。
Apache Cassandra
Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook在使用此系统。
主要特性:
◆ 分布式
◆ 基于column的结构化
◆ 高伸展性
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比 Dynomite(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。
CouchDB
所用语言: Erlang
特点:DB一致性,易于使用
使用许可: Apache
协议: HTTP/REST
双向数据复制,持续进行或临时处理,处理时带冲突检查,因此,采用的是master-master复制
MVCC – 写操作不阻塞读操作
可保存文件之前的版本
Crash-only(可靠的)设计
需要不时地进行数据压缩
视图:嵌入式 映射/减少
格式化视图:列表显示
支持进行服务器端文档验证
支持认证
根据变化实时更新
支持附件处理
因此, CouchApps(独立的 js应用程序)
需要 jQuery程序库
最佳应用场景:适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。
例如:CRM、CMS系统。 master-master复制对于多站点部署是非常有用的。
和其他数据库比较,其突出特点是:
◆ 模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部 署上。
◆ 真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。
◆ 多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。
◆ 范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。
◆ 列表数据结构 :在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。
◆ 分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。
问度娘,啥都有。
在大数据时代,“多种架构支持多类应用”成为数据库行业应对大数据的基本思路,数据库行业出现互为补充的三大阵营,适用于事务处理应用的OldSQL、适用于数据分析应用的NewSQL和适用于互联网应用的NoSQL。但在一些复杂的应用场景中,单一数据库架构都不能完全满足应用场景对海量结构化和非结构化数据的存储管理、复杂分析、关联查询、实时性处理和控制建设成本等多方面的需要,因此不同架构数据库混合部署应用成为满足复杂应用的必然选择。不同架构数据库混合使用的模式可以概括为:OldSQL+NewSQL、OldSQL+NoSQL、NewSQL+NoSQL三种主要模式。下面通过三个案例对不同架构数据库的混合应用部署进行介绍。
OldSQL+NewSQL 在数据中心类应用中混合部署
采用OldSQL+NewSQL模式构建数据中心,在充分发挥OldSQL数据库的事务处理能力的同时,借助NewSQL在实时性、复杂分析、即席查询等方面的独特优势,以及面对海量数据时较强的扩展能力,满足数据中心对当前“热”数据事务型处理和海量历史“冷”数据分析两方面的需求。OldSQL+NewSQL模式在数据中心类应用中的互补作用体现在,OldSQL弥补了NewSQL不适合事务处理的不足,NewSQL弥补了OldSQL在海量数据存储能力和处理性能方面的缺陷。
商业银行数据中心采用OldSQL+NewSQL混合部署方式搭建,OldSQL数据库满足各业务系统数据的归档备份和事务型应用,NewSQL MPP数据库集群对即席查询、多维分析等应用提供高性能支持,并且通过MPP集群架构实现应对海量数据存储的扩展能力。
商业银行数据中心存储架构
与传统的OldSQL模式相比,商业银行数据中心采用OldSQL+NewSQL混合搭建模式,数据加载性能提升3倍以上,即席查询和统计分析性能提升6倍以上。NewSQL MPP的高可扩展性能够应对新的业务需求,可随着数据量的增长采用集群方式构建存储容量更大的数据中心。
OldSQL+NoSQL 在互联网大数据应用中混合部署
在互联网大数据应用中采用OldSQL+NoSQL混合模式,能够很好的解决互联网大数据应用对海量结构化和非结构化数据进行存储和快速处理的需求。在诸如大型电子商务平台、大型SNS平台等互联网大数据应用场景中,OldSQL在应用中负责高价值密度结构化数据的存储和事务型处理,NoSQL在应用中负责存储和处理海量非结构化的数据和低价值密度结构化数据。OldSQL+NoSQL模式在互联网大数据应用中的互补作用体现在,OldSQL弥补了NoSQL在ACID特性和复杂关联运算方面的不足,NoSQL弥补了OldSQL在海量数据存储和非结构化数据处理方面的缺陷。
数据魔方是淘宝网的一款数据产品,主要提供行业数据分析、店铺数据分析。淘宝数据产品在存储层采用OldSQL+NoSQL混合模式,由基于MySQL的分布式关系型数据库集群MyFOX和基于HBase的NoSQL存储集群Prom组成。由于OldSQL强大的语义和关系表达能力,在应用中仍然占据着重要地位,目前存储在MyFOX中的统计结果数据已经达到10TB,占据着数据魔方总数据量的95%以上。另一方面,NoSQL作为SQL的有益补充,解决了OldSQL数据库无法解决的全属性选择器等问题。
淘宝海量数据产品技术架构
基于OldSQL+NoSQL混合架构的特点,数据魔方目前已经能够提供压缩前80TB的数据存储空间,支持每天4000万的查询请求,平均响应时间在28毫秒,足以满足未来一段时间内的业务增长需求。
NewSQL+NoSQL 在行业大数据应用中混合部署
行业大数据与互联网大数据的区别在于行业大数据的价值密度更高,并且对结构化数据的实时处理、复杂的多表关联分析、即席查询、数据强一致性等都比互联网大数据有更高的要求。行业大数据应用场景主要是分析类应用,如:电信、金融、政务、能源等行业的决策辅助、预测预警、统计分析、经营分析等。
在行业大数据应用中采用NewSQL+NoSQL混合模式,充分利用NewSQL在结构化数据分析处理方面的优势,以及NoSQL在非结构数据处理方面的优势,实现NewSQL与NoSQL的功能互补,解决行业大数据应用对高价值结构化数据的实时处理、复杂的多表关联分析、即席查询、数据强一致性等要求,以及对海量非结构化数据存储和精确查询的要求。在应用中,NewSQL承担高价值密度结构化数据的存储和分析处理工作,NoSQL承担存储和处理海量非结构化数据和不需要关联分析、Ad-hoc查询较少的低价值密度结构化数据的工作。
当前电信运营商在集中化BI系统建设过程中面临着数据规模大、数据处理类型多等问题,并且需要应对大量的固定应用,以及占统计总数80%以上的突发性临时统计(ad-hoc)需求。在集中化BI系统的建设中采用NewSQL+NoSQL混搭的模式,充分利用NewSQL在复杂分析、即席查询等方面处理性能的优势,及NoSQL在非结构化数据处理和海量数据存储方面的优势,实现高效低成本。
集中化BI系统数据存储架构
集中化BI系统按照数据类型和处理方式的不同,将结构化数据和非结构化数据分别存储在不同的系统中:非结构化数据在Hadoop平台上存储与处理;结构化、不需要关联分析、Ad-hoc查询较少的数据保存在NoSQL数据库或Hadoop平台;结构化、需要关联分析或经常ad-hoc查询的数据,保存在NewSQL MPP数据库中,短期高价值数据放在高性能平台,中长期放在低成本产品中。
结语
当前信息化应用的多样性、复杂性,以及三种数据库架构各自所具有的优势和局限性,造成任何一种架构的数据库都不能完全满足应用需求,因此不同架构数据库混合使用,从而弥补其他架构的不足成为必然选择。根据应用场景采用不同架构数据库进行组合搭配,充分发挥每种架构数据库的特点和优势,并且与其他架构数据库形成互补,完全涵盖应用需求,保证数据资源的最优化利用,将成为未来一段时期内信息化应用主要采用的解决方式。
目前在国内市场上,OldSQL主要为Oracle、IBM等国外数据库厂商所垄断,达梦、金仓等国产厂商仍处于追赶状态;南大通用凭借国产新型数据库GBase 8a异军突起,与EMC的Greenplum和HP的Vertica跻身NewSQL市场三强;NoSQL方面用户则大多采用Hadoop开源方案。
是的,NoSQL(非关系型数据库)简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。 NoSQL最普遍的解释是“非关系型的”,强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。
非关系型数据库特点
1.可以处理超大量的数据。
2.运行在便宜的PC服务器集群上。PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。
3.击碎了性能瓶颈。NoSQL的支持者称,通过NoSQL架构可以省去将Web或Java应用和数据转换成SQL友好格式的时间,执行速度变得更快。
4.没有过多的操作。
5.支持者来源于社区。因为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。