大数据存储技术调查

2020-06-23 00:00:00 数据 数据库 技术 分布式 可用性

抽象
工业上有很大的努力来开发更可行和可行的工具来存储快速增长的数据量,速度和多样性的数据,称为“大数据”。存储机制从传统数据管理系统到NoSQL技术的结构转变是由于要满足大数据存储需求。但是,可用的大数据存储技术无法为持续增长的异构数据提供一致,可扩展的可用解决方案。存储是用于实际应用(例如科学实验,医疗保健,社交网络和电子商务)的大数据分析的初步过程。到目前为止,Amazon,Google和Apache是​​提供大数据存储解决方案的一些行业标准,但是,文献并未报道对可用于大数据的存储技术的深入调查,没有研究这些技术的性能和增幅。本文的主要目的是对可用于大数据的新存储技术进行全面研究。提出了一种定义明确的大数据存储技术分类法,以帮助数据分析人员和研究人员理解和选择更适合其需求的存储机制。为了评估不同存储体系结构的性能,我们使用Brewer的CAP定理比较和分析了现有方法。讨论了存储技术的重要性和应用以及对其他类别的支持。1引言
如今,大数据已成为研究人员的前沿课题,因为它指的是从异构设备收集的数据量迅速增加(Chen和Zhang,2014年)。传感器网络,科学实验,网站和许多其他应用程序会产生各种格式的数据(Abouzeid 2009)。从结构化数据转变为非结构化数据的趋势(Subramaniyaswamy et al。2015)使传统的关系数据库不适合存储。关系数据库的这种不足促使了高效的分布式存储机制的发展。为动态增长的数据提供高度可扩展,可靠和高效的存储是部署大数据存储工具的主要目标(Oliveira 2012)。因此,需要创新开发具有改善的访问性能和容错能力的存储系统。
大数据影响了研究,管理和业务观点,并引起了数据解决方案提供商对部署令人满意的大数据存储技术的关注(Sakr 2011)。在存储和检索过程方面,关系数据库在处理大量数据方面一直非常有效(Vicknair 2010)。但是,随着Internet的出现和可访问性,面向公众的技术已将数据结构转向无模式,互连且快速增长的数据结构。除此之外,网络资源生成的数据的复杂性不允许使用关系数据库技术来分析图像数据(Xiao和Liu,2011)。指数级增长,缺乏结构以及类型多样化给传统数据管理系统带来了数据存储和分析挑战(Deka,2014年)。从大数据结构到关系数据模型的转换,严格定义的关系模式以及用于简单任务的过程的复杂性是关系数据库的刚性特征(Hecht和Jablonski,2011年),这是大数据所不能接受的。
NoSQL技术引入了灵活的数据模型,水平可伸缩性和无模式数据模型(Gorton和Klein,2015年)。这些数据库旨在简化大规模数据的可扩展性和管理(Padhye和Tripathi,2015年)。NoSQL数据库提供一定级别的事务处理,因此它们足以用于社交网络,电子邮件和其他基于Web的应用程序。为了提高数据对其用户的可访问性,在多个站点中分发和复制数据。在同一站点上进行复制不仅可以在发生任何损坏的情况下支持数据恢复,而且还可以在不同地理位置上创建副本时提高可用性(Tanenbaum和van Steen,2007; Turk 2014)。当数据具有多个副本并且每个站点上的数据保持新状态时,一致性是分布式存储系统的另一方面。Brewer(2012)指出,无论是可用性还是一致性,偏爱是分布式数据库的常见设计目标,而网络分区却很少。
迄今为止,NoSQL技术已被广泛部署并作为文献调查报告,然而,现有技术并未提供对NoSQL技术的功能和性能的深入研究。例如,Sakr 等。2011年)进行了一项调查,重点介绍了一些要在云上部署的NoSQL数据库的功能和面临的挑战。Deka(2014)对15个基于云的NoSQL数据库进行了调查,以分析读/写优化,持久性和可靠性。Han 等。2011年)在键值,面向列和文档类别下抽象地描述了七个NoSQL数据库,并使用CAP定理对其进行了分类。同样,Chen 等。2014年)调查了Han 等人描述的相同类别下的9个数据库2011)在他们的调查的“存储”部分中。Chen 等人在审查大数据存储系统方面做出了另一项重大贡献2014年),他解释了与大容量存储,分布式存储和大数据存储有关的问题。他们的评论还涵盖了键值,面向列和图形数据模型下的一些数据库技术,并使用Brewer的CAP定理对它们进行了分类。但是,这三项研究并未涵盖键值,面向列和文档类别中的大量NoSQL数据库。此外,在这些研究中未考虑图形数据库。相反,Vicknair 等。2010)以及Batra和Tyagi(2012)研究了Neo4j,这是一个图形数据库,与关系数据库相比,它可以观察全文字符搜索,安全性,数据可伸缩性和其他数据来源操作。张和徐(2013)以不同的角度强调了与通过分布式文件系统存储大数据有关的挑战(即容量,种类,速度,价值和复杂性)。但是,此调查的目的不是针对所描述的挑战报告现有NoSQL数据库的性能。文献中还存在许多其他比较研究,它们分析了NoSQL数据库的某些特定类别或有限功能的性能。但是,现有技术没有报告对涵盖大量大数据存储技术的大量性能指标的任何详细调查。
因此,在本文中,我们重点介绍了可用于大数据的分布式数据库技术的功能,并提出了更为全面的综述。在本次调查中,我们彻底研究了26个NoSQL数据库并调查了它们的性能。此外,我们在每种数据模型(例如键值,面向列,文档和图形及其许可)下描述了许多针对大数据的近广泛使用的存储技术。除此之外,我们通过讨论Brewer定理的现有和近趋势来加强分析。根据Brewer对分布式系统特性的新解释,我们强调了每个NoSQL数据库都是一致的还是高度可用的。因此,我们工作的显着贡献是使大数据分析人员意识到从大量数据库中选择一种存储选项,并在一致性和可用性之间取得更好的折衷。此外,这项研究还可以帮助研究人员了解并利用佳存储解决方案进行未来的研究工作。
以下是本文的主要目标:(1)研究大数据环境中各种技术的存储结构;(2)突出每种存储技术的独特特性;(3)根据针对分布式系统提出的Brewer定理,开发分类法并评估大数据存储技术;(4)确定未来应对大数据存储的挑战和研究方向。
本文的其余部分安排如下:第2节描述了大数据存储技术的发展及其在关系数据库上的独特功能。第2节还将详细介绍当代大数据存储技术。第3节介绍了基于采用的数据模型和许可的分类法和分类。第4节介绍了分布式系统的Brewer CAP定理及其新解释。对存储技术进行了调查和分析,以提出一种基于Brewer分类的类型。第5节总结了讨论并强调了未来的研究挑战。第6结论的讨论。2大数据存储技术的发展
在本节中,我们讨论了从关系式,结构良好的数据库到非关系式,无模式的存储技术的技术转变。总结了大数据带来的驱动力和挑战。此外,突出显示了为大数据指定的存储技术的突出特点。还阐述了常用的大数据存储技术。
在过去的几十年中,关系数据库已被用作结构良好的数据管理技术。建议使用它们对结构化数据执行数据管理操作(Deagustini 2013)。互联网电影数据库(IMDB,2015)和MovieLens(MovieLens,2015)等数据集可用于使用关系数据库进行操作。大数据和云计算等新兴技术允许以各种格式从交互式和便携式设备中捕获数据(Kaisler 2013; Chen和Zhang,2014)。)。数据带来了快速检索,实时处理和大批量解释的新挑战(Kumar,2014年)。不幸的是,关系数据库无法像大数据那样快速发展。此外,对于异构数据,对容错和复杂数据结构的支持并不令人满意(Skoulis 2015)。此外,关系数据库的架构不支持频繁更改(Neo4j,2015年)。Google,Amazon和Facebook是一些的Web数据存储库。它们的处理和动态可伸缩性要求超出了关系数据库的能力(Pokorny,2013)。因此,异构结构带来的不断增长的数据需要更好的解决方案。我们在表1中使用SWOT分析总结了关系数据库和大数据存储系统之间的比较。
表1关系数据库和大数据存储系统的SWOT分析全尺寸表
大数据对于企业预测有价值的业务成果至关重要。为了应对大数据的挑战,NoSQL(不仅是SQL)数据库已经成为企业解决方案。NoSQL数据库克服了关系数据库的问题,并提供了横向可伸缩,灵活,高度可用,可访问且相对便宜的存储解决方案(MacFadden,2013年)。因此,NoSQL数据库已成为存储大数据的常用技术。与关系数据库不同,这些技术为同时与大数据交互的大量用户提供支持。NoSQL数据库在实现一致性,容错性,可用性和对查询的支持方面非常出色(Cattell,2010年)。它们还保证了关系数据库的一些独特功能:可伸缩性,可用性,容错性,一致性和辅助索引。
2.1大数据存储技术的区别
通常将可伸缩性,可靠性和可用性视为大数据存储技术的设计目标。但是,还发现一致性和可用性在分布式系统中会相互影响,并且其中之一会受到损害(Diack 2013)。)。根据大数据的本质,单个服务器不是明智的存储决策,好将多个硬件元素的集群配置为分布式存储系统。为了讨论大数据的存储技术,文献中提供的分布式NoSQL系统功能的描述也很重要。因此,我们分别解释这些功能。其中,在第4节中进一步考虑了一致性,可用性和分区弹性,以检查Brewer定理对当前大数据存储技术的适用性。
可扩展性是指以可能显着增加或优化存储资源的方式支持不断增长的数据量(Putnik 2013)。从批处理到流数据处理的范式转变表明,数据量在不断增加。参考我们之前的工作(Gani 2015),未来大数据的容量将达到ZB级,并且存储需求将随着容量的增加而增加。就系统的可用性而言,它建议快速访问数据存储资源(Bohlouli 等人2013年)。为此,数据可以在不同的服务器之间复制,这些服务器可以放置在同一位置或遥远的位置,以使数据在附近的站点对用户高度可用,从而提高大数据的检索效率(Azeem和Khan,2012; Wang 等)等人2015年)。换句话说,针对临时访问请求的系统的小停机时间和及时性决定了其可用性(Oracle,2015a)。
节点故障在分布式存储系统中非常常见。为了使其具有容错能力,将创建多个数据副本并将其放置在存储集群的同一节点和/或不同节点上。复制不仅使系统具有很高的可用性,而且对于容错也很有用(Hilker,2012年)。此外,NoSQL数据库提供了非常灵活的架构和数据关系,没有关系数据库那么复杂(Kumar,2014年)。如今,数据不仅包括元组,还包括元组。文档和对象也是大数据的一部分。因此,预定义的架构无法处理变化的数据结构(Cattell,2010年)。
无论分布如何,大数据存储系统都可以确保数据的完整性和正确性。用户所做的更改将根据已定义的规则提交(Oracle,2015a)。终一致性已成为在NoSQL数据库中实现一致性的一种广泛采用的机制。更改终被传播,并且在传播更改后系统变得一致。但是,瞬时传播导致开发出高度一致的系统,但会导致频繁的访问锁定。除了容错性和一致性外,索引还值得用于大数据存储。索引编制是一种提高数据检索性能的方法。在关系数据库中,主键足以执行搜索操作(Oracle Secondary,2015年)。但是,随着大数据的到来,伴随着数据结构异构性的新挑战,主键索引并不是解决方案。二级索引通常由系统自动创建,并且会生成除主键以外的其他键。
2.2当代大数据存储技术
探索大数据存储技术的研究成果提倡设计存储机制的不同方面。这些可靠且高度可用的机制有助于提高数据访问性能。改进的数据访问性能可提高数据分析的质量。这些技术提供了可扩展的存储解决方案,用于通过增强的数据结构来扩展大数据并支持容错能力。本节简要说明每个类别中的大数据存储系统。在实现设计目标时,描述了当前的存储技术以审查其在大数据中的可行性。本文还介绍了它们的存储结构和出色的功能,以支持对大数据进行可伸缩的资源供应。
Google文件系统(GFS)是Google Inc.开发的专有系统(Ghemawat 2003),用于以分布式方式管理数据密集型应用程序。它旨在满足满足稳定增长的数据存储需求(作为重要目标)以及现代技术提供的其他功能的需求。分析当前和将来的估计工作量以开发这样的分布式文件系统。为了处理商品组件的故障问题,GFS有助于进行连续监视并确保检测错误,容忍组件故障并自动将其恢复。GFS采用群集方法,将数据块分为64 KB块,并为每个块存储32位校验和。如图1所示,这些校验和作为元数据的一部分存储在服务器上,以确保完整性。此外,对块进行复制可以避免块服务器故障以及可用性和可靠性(Dean和Ghemawat,2008年)。这种系统应该处理大量数据,而许多千字节大小的文件对他们来说是一个挑战。但是,GFS保证支持管理这些小文件,并同时为大文件添加新数据,即使它们是读/写密集型的。


