挑战大数据 浅析NoSQL技术

转载 2013年12月04日 09:32:18



目前我们都生活在一个庞大的数据存数时代,然而大数据及其底层技术NoSQL也正成为了互联网的一个流行语。对于谷歌以及Facebook,IBM这样的全球互联网企业,NoSQL这种高扩展的非关系型数据库存数的使用往往已经超过关系型数据库。事实上,在海量数据和半结构化数据的一些问题过程中,已经诞生了一系列新型数据库产品,而这些数据库我们称之为NoSQL。

AD:2013云计算架构师峰会课程资料下载

【51CTO专稿】目前我们都生活在一个庞大的数据存数时代,然而大数据及其底层技术NoSQL也正成为了互联网的一个流行语。对于谷歌以及Facebook,IBM这样的全球互联网企业,NoSQL这种高扩展的非关系型数据库存数的使用往往已经超过关系型数据库。事实上,在海量数据和半结构化数据的一些问题过程中,已经诞生了一系列新型数据库产品,而这些数据库我们称之为NoSQL。

2013年4月26日-27日,由51CTO传媒集团旗下WOT(World Of Tech)品牌主办的2013大数据全球技术峰会在北京富力万丽酒店召开。NoSQL产品千变万化,特性和价值主张各有不同,因此常常难以选择。记者深入与来自硅谷的软件开发专家,层任职于Oracle,Microsoft和Google的Ming Lei老师沟通以及对NoSQL的实际分析,总结一些观点给网友参考。

 

Ming Lei老师(左)

分布式系统和NoSQL

一个分布式系统包括很多不同的层面,它包括应用层,数据层,表现层等等,现在主要说说应用层和数据层,这两个都是分布式系统重要的组成部分,应用层一般来说是没有状态,数据层是不断的做运算让它保存状态。数据层是分布式系统里面最困难,也是最高深的一个层面。

Ming Lei老师的观点是NoSQL是分布式系统里面的一个存储器,它是分布式系统的一种。或者说是分布式系统的一个层面。 

NoSQL缓存对CDN缓存比较

在NoSQL这边缓存的代表性是Memcached,NoSQL的缓存和CDN的缓存最大的区别在于NoSQL的缓存是指在数据层的缓存,并不是应用层的缓存,也不是网络层的缓存,所以它的缓存是比较原始的数据。比方说这个应用逻辑里面的事务,并不是最终给用户看的结果,那么我们在网络这一层做缓存的话,最常见的技术叫CDN,它的英文叫做ContentDeliveryNetwork,它一般是在网络的末端靠近用户的那一端的一些网络服务器上缓存一些具体的网页。

Memcached:

  1. Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.  
  2. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. 

MemCache – Architecture

  1. Sharding in client code to select server.  
  2. Peer-to-Peer Server instances.  
  3. Server uses in-mem storage.  
  4. Potentially expand to persistent store. 

MemCache – Usage Characteristics

  1. Object-level Consistency, Isolation and Atomicity.  
  2. No persistent storage  
  3. No replication for load-balancing or failover  
  4. Consistency + Partition-tolerance in CAP 

NoSQL安全性分析

其实系统可以在不同的层面去解决安全性的问题,不一定要求系统每个层面都要去解决安全性的问题,比方说分布式存储系统,它一般是个存储服务,从请求拿到结果,所以必然有一个远程网络调用,一个比较有利的解决方案是在网络调用这块解决安全性的问题,比如加上一些安全性的管理(用户授权,用户登陆),而不是在分布式存储运算里面去解决这个问题。


Hadoop多维分析平台架构图

NoSQL and SQL

在Ming Lei老师看来其实是两者的应用场景不一样。当我们针对的是互联网的用户,消费者,这样的应用根据我们的经验是它对事务的要求较为低,而企业应用它对事务的要求很高,比如说一个企业里面的财会,物流,人事,它往往都是公用同样的一套数据库,所以它对事务的要求会比较高。

比如说你把一个网站建在服务上面,这个时候你的事务的这个层面可能只是说一个账户,也就是说你对数据库的要求低,同时你的数据量又非常大,这个时候我们需要一种不同关系型数据库的解决方案,这种解决方案就叫做NoSQL。它最大的区别在于要求的数据量大,对事物的要求低。

NoSQL数据库的对比图(点击扩大)

NoSQL未来

我觉得目前在互联网上比较多见的应用场景是,数据量特别大,对事务的要求相对低,或者事务的层面比较窄,结构比较小。对这样一些应用NoSQL是未来的一个发展方向。

但是,有些企业级的应用还是必须得使用关系型数据库,目前在工业这一块还没有这样的一个趋势去把企业应用的关系型数据库变成NoSQL。

相关文章推荐

大数据挑战与NoSQL数据库技术.pdf

  • 2017年05月23日 15:19
  • 6.79MB
  • 下载

大数据挑战与NoSQL数据库技术(阅读笔记)

大数据挑战与NoSQL数据库技术 目录 1 概论2 数据一致性理论3 存储模型4 分区与放置策略5 海量数据处理6 复制与容错7 数据压缩8 缓存9 ...
  • cteng
  • cteng
  • 2014年09月23日 23:55
  • 958

大数据挑战与NoSQL数据库

什么是大数据?多大的数据量可以称为大数据?不同的年代有不同的答案[2]。20世纪80年代早期,大数据指的是数据量大到需要存储在数千万个磁带中的数据;20世纪90年代,大数据指的是数据量超过单个台式机存...

浅析传统关系数据库面临大数据的挑战

什么是大数据?多大的数据量可以称为大数据?不同的年代有不同的答案。20世纪80年代早期,大数据指的是数据量大到需要存储在数千万个磁带中的数据;20世纪90年代,大数据指的是数据量超过单个台式机存储能力...

Thinking in BigData(七)大数据技术核心之NoSql(一)

为什么,传统关系型数据库开始遇到瓶颈,哪些瓶颈?为什么数据增多,会伴随着非结构性数据的的增多?什么是非结构性数据?NoSql是什么?支持NoSql数据的数据库有哪些?NoSql数据库与关系型数据库的区...
  • yczws1
  • yczws1
  • 2014年02月11日 14:41
  • 8579
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:挑战大数据 浅析NoSQL技术
举报原因:
原因补充:

(最多只允许输入30个字)