大数据趋势下的rd与nosql融合

大数据趋势下的rd与nosql融合

ID:33204812

大小:116.00 KB

页数:8页

时间:2019-02-22

大数据趋势下的rd与nosql融合_第1页
大数据趋势下的rd与nosql融合_第2页
大数据趋势下的rd与nosql融合_第3页
大数据趋势下的rd与nosql融合_第4页
大数据趋势下的rd与nosql融合_第5页
资源描述:

《大数据趋势下的rd与nosql融合》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、大数据趋势下的RD与NoSQL融合-工程论文大数据趋势下的RD与NoSQL融合储智广滕征岑张志伟王博(北京中油瑞飞信息技术有限责任公司北京100007)摘要:随着互联网技术的飞速发展,对数据存储技术提出了更高的需求。本文结合NoSQL应用案例,分析了关系型数据库和非关系型数据库两大数据存储类型,对企业未来应对大数据存储选择问题提出新的思路和看法。关键词:大数据;数据存储;关系型数据库;RD;NoSQL随着互联网的飞速发展,对数据存储技术提出了更高的要求。虽然关系型数据库(RD)在数据存储方面有较大优势,但在低延迟的读写速度、支持海量的数据流量、大规模集群的管理、降低成本等方面,已经很难满

2、足企业的实际需求,非关系型数据库NoSQL)应运而生。NoSQL非常关注对数据高并发地读写和对海量数据的存储等,与关系型数据库相比,在架构和数据模型方面做了“减法”,而在扩展和并发等方面做了“加法”。1为什么选择NoSQL数据库1.1RD的不足(1)大数据量的写入处理。在数据读入方面,由复制产生的主从模式可以通过增加从数据库简单地实现规模化,但在数据写入方面则没这么简单。例如:数据的写入规模化可以考虑把主数据库从一台增加到两台,作为互相关联复制的二元主数据库,这样可以减少每台主数据库的负荷,但更新处理会发生冲突,可能造成数据的不一致,因此需要把每个表的请求分别分配给合适的主数据库来处理,

3、这样就使问题变得复杂化。(2)为有数据更新的表做索引或表结构变更。使用关系型数据库时,为了加快查询速度需要创建索引,增加必要的字段就一定要改变表结构,这需要对表进行共享锁定。共享锁定期间无法进行数据的变更(更新、插入、删除等)。如果共享锁定较长,可造成数据长时间无法更新。(3)字段不固定时的应用。如果字段不固定,利用关系型数据库也是比较困难的。有人用“需要的时候增加字段”的方法,但是在实际中不易实现。也有人采取预留大量字段的方法,但时间久了很容易被忘记。1.2NoSQL的优势(1)易于数据的分散。关系型数据库是以JOIN为前提(即各个数据之间存在一定的关联),进行JOIN处理时不得不把数

4、据存储在同一个服务器中,这不利于数据的分散。相反,NoSQL是不支持JOIN处理的,各个数据都是独立设计的,很容易分散到多个服务器或者PC上,减少了每台服务器的数据量。即使需要进行大量数据的写入操作,处理起来也很容易。同理,数据的读取操作也比较容易实现。(2)提升性能和增大规模。想要服务器轻松处理更大量的数据,只有两个选择:一是提升性能,二是增大规模(图1)。前者通过提高现行服务器自身的性能和配置来提高处理能力,不需要变更程序,但需要一定的费用。目前市场上购买性能翻倍的服务器,花费一般比原来高2倍,甚至可达5~10倍。后者就是使用更多廉价的服务器来提高处理能力,这样可以降低成本,但需要变

5、更程序。通过对程序进行变更来提升性能是可行的,但是在云技术时代,各种应用层出不穷,数据处理的瓶颈是关系型存储方式。这也是NoSQL出现的原因。1.3NoSQL的应用现状NoSQL因互联网而生,故目前大部分应用在互联网企业中。现在主流的NoSQL数据库有BigTable、HBase、Cassandra、SimpleDB、CouchDB、MongoDB和Redis等(表1)。2NoSQL典型产品分析NoSQL在存储数据模型上遵循schema-free原则,目前主要有列式(Column)、文档型(Document)、键值对(Key-Value)、图型(Graph)等4类。根据不同的模型,NoS

6、QL还可以分为不同种类的数据库(表2)。根据市场上的应用情况和实际数据测试分析,对部分产品的特点进行了简单的整理。Memcached:挥发性的键值存储;一般用作RD的缓存;存在数据丢失的可能,一般用来处理不需要持久保存的数据;用于需要定期清除数据时;使用ConsistentHashing算法(即一致性hash算法)来分散数据。TokyoTyrant:持久的键值存储;用来处理需要持久保存、高速处理的数据;用于不需要定期清除数据时;使用ConsistentHashing算法来分配数据。Redis:兼具Memcached和TokyoTyrant优势的键值存储;擅长处理数组类型的数据;可以高速处

7、理时间序列的数据,易于处理集合运算;拥有很多可以进行原子处理的方法;使用ConsistentHashing算法来分散数据。MongoDB:具有无需定义表结构的文档数据;通过BSON(BinarySerializedDocumentFormat)形式可以保存和查询任何类型的数据;无法进行Join处理,但是可以通过嵌入来实现该功能;使用sharding(范围分割)算法来分散数据。上述产品均具有非常快的处理速度。3NoSQL和RD的融合3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。