Hadoop分布式文件系统(HDFS)是受GFS启发而开发的。HDFS是一个分布式,可扩展的存储系统,被设计为Apache Hadoop的核心,可在廉价的商品硬件上运行,初被设计为Apache Nutch的基础架构。HDFS是适用于数据密集型应用程序的合适解决方案,这些应用程序通常需要千兆字节至TB级的数据,需要高吞吐量。HDFS包含大量组件,因此可以提供快速的故障检测和自动恢复功能。但是,有可能发生块故障和无法运行(Borthakur,2008年)。提供块复制以避免节点故障以及不可用或数据丢失(Shvachko,2010年)。复制不仅可以确保系统的可用性,而且还可以确保系统的可靠性,并且由HDFS NameNode自动处理。HDFS不仅仅是一个Hadoop的存储层,它还是一个独立的分布式文件系统,可帮助提高系统的吞吐量。HDFS具有名称空间分隔的体系结构。元数据存储在称为NameNode的主节点上,而块拆分文件存储在许多DataNode上。NameNode执行DataNode上的数据映射和名称空间操作,例如打开,关闭和重命名文件。DataNode满足读写请求并创建块和副本。HDFS的体系结构如图2所示。


BigTable是Google Inc.开发的另一种产品(Chang 等人2008年),旨在为分布在大量商用服务器上的大规模结构化数据提供灵活,高性能的存储。BigTable是一个高度适应,可靠且适用的存储系统,可在数千台计算机上管理PB级数据。BigTable已被证明是一种高性能且可用的数据存储。因此,许多可能具有吞吐量或延迟要求的Google应用程序和项目都在将BigTable用于不同的工作负载。而且,BigTable提供了对数据放置,表示,索引和群集的动态控制。
HBase是由Apache开发的面向列的数据存储(Apache Software Foundation,2015年)。HBase实现了BigTable存储系统,旨在处理Apache项目中的大数据存储需求(George,2011年)。HBase在Hadoop和HDFS之上提供了对大数据的可扩展,分布式,容错和面向随机读写的访问(图3)(Taylor,2010年)。HBase使用来自Hadoop的基础HDFS来存储表数据。它的主组件将区域分配给Region-Servers并跟踪这些服务器。区域服务器接收区域信息并管理来自不同区域客户端的读/写请求(Khetrapal和Ganesh,2006年))。就并发而言,HBase为读取密集型事务提供了出色的支持(Ruflin 2011)。HBase更关注分发,并使用集群方法进行数据管理。这就是为什么它对于大量行数据的潜在解决方案。


