挑战大数据 浅析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数据库技术(阅读笔记)

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

Nosql 大数据技术核心之NoSql

大数据技术核心之NoSql(一): 提纲: 数据采集:ETL 数据存储:关系型数据库、NoSql(Not Only SQL)、SQL等 数据管理:(基础架构支持)云存储、分布式...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

大数据测试挑战&大数据性能测试挑战

大数据测试挑战 自动化 大数据的自动化测试需要有技术专长的人员。此外,自动化工具未配备处理测试期间出现的意外问题 虚拟化 它是测试的整体阶段之一。虚拟机延迟会在实时大数据测试中产生时序问题。在...

NoSQL 数据建模技术

全文译自墙外文章“NoSQL Data Modeling Techniques”,译得不好,还请见谅。这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉。我的感觉是,关系型数据库想把一致性,完...

NoSQL 数据建模技术

原文地址: http://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/   感谢CoolShel...

NoSQL数据库技术

CAP-------nosql数据管理系统构建的基础          C consistency 强一致性   在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的...

NoSQL数据建模技术

NoSQL数据建模技术 2012-05-15 09:31 | 1782次阅读 | 来源:酷壳网 【已有1条评论】发表评论 关键词:NoSQL | 作者:陈皓 | 收藏这篇资讯 ...

NoSQL 数据建模技术

顶 3 踩 本文由 酷壳coolshell 译自墙外文章“NoSQL Data Modeling Techniques”。 这篇文章看完之后,你可能会对NoSQL的数据结构会有些...

大数据的挑战

大数据的挑战是多方面多层次的,《大数据时代》这本书是面向大众的,主要讲大数据分析和应用。实际上大数据对整个计算机领域都提出巨大的挑战,从底层硬件到架构应用再到分析应用都是如此。如: 1、怎样采集到大...

大数据融合技术:问题与挑战

大数据融合技术:问题与挑战本文为《大数据融合研究:问题与挑战》的总结。概述数据的特点: 多元性——数据类型多样;数据内容“维度”多样;数据所涉及的知识范畴的“粒度”多样 演化性——指数据随时间或解释的...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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