NoSQL——大数据的机遇和挑战 许建辉, 巨杉数据库软件,研发总裁

NoSQL——大数据的机遇和挑战 许建辉, 巨杉数据库软件,研发总裁

http://www.uml.org.cn/course/yunke_guidline.asp

 

 

http://blog.csdn.net/xiaoqiangxx/article/details/7566654

在这个原则下(CAP理论),事务系统的一致性属性被定义为ACID(atomicity, consistency, isolation, durability)是一种不同类型的一致性保证。

在ACID中,一致性保证当一个事务完成时数据库处于一致的状态;例如,当从一个账户转钱到另一个账户,两个账户的总数是不变的。

在基于ACID的系统中,通常由编写事务的开发人员负责一致性,数据库的完整性约束能辅助开发。

 

 

NoSQL——大数据的机遇和挑战
大数据时代,数据有各种来源,很多都是非结构化的,如何处理这些非结构化数据,NoSQL提供了一套采集、处理、存储、分析和应用方法,可以帮助您挖掘庞大而凌乱的数据中的商业价值,本次讲座,带您走进NoSQL的大数据世界。

主讲:许建辉, 广州巨杉软件,研发总裁

时间:2015年10月31,上午10:00-11:30

 

f

 

 

f

CAP理论 

最终数据一致

CA符合产品

CP符合产品

AP符合产品

 

f

KV数据库不提供数据库引擎计算能力,不适合复杂计算 ,不能用于分析系统

redis,memcached

只用于主键的快速存取

f

NoSQL分类

kv:redis,memcached

宽表:HBASE

文档:mongodb

图形:InfoGrid

f

宽表:列存储,布隆过滤器,一般用于分析系统

f

 

f

f

文档:mongodb,巨衫数据库

使用JSON,半结构化数据

f

 

 

f

f

巨衫 优点

自动判断文件系统64K ,128K数据块进行切分,放在不同存储区域

使用Direct IO,不用文件系统缓存

f

使用LSN保证一致性

f

f

 

f

支持强一致性/最终一致性

f

f

ShardingKey切分到多个数据组
只支持两种分区方法:范围 ,HASH

 

f

f

f

读写分离机制帮助业务使用 数据湖

对抗微软Azure的数据湖

f

f

Spark SQL可以访问巨衫数据库数据

f

提供Connector在异构数据源中交换数据:HDFS<->巨衫数据库<->RDBMS

f

f

f

主要归档在冷存储上,部分在线,任何对早期历史数据的查询都要漫长过程

f

管理海量历史数据挑战

DBA要历史数据分类管理
时间序是最直观的管理方式
热点数据保证高性能,TCO低

f

海量数据存储
传统放在磁带库或者直接丢弃历史数据
日增数据几百G甚至上TB
数据表结构的变更


巨衫做法
水平扩展
JSON非结构化数据存储,自适应数据结构变更

f

历史全量数据用途,用户流水实时查询

DB2数据库数据全量导入到巨衫数据库,巨衫数据库对外提供SQL接口,可以继续使用现有查询应用

查询时间<3s

f

 

f

f

f

传统应用没有改变,唯一变化的是数据量

f


 

http://blog.csdn.net/starxu85/article/details/5399183

 

最终一致性(eventually consistent)

对于一致性,可以分为从客户端和服务端两个不同的视角。从客户端来看,一致性主要指的是多并发访问时更新过的数据如何获取的问题。从服务端来看,则 是更新如何复制分布到整个系统,以保证数据最终一致。一致性是因为有并发读写才有的问题,因此在理解一致性的问题时,一定要注意结合考虑并发读写的场景。

从客户端角度,多进程并发访问时,更新过的数据在不同进程如何获取的不同策略,决定了不同的一致性。对于关系型数据库,要求更新过的数据能被后续的 访问都能看到,这是强一致性 。如果能容忍后续的部分或者全部访问不到,则是弱一致性 。 如果经过一段时间后要求能访问到更新后的数据,则是最终一致性

最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又可以区分为:

  • 因果一致性 。如果进程A通知进程B它已更新了一个数据项,那么进程B的后续访问将返回更新后的值,且一次写入 将保证取代前一次写入。与进程A无因果关系的进程C的访问遵守一般的最终一致性规则。
  • “读己之所写(read-your-writes)”一致性 。当进程A自己更新一个数据项之后,它总是访问到 更新过的值,绝不会看到旧值。这是因果一致性模型的一个特例。
  • 会话(Session)一致性 。这是上一个模型的实用版本,它把访问存储系统的进程放到会话的上下文中。只要 会话还存在,系统就保证“读己之所写”一致性。如果由于某些失败情形令会话终止,就要建立新的会话,而且系统的保证不会延续到新的会话。
  • 单调(Monotonic)读一致性 。如果进程已经看到过数据对象的某个值,那么任何后续访问都不会返回在那 个值之前的值。
  • 单调写一致性 。系统保证来自同一个进程的写操作顺序执行。要是系统不能保证这种程度的一致性,就非常难以编程 了。

f

posted @ 2015-10-31 12:47  huangchaolilli  阅读(740)  评论(0)    收藏  举报