Hypertable还实现了BigTable(Hypertable,2015年)。Hypertable是一个分布式数据库,为存储数据的一致性提供了很好的支持(Han 2011)。Hypertable旨在运行并与许多分布式文件系统(例如GFS,HDFS和CloudStore)兼容。Hypertable以表的形式存储数据并拆分表以实现分布和可伸缩性。图3描述了Hypertable系统组件之间的关系。HyperSpace充当锁管理器,并通过使用分布式共识协议通过副本的分布式配置来确保高可用性和一致性。如果主服务器在短时间内无响应,则对客户端数据传输没有影响。好有更多的硕士来达到高可用性要求(Khetrapal和Ganesh,2006年)。
MongoDB是Mongo,Inc.设计的一种开源NoSQL数据库,它是一种高度可用,可伸缩且具有容错功能的面向文档的解决方案(MongoDB,2015年)。MongoDB通过JSON数据模型推导MySQl的特征(Ruflin 等人2011)。因此,MongoDB具有与MySQL相同的水平可伸缩性,具有对各种文档数据的动态模式支持的敏捷开发便利性以及可管理性效率。此外,索引,动态查询和即席查询,聚合以及动态更新是MongoDB所采用的一些巨大的MySQL功能,并做了一些修改。MongoDB以称为BSON的二进制表示形式将文档存储为数据,这使得将数据从应用程序映射到数据库变得容易(Kristina和Michael,2010年)。此外,使用副本集可以实现数据的鲁棒性和可用性,并且在主服务器不响应时可以使用多个副本。该数据库为存储和组合多个结构数据提供了支持,而建立索引仍然是可行的(Banker,2011)。
Terrastore是Terracotta,Inc.开发的另一种基于文档的开源分布式存储系统(Terrastore,2015年)。Terrastore在执行期间提供具有高可伸缩性以及一致性和动态集群的支持。Terrastore建立在内存存储Terracotta之上。为了提供可伸缩性,Terrastore不仅提供单个集群的部署,而且还支持多个集群。此外,当节点连接到群集或从群集断开连接时,会自动执行节点上数据存储的负载平衡(Bossa,2009年))。Terrastore已针对一致性进行了优化,因为它执行分区的一致性哈希并且不创建副本。但是,当节点加入或离开群集时,数据将重新分配。像DynamoDB,Voldemort和Cassandra一样,客户端附近的Terrastore节点会将客户端请求转发到服务节点,并且客户端不必具有​​此路由知识。尽管对数据分发和分区的内置支持使Terrastore优于Memcached,但Terrastore的分发开销比Redis多,这降低了其性能(Alex和Ana-Maria,2009年)。因此,Terrastore不被认为是处理大量文档数据的好方法(Bossa,2009年)。
HyperGraphDB是超图模型的一种实现,用于为人工智能和Web语义项目开发开源图数据库(Iordanov,2010年)。该图形数据库使用Berkeley DB进行存储,不仅提供任意数据的存储,还支持主机语言和存储之间的数据映射。此外,HyperGraphDB提供了基本的可自定义索引功能,从而实现了有效的数据检索和图形遍历。HyperGraphDB使用键值机制来存储诸如节点和边之类的图形信息作为键(Dominguez-Sal 等人2010年)。与HBase,HyperTable,Redis和其他主从存储系统和访问体系结构相比,HyperGraphDB实现了对等数据分发机制。每个对等方独立工作,并且更新是异步执行的,并终执行(HyperGraphDB,2010)。
InfiniteGraph是一个专为图数据设计的分布式对象数据库,具有高可伸缩性以及复杂的搜索和遍历效率(InfiniteGraph,2014年)。InfiniteGraph是一个图数据库,其中数据和计算负载分布在存储位置和运行时可配置区域之间。为了实现可伸缩性,InfiniteGraph实现了基于模型的技术。此外,InfiniteGraph数据库有助于为频繁访问的元素创建自定义模型,从而提高查询性能。这些经常访问的元素可以进一步与其他元素分开来处理锁。除自定义模型外,InfiniteGraph的索引框架还有助于提高查询性能(Objectivity,Inc.,2012)。InfiniteGraph数据库用户知道,他们不断增长的图形数据以某种模式存储,他们可以轻松地对其数据执行规范化和其他表示操作(Fulton,2011年)。此外,由于将其模型部署在云上,因此通过Infinite-Graph进行数据库的开发和测试是免费的。
Rocket U2是一个面向文档的专有数据库管理套件,提供了两个关联的多值数据库平台:UniData和UniVerse(RocketSoftware,2015年)。Rocket U2可确保在任何断开连接后系统的可用性,从而使其能够可靠,强大地从任何停机时间内立即恢复(RocketSoftware,2014a)。根据案例研究(RocketSoftware,2014b),Rocket U2提供了一个可扩展且灵活的系统,可以根据需要随时进行更改。这种灵活性允许在应用程序中轻松更新,并且在发生更改时无需重建数据库。多值产品与许多代码集成在一起,从而减少了开发人员的编码工作量。此外,即使数据量增加,Rocket U2数据库也可以在响应时间方面保持其性能。但是,Rocket U2不支持数据分区。
Scalaris是可扩展,分布式且高度可用的键值存储,旨在满足企业密集的读/写要求(Schütt 等人2008年)。对于并发访问并支持密集事务,通常会遇到节点故障。但是,Scalaris通过在Erlang上实施分布式事务协议和结构化覆盖网络来设法获得关键写入操作的一致性。结构化覆盖网络被实现为Scalaris体系结构的层,并为一系列查询提供支持。Scalaris的体系结构还应用复制以使系统具有高可用性和容错能力。不管写密集型事务的挑战如何,Paxos共识协议都有助于确保一致性并减少开销(Scalaris,2015年)。
为了实现高性能,自定义数据管理和应用程序可伸缩性,Berkeley DB通过库为键值数据库提供了嵌入式支持。尽管Berkeley DB提供了开放源代码许可证,但此许可证仅限于开放源代码应用程序的开发。对于第三方分发,伯克利DB提供了商业许可功能。Berkeley DB初是通过Sleepycat软件获得许可的,但后来归Oracle所有。使用Berkeley DB开发的产品具有简单的数据访问和管理过程。此外,由于没有开销的定制配置,这些产品可以满足各种开发需求,例如本地或分布式存储和存储容量配置,并且在使用Berkeley DB时可以使用许多其他选项(Oracle,2015b)。至于与数据分发相关的其他功能,Berkeley DB可以确保高吞吐量,以提高数据访问率,无阻塞一致性,可靠性,容错性和可用性。与关系数据库一样,Berkeley DB对数据访问效率,事务和恢复机制也有很好的支持(Seltzer和Bostic,2015年)。但是,在库中打包了对这些类似关系数据库的功能的提供,并且根据开发人员的要求为开发人员提供了配置选择。无论Berkeley DB提供的功能如何,值得注意的是Berkeley DB不支持与其他数据库的同步。同时,Berkeley DB(Oracle,2015c)无法促进数据分区。
DynamoDB是Amazon广泛使用的,完全分布式的,无模式的NoSQL数据库工具(Sivasubramanian,2012年)。DynamoDB主要用于存储非结构化,可变和可伸缩的数据(Baron和Kotecha,2013年)。DynamoDB为数据存储和访问速率提供了无限的扩展能力。当需要在分布式站点上进行频繁更新,高效索引和自适应可伸缩性时,它适用。可以通过在一个区域的多个区域上自动复制来实现可用性和持久性(Niranjanamurthy 2014))。无论请求大小如何,DynamoDB都能确保稳定的性能和可见的资源利用率。可以将管理任务(例如硬件供应,设置和配置,复制,软件修补和扩展)卸载到Amazon Web Service(AWS)。DynamoDB是高效管理的数据库;这就是为什么它适用于数据呈指数增长的可扩展应用程序的原因(Vyas和Kuppusamy,2014年)。
高通公司已经开发了一个名为Qizx的面向文档的数据库,用于处理大容量,高性能和事务密集型XML数据(Qualcomm,2014a)。Qizx非常适合具有快速数据访问和检索要求的企业。为此,Qizx具有自动的全文本和可自定义的索引功能,从而使其在查询响应中高效。另外,在设计此数据库时,还要考虑对TB级数据的支持以及与分发有关的其他功能。Qizx的“无共享”集群架构允许集群中的每个节点或主机完全复制数据库以实现高可用性(Qualcomm,2014b)。但是,这些没有共享的主机为客户端读取请求提供服务,并且一台专用服务器负责更新操作。因此,实现了一致,容错和新的复制数据库系统。
Neo4j是行业领先的,广泛使用的,无模式的图数据库,可有效替代关系数据库(Neo4j,2015年)。通过使用Neo4j分析复杂的数据关系,企业可以获得价值收益。关于可伸缩性(Montag,2013年),高事务负载,并发性和读取请求工作负载的性能,Neo4j不仅与其他图形数据库竞争,而且还影响其旧版本的改进(Zicari,2015年)。借助缓冲,可以实现对写密集型事务的无阻塞支持。尽管有其好处,Neo4j在建立可立即生产且可靠的数据库方面仍然很耗时。
对于实时Web应用程序,RethinkDB是个以有效方式支持复杂查询的开源文档数据库(RethinkDB,2015年)。RethinkDB颠倒了传统的存储系统,并实现了仅追加的嵌套数据存储结构,这使其更加一致,健壮并且易于复制(Walsh 等人2009年)。RethinkDB提供了轻松的可伸缩性和对客户端实时查询的更快响应。尽管RethinkDB也使用JSON数据模型,但是查询操作处理的速度比MongoDB慢。但是,RethinkDB具有实时架构,并且由于其仅附加存储结构,与MongoDB相比,RethinkDB的扩展成本更低。此外,查询语言和管理比MongoDB更好。尽管RethinkDB获得了很多好处,但是RethinkDB在计算和写入密集型应用程序中的性能仍然不佳。
Aerospike是针对实时数据进行闪存优化的开源关键值数据存储,它以极低的成本提供了可扩展性和可靠性(Aerospike,2015年)。Aerospike具有“无共享”架构,该架构以可靠和线性可扩展性支持PB级数据量(Aerospike,2012年)。与面向列的数据库Cassandra相似,Aerospike旨在提供可伸缩性,复制,自动节点分区恢复和高可用性。但是,Aerospike在读写工作量,抖动一致性以及读写操作成本方面比Cassandra更好。
OrientDB是个多文档,开放源代码,高度可扩展的文档数据数据库,具有扩展的,透明管理的图形层,可提供关系之间的记录连接(OrientDB,2015年)。嵌入图形层使OrientDB不仅持久且紧凑,而且在数据遍历和管理数据关系方面快速,而不会增加成本。OrientDB的多模型平台使其可以归类为面向文档的图形数据库。无论数据量如何,OrientDB在数据存储以及读取和写入事务方面均具有独特的速度。为确保性能和可伸缩性,OrientDB实现了在异构服务器上进行群集和复制的显着优势(SD Times Newswire,2013年)。)。OrientDB具有许多与Couchbase文档存储类似的功能,该功能源自CouchDB。两者都具有无模式的模型,对二级索引的支持,用于数据分区的分片以及主-主复制模型。但是,OrientDB具有其他功能,例如支持所有操作系统的多模型方法,而Couchbase并未提供这些功能。
AllegroGraph是为RDF语义Web应用程序有效设计的图形数据库。AllegroGraph确保数百万个象限的持久性,内存利用性能和高可伸缩性(AllegroGraph,2015年)。此外,AllegroGraph中的自动计算和存储资源管理是关键的性能基础。AllegroGraph不仅提供企业和商业版本,而且还提供开源产品。但是,AllegroGraph的开源版本在可伸缩性方面受到限制。涵盖关系模型和三元存储的混合数据表示可优化AllegroGraph中的范围查询性能(Aasman,2008年)。
Redis是大数据的替代开源缓存和键值存储,它为索引提供了有效的数据结构,以加快查询操作和响应的速度(Carlson,2013年)。不知何故,Redis的功能类似于Scalaris。Redis对主从环境中的复制具有相当大的支持。但是,为多种数据结构提供支持使其成为频繁数据访问情况的主要选择。建议使用Linux作为其部署的操作系统,因为Redis是在Linux平台上开发和测试的(Excoffier and Lischer,2010)。如果系统的内存不足,对可伸缩性的要求更高,则Aerospike内存存储比Redis更可取。Redis在快速数据访问方面更接近MemcacheDB,因为整个数据都位于内存中。但是,Redis还具有其他一些强大的功能,例如内置的持久性和对更多数据类型的支持。与MemcacheDB不同,Redis作为真实数据库具有持久性,并且重启后不会丢失数据。此外,支持更多数据类型是Redis的独特属性。因此,当需要高可伸缩性,平台,服务器和应用程序的异构性以及内存中数据时,Redis成为佳选择。
Voldemort是用于大型数据的通用分布式数据存储解决方案(Sumbaly 等人2012; Voldemort,2015)。Voldemort的路由模块负责执行数据群集和复制,并遵循与DynamoDB相同的过程。Voldemort提供了终的一致性,因为可以在任何节点上执行读/写操作,并且可以在很短的时间内(当数据视图不一致时发生)(Bunch 等人2010)。与MemcacheDB一样,Voldemort还使用Berkeley DB实现数据持久性,并且开发人员可以设置分布式哈希表条目的复制因子。
KAI是基于键值的分布式数据存储,是作为Amazon Dynamo的实现而开发的。KAI通过支持各种数据为网站提供高可伸缩性和可用性。KAI这个名称的产生是为了阐明其良好的集群组织,在集群中数据以分布式,复制的方式并行存储和处理(SourceForge,2015年)。此外,负载平衡,节点的可配置可伸缩性,快速配置以及通过复制的可靠性是KAI的基本性能提升。尽管KAI提供了终的一致性,但是仲裁协议的实现有助于实现强一致性。
Cassandra是用于结构化数据的去中心化且高度可用的键值存储系统,该系统包含大量基础数据中心(休伊特,2010;拉克什曼和马利克,2010)。它用于为频繁的读/写操作请求提供可伸缩性,实例存储和改进的性能。通过在复制站点上进行定期更新,在Cassandra中实现了数据一致性(Baron和Kotecha,2013年)。与HBase相比,Cassandra为写密集型事务提供了重要支持(Ruflin 等人2011年)。重要的是,Cassandra持续处理此类大型系统中的组件故障,并实现了整体可靠性和可伸缩性。由于Cassandra提供了灵活性,因此可以随时构建模式。集群,分区和复制,同时还要注意容错,减少延迟和可扩展性,这是Cassandra的主要特征(Lakshman和Malik,2010; Abramova和Bernardino,2013)。对于不断增长的系统(例如Facebook),这是一个合理的选择。Facebook已经部署了Cassandra,可扩展性线性地取决于用户数量,并且需要一个写密集型系统(Armbrust 2009)。
SimpleDB是一个开放源代码的,面向文档的数据库,可以作为Amazon服务使用(Sciore,2007年)。没有数据库管理负载,SimpleDB通过自动地理复制来确保数据的高可用性和持久性。此外,数据模型是灵活的,并且对数据执行自动索引。因此,自动配置数据库管理使通过SimpleDB的应用程序开发变得简单。尽管SimpleDB提供了易于管理的数据,但可伸缩性限制为10 GB(Habeeb,2010年)。
MemcacheDB是开源的键值存储(Tudorica和Bucur,2011; MemcacheDB,2015),旨在快速,可靠地存储和访问对象和数据。它实现了Berkeley DB来开发通用数据库,并派生了Berkeley DB的许多功能,例如事务和复制。MemcacheDB是用于动态数据库驱动的Web应用程序的持久数据库(Coburn 2011)。Memcached用户可以通过任何API访问MemcacheDB,因为它使用了Memcached协议。实施Memcached API(一种用于从内存快速访问的缓存系统)时,由于Memcached已经执行了缓存,因此提供数据持久性变得很容易(Helmke,2012年)。它应用主从方法来实现数据持久性,其中任何站点都可以满足数据读取请求,但是写入操作仅在主节点上执行。它与单个主服务器和多个复制节点一起运行。然而,允许任何节点成为复制节点是很灵活的,但这暴露了安全性挑战(Bunch 2010)。
CouchDB是一个开放源代码,分布式,可扩展的文档数据库,旨在在Web上执行数据操作和管理(Anderson 2010; Apache,2015)。在密集访问请求的情况下,CouchDB采用了复杂的并发机制,不会使系统失败。但是,如此繁重的工作量会导致整体响应延迟。CouchDB支持动态数据结构,这使得可以根据需要定义模式。无论CouchDB在Web应用程序开发中的广泛适应性如何,建议检查其是否满足开发人员要求(Wenk和Slater,2014年)。与MongoDB一样,CouchDB也实现了JSON数据模型,这有助于CouchDB支持半结构化数据。此外,CouchDB允许将任何类型的数据存储为文档(Ruflin 等人, 2011年)。
Riak是一个键值数据库,可提供高可用性和较低的成本可伸缩性(Sheehy,2010年)。Riak提供了更简单的数据模型和数据冲突解决方案。Riak是键值数据库的形式,但是以某种方式它被归类为基于文档的数据库。尽管Riak比其他键值数据库具有更多的功能,但它缺乏基于文档的数据库的功能(Cattell,2010年)。因此,好将Riak归类为键值数据库。与Redis相比,Riak的密钥构造不太复杂,这是基于文档的数据库的功能(Ruflin 等人2011年)。密钥构造的这种较低的复杂性使Riak的数据模型变得灵活,并且数据模型中的更改不会影响索引。
从分析的角度来看,广泛使用基于张量的模型来表示数据实体中的任意关系并遍历图(Cichocki,2014年)。大数据具有较高的维数,而不是两元组的关系,并带来了分析此类多关系数据集的挑战。因此,基于张量的模型正用于大数据表示。SciDB(Cudré-Mauroux 等人2009)是张量模型的实现,旨在将多维数据作为数组数据库进行管理,从而创建数组块进行并行处理。SciDB支持许多数据操作操作,例如基于块的N的线性代数运算符维数组。数据的属性和维度是灵活的,可以随时添加或删除。SciDB是用于科学数据的仅附加数组数据库,数据中所做的更改或更正均存储为新版本(Stonebraker 2013)。
在本节中,我们提供了有关当前大数据存储技术的综合说明。表2简要概述了上述可用于大数据的存储技术。它强调了这些技术的设计目标和特征。它由四个垂直部门组成,分别提供存储技术的名称,供应商和设计目标。分布式存储机制的发展,将数据划分为NoSQL数据库格式,可提供可伸缩性以及对该数据的读/写操作的高效且容错的支持。
表2大数据存储技术摘要全尺寸表
2总结了大数据存储技术。可以看出,大多数存储技术都旨在确保总体上的可伸缩性和一致性。但是,这些存储系统支持特定功能,例如密集的工作负载,高可用性,数据访问性能以及复杂的查询操作。我们提供了一个比较表,表3中列出了每种存储技术的应用领域。下一节将重点介绍这些功能,以对上述存储系统进行分类。下一节将介绍并详细介绍基于已采用的大数据存储技术数据模型的分类法。
表3存储技术比较及应用领域全尺寸表3大数据存储技术分类
上一节中描述的大数据存储技术根据本节中的数据模型和许可进行分类。数据模型有四种类型,键值,面向列,面向文档和图,而许可分为三类,即开源,专有和商业。我们对存储技术进行分类,并根据其数据模型和许可进行分类。此外,我们详细阐述了张量分解和网络,作为使用基于图的技术存储的多关系大数据的表示和分析模型。在这方面,可伸缩性和快速数据检索是存储系统的重大期望。
但是,数据模型的类别提供了不同级别的异构性。以下是对数据模型的描述,每个数据模型的示例案例在图4中给出


关键值:关键值数据库是为大数据存储而开发的,它不仅以密钥的形式存储结构化数据,而且特别以非结构化数据的形式存储每个数据记录的相应值(Pokorny,2013年)。这些数据库具有合适的存储结构,用于大数据的连续增长,不一致的值,需要快速响应查询。键值数据库为大容量数据存储和并发查询操作提供支持。与块存储系统不同,键值数据结构将数据存储在小对象中而不是块中,并且易于配置(DeCandia 2007)。)。在键值数据库中,记录中的值可能不同或具有不同的表示形式。这样,此结构可减少内存消耗,并具有轻松添加更多记录的灵活性。对于键值数据库,合适的方案是从记录中搜索多个功能。键值存储的常见应用是用于在线游戏,在线购物和其他Web应用的会话信息管理,在这些应用中,需要管理大量的小型记录。
面向列:NoSQL数据库的此类适用于垂直分区,连续存储和压缩的存储系统。面向列的数据库分别存储数据列,这与传统存储不同,传统存储以完整记录的形式存储数据。在这样的系统中,数据的读取和属性的检索相当快并且相对便宜,因为仅访问相关列,并且对每个列执行并发流程执行(Abadi 2009; Hu和Dessloch,2014)。面向列的数据库具有高度可伸缩性,并且终是一致的。它们为可靠和高可用性存储的应用程序提供支持(Dharavath和Kumar,2015年))。面向列的数据库的应用领域是客户记录分析,数据仓库,患者数据管理,图书馆系统,以及需要进行分析以汇总相似数据项的任何地方。此外,通过面向列的结构,可以方便地在所有行中添加新功能。例如,在线购物网站可以对特定时间段内浏览量大或订购的商品,在线购物的流行区域以及一年内在线交易的成功率进行汇总。
面向文档:面向文档的数据模型类似于键值结构,并以键和值的形式存储数据以作为文档的参考。但是,文档数据库支持更复杂的查询和层次关系。该数据模型通常实现JSON格式并提供非常灵活的模式(Kristina和Michael,2010年)。尽管存储结构对于结构化数据而言是无模式的,但是索引在面向文档的数据库中定义良好。SimpleDB是不提供明确定义索引的数据库(Cattell,2010年)。面向文档的数据库提取元数据以用于进一步优化,并将其存储为文档。面向文档的数据库的用例包括社交网络上的用户配置文件,网站分析以及复杂的交易数据应用程序。例如,在Facebook上,用户可以在其个人资料上提供更少或更多的信息。每个用户配置文件都将存储为文档。面向文档的数据存储模型提供的启发式模式的性能取决于用户输入和查询的性质。
图形:图形数据库是与关系一起存储数据的佳选择。图数据库提供了对象和关系的持久存储,并以自己的语法支持简单易懂的查询(Zicari,2015年)。期望现代企业为其复杂的业务流程和互连的数据实现图数据库,因为这种关系数据结构可轻松进行数据遍历(Neo4j,2015年))。高度频繁的交易系统和推荐系统更喜欢图数据库来实现低延迟。例如,要从商务网站上的客户反馈数据中获取建议,就需要对传统数据库进行自连接的多级查询,这将变得非常复杂。相反,对于图形数据库,此数据操作非常简单,只需两行代码,而不会影响数据的结构。
基于张量的模型:基于张量的模型是面向图的大数据的一种有趣表示,它是广泛采用的模型,用于表示数据实体中的任意关系并遍历图(Cichocki,2014年)。在主题处理,社交网络分析和推荐系统等信息处理的许多领域中,处理大数据的高阶关系非常重要。面向图的系统非常适合存储异维数据。但是,出于分析目的,张量正在引起人们对构建开源库的关注。洛丽卡(2015)表示,捕获和分析数据中的复杂关系以提取更准确的信息非常有用。尽管存在一些有效的方法来分析隐藏变量和高度相关的神经网络,但张量的性能是无法比拟的。可伸缩性,准确性和及时性是与其他方法相比更喜欢张量的原因。
根据上述每个数据模型的规范,我们在图5中介绍它们与数据量和变化结构的关系。。键值数据库更倾向于存储每个记录,而不考虑数据的完整性,并分配要记录的键标识符。但是,图形数据库在存储结构复杂,关系复杂的持久对象方面很有用。另一方面,在图数据库中,节点之间的可伸缩性,群集和数据分区以及添加或删除节点的运行时都很困难。支持卷和可伸缩性的数据模型还必须支持不一致,并允许通过无模式架构存储非结构化数据。相比之下,图数据模型为结构良好的复杂数据提供了支持,但可伸缩性不如其他数据模型所提供的那样。


除了被设计为大数据存储系统的NoSQL数据库的数据模型外,我们还考虑了许可的类型来对存储机制进行分类。许可说明如下:
开源:学术界和企业均可免费使用开源系统,因此可以将其与自己的代码或应用程序一起使用和集成(Milne和Witten,2013年)。这些系统在发展方面具有成本效益,甚至可以为小型企业提供更好的质量和灵活性(Nagy 2010)。
专有系统:与开源系统不同,专有系统可能需要支付合理的使用费后才能拥有。这些系统具有一些法律条款和条件,必须谨慎使用,只能供自己使用,不得修改或重新分配(Nagy 等人2010)。这种系统的源代码通常不提供给买方。
商业:这些系统是为出售而开发的。试用部分可能免费提供,但获得了研发的完整特权;用户或企业必须购买它。
6详细介绍了大数据存储技术的分类,这些技术将在下一部分基于布鲁尔定理进行考虑和进一步分析。该图列出了可用于大数据的存储技术,并介绍了由这些技术实现的数据模型。它还显示了基于许可类型的分类,包括开放源,专有和商业许可。键值系统是为在具有不同存储结构的NoSQL数据库上存储大数据而开发的。需要访问和分析整个记录的应用程序称为键值存储结构。例如,DynamoDB(Sivasubramanian,2012年)采用数据存储的键值结构,并在存储和访问非结构化,不一致的数据时获得更好的性能。即使查询工作负载变化,也可以确保稳定的性能和可见的资源利用率。Scalaris(Schütt 等人2008),Berkeley DB(Oracle,2015b),Aerospike(Aerospike,2015),Redis(Carlson,2013),Voldemort(Voldemort,2015),KAI(SourceForge,2015)和MemcacheDB(MemcacheDB (2015年)也是前一部分中所述的键值存储系统。


在面向列的存储系统中,数据被垂直分区并存储为单独的列。每个垂直分区可能具有不同或相同的数据组织。在图6中,HBase(Apache Software Foundation,2015)显示为面向列的数据存储,可确保每次读取/写入请求时数据的一致性视图。HBase是BigTable的实现(Chang 2008),并开发为NoSQL数据库,以提供可扩展的存储和对其数据的容错访问。它部署在Hadoop和HDFS之上,并促进有效的随机读/写操作。此外,HBase和BigTable,Hypertable(HyperTable,2015年)和Cassandra(Hewitt,2010年); Lakshman和Malik,2010年)也属于面向列的数据模型类别。MongoDB(MongoDB,2015),Terrastore(Terrastore,2015),Rocket U2(RocketSoftware,2015),Qizx(Qualcomm,2014b),RethinkDB(RethinkDB,2015),OrientDB(OrientDB,2015),SimpleDB(Sciore,2007), CouchDB(Apache,2015)和Riak(Sheehy,2010)是面向文档的数据库。HyperGraphDB(Iordanov,2010),InfiniteGraph(InfiniteGraph,2014),Neo4j(Neo4j,2015)和AllegroGraph(AllegroGraph,2015))是图形数据库。我们扩展了面向图形的数据模型,并精心设计了张量作为分析模型,用于处理和提取高维大数据中的信息。在分布式系统上实施时,张量提供可伸缩性。Kim和Candan(2014a)使用SciDB(Cudré-Maurouxet al。2009)在磁盘而不是内存上实现张量分解,从而将I / O和处理成本降至低。该张量分解项目名为TensorDB(Kim和Candan,2014b),同时支持静态和动态分解。在Neo4j中也使用了张量。
从许可的角度来看,图6显示了大多数可用的大数据存储技术都是开源的,可免费用于存储解决方案或研究平台。BigTable是Google专有的存储解决方案,可以在许多商用服务器上构建。尽管它不是一个开源项目,但其实现Hypertable和HBase可供研究和消费者社区免费使用。DynamoDB是一种商业存储技术。本文讨论的所有存储系统(BigTable和DynamoDB除外)都是开源技术。
4解释了分类法,并描述了每个存储系统的许可类型和数据模型。它还强调了这些存储技术的重要功能。这些技术是分布式的,并且具有可伸缩性,它们确保了容错能力以及对存储在此处的数据的读/写操作的有效响应。此外,该表还说明了大数据存储技术的应用。
表4大数据存储技术分类全尺寸表
本节说明了基于数据模型和许可的大数据存储技术的分类。我们已根据数据模型将这些技术分为四个NoSQL系统:键值,面向列,面向文档和图形数据库。提供了每个数据模型的详细信息和应用。根据许可方法,存储技术分为开源,专有和商业三种。图6显示了大多数存储系统都是开源的。但是,BigTable(Chang 等人2008),InfiniteGraph和Rocket U2(RocketSoftware,2015)是专有系统,而DynamoDB,Qizx(Qualcomm,2014a)),而AllegroGraph是商业系统。Berkeley DB(Oracle,2015b)是在开放源代码和商业许可证中都可用的键值数据库。在下一节中,我们将根据Brewer的CAP定理分析NoSQL分布式存储系统。我们讨论了布鲁尔定理在分析分布式系统中的背景和重要性。我们还将列出这些存储系统为实现数据的一致性,复制和分区所采用的方法。4大数据存储技术分析
在本节中,我们分析讨论的大数据存储技术。Brewer的CAP定理提供了广泛使用的标准来对分布式系统进行分类,并指出NoSQL技术很难满足ACID或BASE标准,因为一致性,可用性和分区弹性是设计这些大型分布式存储系统的重要因素。 。ACID为在关系数据库管理系统上执行的每个事务提供一组特征,并声明这些事务是完全一致的(强一致性),而BASE则允许系统具有较弱的一致性级别。但是,对于分布式系统,这并不总是可能保持一致。有时,这些系统在一致性和可用性之间折衷。从而,CAP定理对于现代NoSQL存储技术的分类很有用。根据Brewer CAP定理的新解释,分布式系统可能是一致的,也可能是高度可用的。因此,我们探索了现有NoSQL技术的特征,并根据Brewer提出的标准对其进行了分析。后来,我们深入研究了每种存储技术,以提出一种技术所在的布鲁尔定理的类别。此外,我们总结了现代大数据存储技术采用的实现一致性,数据分区,复制和索引的机制。我们探索现有NoSQL技术的特征,并根据Brewer提出的标准对其进行分析。后来,我们深入研究了每种存储技术,以提出一种技术所在的布鲁尔定理的类别。此外,我们总结了现代大数据存储技术采用的实现一致性,数据分区,复制和索引的机制。我们探索现有NoSQL技术的特征,并根据Brewer提出的标准对其进行分析。后来,我们深入研究了每种存储技术,以提出一种技术所在的布鲁尔定理的类别。此外,我们总结了现代大数据存储技术采用的实现一致性,数据分区,复制和索引的机制。
4.1 Brewer的CAP定理
我们描述了Brewer CAP定理在评估分布式系统中的重要性。为此,我们首先描述CAP定理的其他准则和演化。随着分布式存储系统的出现,迫切需要重新考虑ACID(Gray,1981年)的约束条件(原子性,一致性,隔离性和耐用性),因为它不能确保可用性。尽管对于某些网络服务而言,可用性可能不是必需的,但很有可能是相当重要的。许多研究人员提出了自己的观点来解释大数据分布式存储系统的基本要求。福克斯等。1997年),例如,将它们标识为增量可扩展性,提供溢出增长,高可用性以及可扩展网络服务的成本效益。作者表明,网络集群很难满足所有这些要求,并提出了BASE(基本可用性,软状态和终一致性)模型(Fox 1997)。当ACID不适用时,可以优先采用此模型,它以很少的成本为群集中的故障和部分故障提供了更好的支持。
在讨论一致性和可用性时,似乎一个高度一致的系统禁止多个数据副本。因此,高可用性的概念受到损害,并且不鼓励复制以增加用户对所需服务的访问。Fox and Brewer(1999)引入了折衷方案来设计分布式系统,并提出了CAP原则(一致性,可用性和分区弹性)。在解释CAP原理及其对分布式系统进行分类的权衡之前,我们在下面提供与该原理相关的三个基本概念的简要定义,即一致性,可用性和分区弹性。一致性是指在每个节点上具有相同的新数据(Oracle,2015a),可用性表明可以以少的停机时间快速访问数据存储资源(Oracle,2015a),并且在节点或子网无响应的情况下,分区弹性与容错能力有关(Bohlouli et al。2013)。
初,作者声称对于分布式系统不可能同时提供上述三个功能,并且应该保证其中三分之二(Fox和Brewer,1999)。例如,分布式系统有可能损害分区弹性并满足其他两个要求。这三个功能中的任何两个功能都可以提供一个分布式系统。该原则引起了专家的批评,后来布鲁尔澄清了“三选二”的误导性概念,并解释说,在大多数情况下,一致性和可用性之间的选择取决于用户访问模式或数据的性质(布鲁尔,2012年)。就分区弹性而言,Brewer表明很少会遇到系统中的分区问题,并且存在许多用于分区处理和恢复的选项。该解释在图7中示出。因此,该定理表明,分布式系统的设计倾向于一致性或可用性,而分区弹性不能被丧失。


4.2基于Brewer CAP定理的大数据存储技术分析
我们在第4.1节中提供了Brewer CAP定理的简要说明。根据新的解释(Brewer,2012年),很明显存储系统将是CP类型或AP类型。在这里,我们对可用于大数据的每个存储系统进行了系统的解释,并将系统分为CP和AP类型,因为在CAP定理中声明数据库不可能同时具有ACID一致性和数据可用性。因此,在我们的讨论中,我们集中于该定理的两对组合,即一致性分区弹性和可用性分区弹性。表5阐述大数据存储技术的功能。在根据Brewer定理对这些存储系统进行分析和分类时,将进一步考虑这些功能。表5还描述了用于实现这些技术的一致性,复制,数据分区和索引的方法。此外,表5中针对每个存储系统建议了Brewer的类别。
表5大数据存储技术分析全尺寸表
根据表5中对当代大数据存储技术的调查,我们建议Brewer描述的每种技术的类型。我们确定并证明每种技术都属于CP或AP类别。在图8中,我们基于Brewer给出的两对对进行了分类,以用于现代分布式系统,以展示它们在Brewer定理方面的成功和能力。两个功能的交集提出了标准,例如,一致性分区弹性(CP)和可用性分区弹性(AP)。如图8所示,用于存储大数据的新分布式系统可以满足任何一对。一致性和分区弹性如图8所示。如CP,交叉点显示了每种数据模型中具有这两个功能的技术列表。配对可用性分区弹性也显示在图8中,并且在交叉点处为Cassandra,Voldemort和DynamoDB。之前我们解释过,根据Brewer的说法,系统不可能同时完全支持一致性和可用性。因此,对于分布式系统,重要的是要满足任何一个选择,但是分区弹性是必需的。


对于具有CP的系统,简单的情况是这些系统对请求不响应,直到系统从分区中恢复并且所有站点上的数据都是新的为止。这种现象导致系统处于锁定状态,并且在此时间段内系统可能变得不可用。CP类型的系统旨在确保强一致性,而不管数据访问性能如何,并且通常相信执行同步写操作。Scalaris,Redis,MemcacheDB和Berkeley DB是CP类型的键值数据库。
Scalaris(Schütt 等人2008)实现了非阻塞Paxos提交协议,以确保强大的一致性。尽管MemcacheDB的主从方法支持实现一致性,并且客户端可以访问从属服务器上的任何副本以进行读取操作,但写入操作仅在主节点上执行。
从面向列的数据库列表中,HBase,Hypertable和BigTable是CP类型的。为了在所有副本上提供新且一致的数据配置,HBase允许对所有副本进行同步写入,这可能会增加延迟或不可用性,但这不是HBase的设计目标(Wang 等人2014年)。HBase旨在提供读/写一致性,并保留客户端的请求,直到更新操作完成。硬盘驱动器中有一个预写日志(WAL),其中写操作会首先更新。以后,将在所有复制节点之间更新内存中的数据,从而可以提高写入吞吐量。同样,BigTable使用Chubby服务在行上实现事务一致性(Burrows,2006年))和Paxos算法(Chandra 2007)用于持久性副本和一致性锁管理。客户端获取锁并维护其执行原子读取和写入的会话。
MongoDB,Terrastore和RethinkDB等文档数据库是CP类型的数据库。这些数据库优先考虑一致性而不是可用性。从设计的角度来看,MongoDB和RethinkDB是权威系统。权威系统不会遇到数据不一致的问题,这使MongoDB和RethinkDB可以轻松地在它们之上构建应用程序,而对于它们而言,不可用性的情况却经常发生(RethinkDB,2015年)。Terrastore确保每个文档都是一致且新的。由于Terrastore不允许在同一文档上进行文档间事务或多个同时操作,因此Terrastore具有更高的可伸缩性和更简单的一致性。Terrastore在至少一个服务器节点正在工作并且服务器节点必须与主节点建立连接的范围内提供了对节点故障的容忍度。否则,Terrastore将无法确保分区弹性。
本文讨论的所有图形数据库均为CP类型。除了一致性之外,没有一个更倾向于支持可用性。AllegroGraph是实现事务一致性的图形数据库。图数据库的其余部分旨在提供终的一致性。HyperGraphDB实现Berkeley DB并为事务提供非阻塞并发。此外,HyperGraphDB具有灵活的架构,并且更新终是一致的。同样,Neo4j支持非阻塞并发和终一致性。Neo4j甚至可以高效地完成写密集型事务。InfiniteGraph还支持写操作的终一致性。
只有当每个请求都收到响应并且系统永远不会面临完整的锁定状态时,才能实现高可用性。但是,它不能保证请求的结果一致。诸如Aerospike,Voldemort,KAI,Riak和DynamoDB的键值数据库是AP类型的数据库。Voldemort被设计为高度可用的数据库,在此数据库中,终的一致性确保了几乎新的副本。DynamoDB收到数据更新请求时,不会将其传播到所有副本,原因是不会将它们锁定在读取请求的可用性之外。DynamoDB在一定数量的服务器上执行更新,而其他服务器则响应客户端的请求,以使他们当时能够访问一致的数据(Ramakrishnan,2012年))。服务器的法定人数需要确保在成功处理任何请求之前成功进行写更新(Wang 2014)。Riak具有复杂的冲突解决策略,仲裁的实现也会导致延迟问题。但是,Riak大量可用,并且是具有分区弹性的键值系统。
Cassandra是的面向列的AP类型数据库。Cassandra采用与DynamoDB相同的机制来确保可用性并传播一致性。与Riak一样,Cassandra也具有用于解决冲突和仲裁实现的复杂过程。SimpleDB,CouchDB,OrientDB,Rocket U2和Qizx是AP类型的文档数据库。OrientDB提供版本控制以实现写操作的效果。这样,可以在不同版本中查看数据更改的影响。就本文讨论的图形数据库而言,它们都不是AP类型的。在下一节中,我们将总结讨论并确定未来的研究挑战。5讨论和未来研究挑战
本文介绍了大数据存储技术的发展和分类。通常设计技术来提供一种存储解决方案,以及对具有异构数据结构的不断增长的数据量具有高度可伸缩性的功能。这些数据库部署在分布式系统上,以实现高可用性,改进的数据访问,性能和容错能力。但是,对于每个数据库,提供这些服务的程度是不同的,这使得这些数据库可以彼此区分。此范围有助于识别这些数据库的CP或AP类型。在表5中,现代键值,面向列,面向文档和图形数据库的介绍和分析均基于其采用的一致性,数据分区,复制和索引过程。此外,它们与Brewer CAP分类的相关性会保留在分析中以表明它们的类型。
键值数据库将数据分区应用于单独的记录,而不管每个记录具有相同的属性。键分配给每个记录,并且该值包含记录的数据。尽管它们适合非结构化数据,但是如果需要对基于数据库的记录进行数据检索和分析,则可以将结构化数据与这些数据库一起显示。就许可而言,大多数面向列和键值数据库都是开源的。BigTable是具有专有许可证的面向列的数据库。同样,DynamoDB是可在商业上获得的键值数据库。面向列的数据库(例如HBase,Hypertable,Cassandra和BigTable)适合结构化数据,并且对非结构化数据具有足够的支持。
就面向文档的数据库而言,这些数据库也具有键值数据结构。但是,该值标识文档而不是记录。文档通常是带有某种模式的XML文件。与键值数据模型相比,文档数据库对可伸缩性和非结构化数据的支持较少。此外,具有文档结构的数据库平均而言容易获得可用性和一致性。例如,MongoDB,Terrastore和RethinkDB是一致的数据库,而SimpleDB,CouchDB,OrientDB,Rocket U2和Qizx是高度可用的。图形数据库是结构良好的数据库,在其中分析数据及其关系非常重要。尽管图形数据库对可伸缩性和群集没有很好的支持,但是这些数据库提供了复杂的数据结构。
随着大数据的激增,行业和学术界对数据管理的兴趣远胜于计算管理。在提供大量存储和处理资源方面,该技术已经有了很大的发展。但是,在大数据管理中,需要用于数据采集,预处理,处理和存储的有效技术。正在进行的开发着重于提供支持大数据管理的有效解决方案。Hadoop框架(Lam 2010)已成为使用MapReduce编程模型进行大数据处理的事实上的标准,该模型提供了对位于商用硬件上的大量文件的批处理,而对于实时大数据处理,简单,可扩展的流式传输系统(S4)(Neumeyer 等。2010年)是一种被广泛采用的工具。Apache软件基金会列出了对Mahout,Lucene,Hive,Pig和Spark等大数据解决方案的贡献。
除了处理之外,存储优化也很重要。数据群集,复制和索引以提高存储利用率和数据检索效率的方法是主要关注的问题。存储优化的分层聚集聚类(Buza 2014),K-means算法(Zhao 2009)和人工蜂群(ABC)算法(Karaboga和Ozturk,2011)是使用的聚类方法。在近的研究中。本文介绍的存储技术具有对复制的内置支持,从而确保了数据可用性,容错能力和更少的数据访问延迟。为了有效复制,请使用ABC算法(Taheri 2013年),D2RS(Sun 等人2012年)和JXTA覆盖式P2P平台(Spaho 等人2013年)是使用的技术。HAIL(Dittrich 2012)为Hadoop提供了一种索引解决方案,从而改善了数据搜索和检索过程。
在总结本文介绍的存储技术时,可以说所有存储结构都是分区弹性的,这意味着分布式系统中的网络分区和断开连接很少见,并且有很多选项可以处理并从分区中恢复。因此,只能在一致性和可用性之间进行选择。如第4节所示,对两者的支持都超出了分布式系统的可能性。因此,所讨论的分布式存储系统被放在任一类别中。为一致性提供更多支持的存储系统是CP型系统。除了可用的大数据存储技术的效率外,存储未来大数据的挑战仍然需要解决和考虑。寻找并采用一致性和可用性之间的权衡,以便可以从分布式存储系统中获得更多的吞吐量,这给这项研究带来了许多挑战。以下是其中一些挑战:

  1. 1。频繁的数据更新和架构更改:更新率非常高,并且数据量增长非常快。对于非结构化数据,架构更改也很常见。但是,可用的存储技术是可伸缩的,但是仍然需要考虑有效地更新数据和架构的需求。诸如HDFS之类的某些技术不提供数据更新,而仅在支持中附加操作。
  2. 2。分区方法:数据模型提出了两种大数据分区方法,以使其分别包含在分布式存储节点中。基于访问模式,对数据进行水平或垂直分区。功能或记录可能需要分析数据。因此,可以选择面向列或键值的NoSQL数据库。但是,访问模式的预测可能会出错或在执行过程中发生更改。这对为大数据存储解决方案指定的现有数据模型构成了严峻的研究挑战。
  3. 3。复制因素:数据被复制到多个站点上,以实现容错和用户高可用性。尽管此概念使存储非常有效地提高了访问性能,但它损害了数据的一致性,不适合频繁的数据更改和新的访问要求条件。如果经常遇到一致性锁定,这将导致访问性能变差。此外,数据的副本数是存储空间消耗的倍数。有时从远程站点访问数据而不是使用本地存储空间看起来很明智。因此,由应用程序或用户进行预配置或自定义复制是一个挑战。
  4. 4。用户专业知识:如今,数据变得越来越复杂。同时,企业扩大了用户空间,使来自不同域的用户可以根据自己的问题对数据执行查询。它揭示了易于部署和易于使用的存储的需求,但具有比关系数据库解决方案更高的性能。为了提高性能,有时这些数据库集成了DBMS平台,这无疑符合期望,但是对于非专家用户而言,实现和配置过程变得复杂。

6。结论
本文已尝试对当代大数据存储技术进行分类。本文的主要目的是研究和分析新的大数据存储技术,并根据Brewer的CAP定理对分布式系统进行分类,以便研究人员和大数据分析师可以探索特定领域中增强的存储解决方案。可用性,一致性和容错性是相当重要的领域。而且,提出现有存储技术的局限性以获得足够的可伸缩性是这项工作的主要关注点。本文主要关注数据模型下的分类,并将大数据的现代存储技术分类为键值,面向列,面向文档和图系统。通过使用Brewer的CAP定理进行严格的审查,进一步研究和分析了这些技术。进行了讨论,以调查和强调每个存储系统对大数据的可伸缩性,一致性和可用性要求的效率。讨论中还强调了与存储大数据有关的未来关键挑战。总之,可以说,系统倾向于按应用程序或用户的要求提供一致性和可用性。这种主要现象被用来建议对可用的大数据存储系统进行分类,从而使选择任一优先级的选择变得显而易见。以及大数据的可用性要求。讨论中还强调了与存储大数据有关的未来关键挑战。总之,可以说,系统倾向于按应用程序或用户的要求提供一致性和可用性。这种主要现象被用来建议对可用的大数据存储系统进行分类,从而使选择任一优先级的选择变得显而易见。以及大数据的可用性要求。讨论中还强调了与存储大数据有关的未来关键挑战。总之,可以说,系统倾向于按应用程序或用户的要求提供一致性和可用性。这种主要现象被用来建议对可用的大数据存储系统进行分类,从而使选择任一优先级的选择变得显而易见。参考资料

  1. Aasman,J.,2008年。使用RDF数据库进行事件处理(白皮书)。人工智能发展协会,第1-5页。
    谷歌学术
  2. Abadi,DJ,PA,Boncz,S,Harizopoulos,2009。面向列的数据库系统。程序 VLDB天赋。2(2):1664-1665。https://doi.org/10.14778/1687553.1687625
    谷歌学术
  3. Abouzeid,A.,Bajda-Pawlikowski,K.,Abadi,D. 等。,2009年。HadoopDB:MapReduce和DBMS技术的体系结构混合,用于分析工作负载。程序 VLDB天赋。2(1):922–933。https://doi.org/10.14778/1687627.1687731
    谷歌学术
  4. Abramova,V.,Bernardino,J.,2013。NoSQL数据库:MongoDB与Cassandra。程序 诠释 Conf。计算机科学与软件工程专业,第14-22页。https://doi.org/10.1145/2494444.2494447
    谷歌学术
  5. Aerospike,2012年。Aerospike,建筑概述(白皮书)。aerospike.com/
    谷歌学术
  6. Aerospike,2015年。NoSQL数据库,内存或闪存优化和Web规模。http://www.aerospike.com/ [2015年5月5日访问]
    谷歌学术
  7. Alex,P.,Ana-Maria,B.,2009年。Terrastore:一致,分区且具有弹性的文档数据库。nosql.mypopescu.com/ [2015年5月7日访问]。
    谷歌学术
  8. AllegroGraph,2015年。AllegroGraph。http://franz.com [2015年5月5日访问]。
    谷歌学术
  9. Anderson,JC,Lehnardt,J.,Slater,N.,2010年。CouchDB:权威指南。加利福尼亚州O'Reilly Media,Inc.。
    谷歌学术
  10. Apache,2015年。ApacheCouchDB:网络数据库。couchdb.apache.org/ [2015年5月5日访问]。
    谷歌学术
  11. Apache软件基金会,2015年。HBase Apache。hbase.apache.org/ [2015年1月15日访问]。
    谷歌学术
  12. M. Armbrust,A。Fox,A。Patterson,等。,2009年。Scads:面向社交计算应用程序的独立于规模的存储。arXiv:0909.1775。
    谷歌学术
  13. Azeem,R.,Khan,MIA,2012年。有关移动自组织网络数据库的数据复制的技术。诠释 J.多学科。科学 3(5):53-57。
    谷歌学术
  14. 银行家,K.,2011年。《 MongoDB实战》。纽约曼宁出版社。
    谷歌学术
  15. Baron,J.,Kotecha,S.,2013年。AWS云中的存储选项。技术报告,亚马逊网络服务,华盛顿特区。
    谷歌学术
  16. Batra,S.,Tyagi,C.,2012年。关系数据库和图形数据库的比较分析。诠释 J.软计算。。2(2):509–512。
    谷歌学术
  17. Bohlouli,M.,Schulz,F.,Angelis,L. 等。,2013年。建立大数据分析的集成平台。:Fathi,M.(编辑),面向实践的知识技术集成:趋势和前景。施普林格·柏林·海德堡,第47–56页。https://doi.org/10.1007/978-3-642-34471-8_4
    谷歌学术
  18. Borthakur,D.,2008年。HDFS体系结构指南。http://hadoop.apache.org/common/docs/current/hdfsdesign.pdf
    谷歌学术
  19. Bossa,S.,2009年。“思想与碎片:Terrastore和CAP定理”。http://sbtourist.blogspot.com/2009/12/terrastore-and-cap-theorem.html [2015年5月7日访问]。
    谷歌学术
  20. Brewer,E.,2012年。第12年第CAP:“规则”的变化。计算机45(2):23–29。https://doi.org/10.1109/MC.2012.37
    谷歌学术
  21. Bunch,C.,Chohan,N.,Krintz,C。,等。,2010年。使用AppScale云平台评估分布式数据存储。IEEE第三届国际 Conf。关于云计算,第305–312页。https://doi.org/10.1109/CLOUD.2010.51
    谷歌学术
  22. Burrows,M.,2006年。用于松散耦合的分布式系统的Chubby锁服务。程序 第七届症状。有关操作系统设计和实施的信息,第335-350页。
    谷歌学术
  23. Buza,K.,Nagy,GI,Nanopoulos,A.,2014年。高维滴答数据的存储优化聚类算法。专家系统 应用41(9):4148-4157。https://doi.org/10.1016/j.eswa.2013.12.046
    谷歌学术
  24. Carlson,J.,2013年。Redis在行动中。纽约曼宁出版社。
    谷歌学术
  25. 卡特尔(R. Cattell),2010年。可扩展的SQL和NoSQL数据存储。SIGMOD建议39(4):12–27。https://doi.org/10.1145/1978915.1978919
    谷歌学术
  26. Chandra,TD,Griesemer,R.,Redstone,J.,2007。Paxos诞生:工程学的观点。程序 第26届ACM年度症状。关于分布式计算原理,第398-407页。https://doi.org/10.1145/1281100.1281103
    谷歌学术
  27. Chang,F.,Dean,J.,Ghemawat,S。,等。,2008年。Bigtable:用于结构化数据的分布式存储系统。ACM Trans。计算 Syst。26(2):1–26。https://doi.org/10.1145/1365815.1365816
    谷歌学术
  28. Chen,CLP,Zhang,CY,2014。数据密集型应用程序,挑战,技术和技术:大数据调查。通知。科学275:314–347。https://doi.org/10.1016/j.ins.2014.01.015
    谷歌学术
  29. Chen,M.,Mao,SW,Liu,YH,2014。大数据:一项调查。暴民。网络应用19(2):171–209。https://doi.org/10.1007/s11036-013-0489-0
    谷歌学术
  30. Cichocki,A.,2014年。大数据处理时代:通过张量网络和张量分解的新方法。arXiv:1403.2048。
    谷歌学术
  31. Coburn,J.,Caulfield,AM,Akel,A。,等。,2011年。NV-Heaps:使用下一代非易失性存储器快速,安全地处理持久对象。ACM SIGPLAN不是。47(3):105-118。https://doi.org/10.1145/2248487.1950380
    谷歌学术
  32. Cudré-Mauroux,P.,Kimura,H.,Lim,KT 等。,2009年。SciDB的演示:面向科学的DBMS。程序 VLDB天赋。2(2):1534-1537。https://doi.org/10.14778/1687553.1687584
    谷歌学术
  33. Deagustini,CAD,Dalibón,SEF,Gottifredi,S。等。,2013年。关系数据库作为可行论据的大量信息来源。基于知识的系统51:93-109。https://doi.org/10.1016/j.knosys.2013.07.010
    谷歌学术
  34. Dean,J.,Ghemawat,S.,2008。MapReduce:简化大型集群上的数据处理。公社 ACM51(1):107-113。https://doi.org/10.1145/1327452.1327492
    谷歌学术
  35. DeCandia,G.,Hastorun,D.,Jampani,M。等。,2007年。Dynamo:亚马逊的高可用性键值存储。ACM SIGOPS操作。Syst。修订版41(6):205–220。https://doi.org/10.1145/1323293.1294281
    谷歌学术
  36. Deka,GC,2014年。云数据库系统调查。IT教授16(2):50-57。https://doi.org/10.1109/MITP.2013.1
    谷歌学术
  37. Dharavath,R.,Kumar,C.,2015年。分布式NoSQL数据库的可伸缩通用事务模型场景。J.Syst。软。101:43-58。https://doi.org/10.1016/j.jss.2014.11.037
    谷歌学术
  38. Diack,BW,Ndiaye,S.,Slimani,Y.,2013年。索赔与误解之间的CAP定理:应牺牲什么?诠释 J. 科学 技术。56:1–12。
    谷歌学术
  39. Dittrich,J.,Quiané-Ruiz,J.,Richter,S。等。,2012年。只有好斗的大象才是快象。程序 VLDB天赋。5(11):1591–1602。https://doi.org/10.14778/2350229.2350272
    谷歌学术
  40. Dominguez-Sal,D.,Urbón-Bayes,P.,Giménez-Vañó,A. 等。,2010年。根据HPC可扩展图形分析基准进行图形数据库性能调查。:沉,HT,裴,J.,Özsu,MT 等。(编辑),网络时代信息管理。施普林格·柏林·海德堡,第37–48页。https://doi.org/10.1007/978-3-642-16720-1_4
    谷歌学术
  41. Excoffier,L.,Lischer,HEL,2010年。Arlequin Suite版本3.5:一系列新程序,可在Linux和Windows下执行种群遗传学分析。大声笑 Ecol。Res。10(3):564–567。https://doi.org/10.1111/j.1755-0998.2010.02847.x
    谷歌学术
  42. Fox,A.,Brewer,EA,1999。收获,产量和可扩展的耐性系统。程序 第七届操作系统热门话题研讨会,第174–178页。https://doi.org/10.1109/HOTOS.1999.798396
    谷歌学术
  43. Fox,A.,Gribble,SD,Chawathe,Y。等。,1997年。基于群集的可扩展网络服务。程序 第16届ACM症状。有关操作系统原理的信息,第78-91页。https://doi.org/10.1145/268998.266662
    谷歌学术
  44. Fulton,S.,2011年。《另一种非SQL替代方法:无限图2.0》。http://readwrite.com/2011/08/24/the-othernon-sql-alternative [2015年5月5日访问]。
    谷歌学术
  45. Gani,A.,Siddiqa,A.,Shamshirband,S。,等。,2015年。大数据索引技术调查:分类法和绩效评估。知道 通知。Syst。46(2):241–284。https://doi.org/10.1007/s10115-015-0830-y
    谷歌学术
  46. George,L.,2011年。HBase:权威指南。加利福尼亚州O'Reilly Media,Inc.。
    谷歌学术
  47. S. Ghemawat,H。Gobioff,ST,Leung,2003年。Google文件系统。SIGOPS歌剧。Syst。修订版37(5):29-43。https://doi.org/10.1145/1165389.945450
    谷歌学术
  48. Gorton,I.,Klein,J.,2015年。分布,数据,部署:大数据系统中的软件架构融合。IEEE软件32(3):78-85。https://doi.org/10.1109/MS.2014.51
    谷歌学术
  49. Gray,J.,1981年。交易概念:优点和局限。程序 第七届 Conf。在非常大的数据库上,第144-154页。
    谷歌学术
  50. Habeeb,M.,2010年。AmazonSimpleDB开发人员指南。Addison-Wesley专业。
    谷歌学术
  51. Han,J.,Haihong,E.,Le,G.,等。,2011年。关于NoSQL数据库的调查。第六国际 Conf。关于普及计算和应用程序,第363–366页。https://doi.org/10.1109/ICPCA.2011.6106531
    谷歌学术
  52. Hecht,R.,Jablonski,S.,2011年。NoSQL评估:面向用例的调查。诠释 Conf。关于云和服务计算,第336–341页。https://doi.org/10.1109/CSC.2011.6138544
    谷歌学术
  53. Helmke,M.,2012年。UbuntuUnleashed 2012 Edition:涵盖11.10和12.04。萨姆斯出版。
    谷歌学术
  54. 休伊特,E.,2010年。《卡桑德拉:权威指南》。加利福尼亚州O'Reilly Media,Inc.。
    谷歌学术
  55. Hilker,S.,2012年。《调查分布式数据库-Toad for Cloud》。http://www.toadworld.com/products/toad-for-clouddatabases/w/wiki/308.survey-distributed-databases.aspx [2015年5月5日访问]
    谷歌学术
  56. Hu,Y.,Dessloch,S.,2014年。从面向列的NoSQL数据库中提取增量以用于不同的增量应用程序和不同的数据目标。数据知识。。93:42–59。https://doi.org/10.1016/j.datak.2014.07.002
    谷歌学术
  57. HyperGraphDB,2010年。HyperGraphDB-图形数据库。http://www.hypergraphdb.org/ [2015年5月5日访问]
    谷歌学术
  58. HyperTable,2015年。Hypertable。hypertable.com/document [2015年1月15日访问]。
    谷歌学术
  59. IMDB,2015年。互联网电影数据库。imdb.com/ [2015年5月5日访问]
    谷歌学术
  60. InfiniteGraph,2014年。InfiniteGraph∣分布式图形数据库。http://www.objectivity.com/ [2015年5月5日访问]
    谷歌学术
  61. Iordanov,B.,2010年。HyperGraphDB:广义图形数据库。:沉,HT,裴,J.,Özsu,MT 等。(编辑),网络时代信息管理。施普林格·柏林·海德堡,第25–36页。https://doi.org/10.1007/978-3-642-16720-1_3
    谷歌学术
  62. Kaisler,S.,Armor,F.,Espinosa,JA 等。,2013年。大数据:前进中的问题和挑战。第46夏威夷国际机场 Conf。系统科学杂志,第995–1004页。https://doi.org/10.1109/HICSS.2013.645
    谷歌学术
  63. Karaboga,D.,Ozturk,C.,2011年。一种新颖的聚类方法:人工蜂群(ABC)算法。应用 软计算。11(1):652–657。https://doi.org/10.1016/j.asoc.2009.12.025
    谷歌学术
  64. Khetrapal,A.,Ganesh,V.,2006年。大型分布式存储系统的HBase和Hypertable。普渡大学计算机科学系。
    谷歌学术
  65. Kim,M.,堪萨斯州堪丹,2014a。基于块的数组存储上的有效静态和动态数据库内张量分解。程序 第23 ACM国际机场。Conf。关于信息和知识管理,第969–978页。https://doi.org/10.1145/2661829.2661864
    谷歌学术
  66. Kim,M.,堪萨斯州坎丹,2014b。TensorDB:使用张量关系查询计划进行数据库内张量操作。程序 第23 ACM国际机场。Conf。关于信息和知识管理,第2039–2041页。https://doi.org/10.1145/2661829.2661842
    谷歌学术
  67. Kristina,C.,Michael,D.,2010年。MongoDB:权威指南。加利福尼亚州O'Reilly Media,Inc.。
    谷歌学术
  68. Kumar,G.,2014年。对NoSQL说“是”。http://www.3pillarglobal.com/insights/just-say-yes-to-nosql [2015年5月5日访问]
    谷歌学术
  69. Lakshman,A.,Malik,P.,2010年。Cassandra:分散的结构化存储系统。SIGOPS歌剧。Syst。修订本44(2):35-40。https://doi.org/10.1145/1773912.1773922
    谷歌学术
  70. Lam,CF,Liu,H.,Koley,B. 等。,2010年。光纤通信技术:数据中心网络操作需要什么。IEEE通讯。魔术师48(7):32–39。https://doi.org/10.1109/MCOM.2010.5496876
    谷歌学术
  71. Lorica,B.,2015年。数据科学中的Tensor Renaissance。http://radar.oreilly.com/2015/05/the-tensor-renaissancein-data-science.html
    谷歌学术
  72. MacFadden,G.,2013年21 NoSQL的创新,以在2020年寻找http://blog.parityresearch.com/21-nosql-innovatorsto-look-for-in-2020/ [访问的上,2015年5月5日]。
    谷歌学术
  73. MemcacheDB,2015年。MemcacheDB。memcachedb.org/ [2015年1月10日访问]。
    谷歌学术
  74. Milne,D.,维特,IH,2013年。一个用于挖掘Wikipedia的开源工具包。Artif。智力194:222–239。https://doi.org/10.1016/j.artint.2012.06.007
    数学科学网 谷歌学术
  75. MongoDB,2015年。《 MongoDB体系结构指南》(白皮书)。https://www.mongodb.com/lp/white-paper/architectureguide?jmp = docs&_ga = 1.165918654.1239465962.14309 78187:MongoDB [2015年5月7日访问]
  76. Montag,D.,2013年。《了解Neo4j可扩展性》。http://info.neotechnology.com/rs/neotechnology/images/了解ing%20Neo4j%20Scalability(2).pdf
    谷歌学术
  77. MovieLens,2015年。MovieLens。https://movielens.org/ [2015年5月5日访问]。
    谷歌学术
  78. Nagy,D.,Yassin,AM,Bhattacherjee,A.,2010年。开放源代码软件的组织采用:障碍和补救措施。公社 ACM53(3):148-151。https://doi.org/10.1145/1666420.1666457
    谷歌学术
  79. Neo4j,2015年。克服SQL应变和SQL痛苦(白皮书)。http://neo4j.com/resources/wp-overcoming-sqlstrain/?utm_source=db-engines&utm_medium=textsqlpa in&utm_content = download&utm_campaign = dl [2015年5月5日访问]。
    谷歌学术
  80. Neumeyer,L.,Robbins,B.,Nair,A. 等。,2010年。S4:分布式流计算平台。IEEE国际 Conf。在数据挖掘研讨会上,第170–177页。https://doi.org/10.1109/ICDMW.2010.172
    谷歌学术
  81. Niranjanamurthy,M.,Archana,UL,Niveditha,KT 等。,2014年。关于DynamoDB(NoSQL数据库服务)的研究。诠释 J.计算机 科学 暴民。计算3(10):268–279。
    谷歌学术
  82. Objectivity,Inc.,2012年。InfiniteGraph:分布式图数据库(白皮书)。http://www.objectivity.com/products/infinitegraph/ [2015年5月5日访问]
    谷歌学术
  83. 旧金山,奥利维拉(Oliveira),旧金山,菲林格(Fürlinger),克拉克姆(Kranzmüller),博士,2012。计算,通信和存储趋势以及数据密集型科学的后果。IEEE 14th国际 Conf。关于高性能计算和通信以及IEEE 9th Int。Conf。关于嵌入式软件和系统,第572–579页。https://doi.org/10.1109/HPCC.2012.83
    谷歌学术
  84. 甲骨文,2015a。管理与Berkeley DBHA的一致性(白皮书)。http://www.oracle.com/technetwork/products/berkeleydb/high-availability-099050.html [2015年5月5日访问]
    谷歌学术
  85. 甲骨文,2015b。Oracle Berkeley数据库。http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html。[2015年 5月5日访问]
    谷歌学术
  86. 甲骨文,2015c。使用Berkeley DB释放高可用性应用程序(白皮书)。http://www.oracle.com/technetwork/products/berkeleydb/high-availability-0990 50.html [2015年5月5日访问]
    谷歌学术
  87. Oracle Secondary,2015年。二级索引。https://docs.oracle.com/cd/E17275_01/html/programmer_reference/am_second.html [2015年5月5日访问]。
    谷歌学术
  88. OrientDB,2015年。OrientDB-OrientDB多模型NoSQL数据库。http://orientdb.com [2015年5月5日访问]。
    谷歌学术
  89. Padhye,V.,Tripathi,A.,2015。具有快照隔离功能的可扩展事务管理,用于NoSQL数据存储系统。IEEE Trans。服务。计算8(1):121–135。https://doi.org/10.1109/TSC.2013.47
    谷歌学术
  90. Pokorny,J.,2013年。NoSQL数据库:Web环境中数据库可伸缩性的一步。诠释 J. Web通知。Syst。9(1):69-82。https://doi.org/10.1108/17440081311316398
    谷歌学术
  91. Putnik,G.,Sluga,A.,ElMaraghy,H。等。,2013年。制造系统设计和操作的可扩展性:新技术和未来发展路线图。CIRP Ann。制造 技术。62(2):751–774。https://doi.org/10.1016/j.cirp.2013.05.002
    谷歌学术
  92. 高通,2014a。NoSQL XML数据库Qualcomm Qizx。https://www.qualcomm.com/qizx [2015年5月5日访问]
    谷歌学术
  93. 高通,2014b。Qualcomm Qizx ∣用户指南。https://www.qualcomm.com/qizx [2015年5月5日访问]
    谷歌学术
  94. Ramakrishnan,R.,2012年。CAP和云数据管理。计算机45(2):43–49。https://doi.org/10.1109/MC.2011.388
    谷歌学术
  95. RethinkDB,2015年。RethinkDB:​​实时Web的开源数据库。rethinkdb.com/ [2015年5月5日访问]。
    谷歌学术
  96. RocketSoftware,2014年a。Rocket U2数据库的高可用性和灾难恢复。info.rocketsoftware.com [2015年5月5日访问]。
    谷歌学术
  97. RocketSoftware,2014年b。佛蒙特州泰迪熊(Vermont Teddy Bear)∣电子商务零售商依靠Rocket U2成功管理其直接消费部门的信息处理活动[案例研究]。http://blog.rocketsoftware.com/blog/2014/12/22/vermont-teddy-bear-relies-rocket-u2-improve-service-increase-revenue/
    谷歌学术
  98. RocketSoftware,2015年。灵活的大容量数据管理∣ Rocket软件。http://www.rocketsoft.ware.com/product-families/rocket-u2 [2015年5月5日访问]
    谷歌学术
  99. Ruflin,N.,Burkhart,H.,Rizzotti,S.,2011年。社交数据存储系统。程序 数据库和社交网络,第7-12页。https://doi.org/10.1145/1996413.1996415
    谷歌学术
  100. Sakr,S.,Liu,A.,Batista,DM 等。,2011年。对云环境中大规模数据管理方法的调查。IEEE通讯。生存 导师。13(3):311–336。https://doi.org/10.1109/SURV.2011.032211.00087
    谷歌学术
  101. Scalaris,2015年。Scalaris。scalaris.zib.de/ [2015年5月5日访问]。
    谷歌学术
  102. Schütt,T.,Schintke,F.,Reinefeld,A.,2008。Scalaris:可靠的交易式P2P密钥/值存储。程序 关于ERLANG的第七届ACM SIGPLAN研讨会,第41–48页。https://doi.org/10.1145/1411273.1411280
    谷歌学术
  103. Sciore,E.,2007年。SimpleDB:一个简单的基于Java的多用户系统,用于教授数据库内部知识。SIGCSE公牛。39(1):561–565。https://doi.org/10.1145/1227504.1227498
    谷歌学术
  104. SD Times Newswire,2013年。使用领先的开源内存数据网格Hazelcast分发OrientDB。http://sdtimes.com/orientdb-becomes-distributedusing-hazelcast-leading-open-source-in-memory-data-grid/ [2015年5月5日访问]。
    谷歌学术
  105. Seltzer,M.,Bostic,K.,2015年。开源应用程序的体系结构:Berkeley DB。http://www.aosabook.org/en/bdb.html [2015年5月5日访问]
    谷歌学术
  106. Sheehy,J.,2010年。Riak0.10充满了巨大的东西。http://basho.com/riak-0-10-is-full-of-great-stuff/ [2015年5月5日访问]。
    谷歌学术
  107. Shvachko,KV,2010年。HDFS可扩展性:增长的极限。登录35(2):6-16。
    谷歌学术
  108. Sivasubramanian,S.,2012年。Amazon DynamoDB:一种无缝可扩展的非关系数据库服务。程序 ACM SIGMOD内部 Conf。关于数据管理,第729-730页。https://doi.org/10.1145/2213836.2213945
    谷歌学术
  109. Skoulis,I.,Vassiliadis,P.,Zarras,AV,2015。稳定成长:开源关系数据库如何发展。通知。Syst。53:363–385。https://doi.org/10.1016/j.is.2015.03.009
    谷歌学术
  110. SourceForge,2015年。KAISourceForge。http://sourceforge.net/projects/kai/ [2015年5月5日访问]。
    谷歌学术
  111. Spaho,E.,Barolli,L.,Xhafa,F。等。,2013年。使用模糊逻辑的JXTA覆盖P2P系统的P2P数据复制和可信度。应用 软计算。13(1):321–328。https://doi.org/10.1016/j.asoc.2012.08.044
    谷歌学术
  112. Stonebraker,M.,Brown,P.,Zhang,D。,等。,2013年。SciDB:用于具有复杂分析功能的应用程序的数据库管理系统。计算 科学 15(3):54-62。https://doi.org/10.1109/MCSE.2013.19
    谷歌学术
  113. Subramaniyaswamy,V.,Vijayakumar,V.,Logesh,R。,等。,2015年。使用MapReduce对大数据进行非结构化数据分析。程序 计算 科学50:456-465。https://doi.org/10.1016/j.procs.2015.04.015
    谷歌学术
  114. Sumbaly,R.,Kreps,J.,Gao,L.,等。,2012年。在Voldemort项目中提供大规模批量计算数据。程序 第10届USENIX大会。关于文件和存储技术,第18页。
    谷歌学术
  115. Sun,DW,Chang,GR,Gao,S。,等。,2012年。对动态数据复制策略进行建模以提高云计算环境中的系统可用性。J.计算机 科学 技术。27(2):256–272。https://doi.org/10.1007/s11390-012-1221-4
    数学 谷歌学术
  116. Taheri,J.,Lee,YC,Zomaya,AY 等。,2013年。一种基于蜂群的优化方法,用于网格环境中的同时作业调度和数据复制。计算 歌剧 Res。40(6):1564-1578。https://doi.org/10.1016/j.cor.2011.11.012
    数学科学网 数学 谷歌学术
  117. Tanenbaum,A.,van Steen,M.,2007。分布式系统。培生Prentice Hall。
    谷歌学术
  118. Taylor,RC,2010年。Hadoop/ MapReduce / HBase框架及其在生物信息学中的当前应用概述。BMC生物信息。11(增刊12):1-6。https://doi.org/10.1186/1471-2105-11-S12-S1
    谷歌学术
  119. Terrastore,2015年。Terrastore-可伸缩,弹性,一致的文档存储。http://code.google.com/p/terrastore [2015年5月7日访问]。
    谷歌学术
  120. Tudorica,BG,Bucur,C.,2011年。带有注释和注释的多个NoSQL数据库之间的比较。第十届Roedunet国际赛。Conf。,第1-5页。https://doi.org/10.1109/RoEduNet.2011.5993686
    谷歌学术
  121. Turk,A.,Selvitopi,RO,Ferhatosmanoglu,H。等。,2014年。针对社交网络的临时工作负载感知复制分区。IEEE Trans。知道 数据工程26(11):2832–2845。https://doi.org/10.1109/TKDE.2014.2302291
    谷歌学术
  122. Vicknair,C.,Macias,M.,Zhao,ZD 等。,2010年。图形数据库和关系数据库的比较:数据来源的观点。程序 第48届东南地区会议,第1-6页。https://doi.org/10.1145/1900008.1900067
    谷歌学术
  123. 伏地魔,2015年。伏地魔计划。http://www.projectvoldemort.com/voldemort/ [2015年1月10日访问]
    谷歌学术
  124. 美国维斯(Vyas),库普萨米(Kuppusamy),体育,2014年。DynamoDB应用设计模式。伯明翰Packt出版有限公司。
    谷歌学术
  125. Walsh,L.,Akhmechet,V.,Glukhovsky,M.,2009年。RethinkDBRethinking数据库存储(白皮书)。
    谷歌学术
  126. Wang,HJ,Li,JH,Zhang,HM 等。,2014年。在云服务数据库中对复制和一致性策略进行基准测试:HBase和Cassandra。:Zhan,JF,Han,R.,Weng,CL(编辑),大数据基准测试,性能优化和新兴硬件中。施普林格国际出版社,第71–82页。https://doi.org/10.1007/978-3-319-13021-7_6
    谷歌学术
  127. Wang,X.,Sun,HL,Deng,T.,et al。,2015年。关于数据中心网络中仲裁系统的可用性和一致性的权衡。计算 网络76:191-206。https://doi.org/10.1016/j.comnet.2014.11.006
    谷歌学术
  128. Wenk,A.,Slater,N.,2014年。导言。https://cwiki.apache.org/confluence/display/COUCHDB/Introduction [2015年5月5日访问]。
    谷歌学术
  129. Xiao,ZF,Liu,YM,2011。基于NOSQL数据库的遥感图像数据库。19th Int。Conf。关于地理信息学,第1-5页。https://doi.org/10.1109/GeoInformatics.2011.5980724
    谷歌学术
  130. Zhang,XX,Xu,F.,2013。大数据存储研究综述。12th Int。症状 《分布式计算及其在商业,工程和科学中的应用》,第76–80页。https://doi.org/10.1109/DCABES.2013.21
    谷歌学术
  131. Zhao,WZ,Ma,HF,He,Q.,2009。基于MapReduce的并行K均值聚类。IEEE国际 Conf。关于云计算,第674–679页。https://doi.org/10.1007/978-3-642-10665-1_71
    谷歌学术
  132. Zicari,RV,2015年。关于图形数据库。埃米尔·埃弗雷姆(Emil Eifrem)的采访。http://www.odbms.org/blog/2015/05/on-graphdatabases-interview-with-emil-eifrem/ [2015年5月5日访问]

相关文章