第一页:未来不只是Nosql数据库,而是混合持久化
关于企业数据存储的未来-主要写给参与企业应用开发管理的人
Martin Fowler,Pramod Sadalage 2012.11.26
第二页:sql已统治了二十年
存储持久化数据
应用程序集成
很多企业应用需要数据共享,全部的应用使用同一个数据库,我们必须保证获取的是一致的、最新的数据
主要标准
并发控制
报表
众多的报表工具是基于sql的简单数据模型和标准化而建立的第三页:但是,sql的支配地位正在崩溃
关系数据库是被设计为运行在一台机器上,所以按照数据比例,你需要买一个更大的规模的大型机器
然而,通过购买大量的并行小型机器,其实更为便宜和有效
机器在这些大型集群中,单个来说,是不可靠的;不过即使单个机器死了,整体集群可以继续保持工作,所以整个集群来说,是可靠的。“云”正是这种集群,这意味着关系数据库在云上并不能很好的运行。Web服务的兴起,提供了一个对共享数据库进行应用集成的有效选择,使得更容易为不同的应用程序选择他们各自的数据存储
谷歌和亚马逊都是在早期就开始避开关系据库而使用大集群的企业。
谷歌->Bigtable
亚马逊->Dynamo
他们的努力使得Nosql社区获得了重大的启示
第四页:于是,就有了Nosql数据库
Nosql没有一个标准的定义。这个术语诞生在2009年的一个讨论会,但是对于什么样的数据库可以正真的称为Nosql还具有争议
虽然还没有正式的定义,但是Nosql仍然有一些共同的特征:
- 它们不使用关系型数据模型,因此也不使用sql语言
- 它们往往运行在集群上
- 它们倾向于开源
- 它们没有一个固定的模式,允许你在任何记录上存储任何数据
我们应该还记得Google的Bigtable和亚马逊的SimpleDB,被尝试用于他们云机的云服务时,是必然符合一般的操作特性的
第五页:所以,这表示我们可以
减少开发阻力
我们经常遇到关系型数据库的项目,并不是因为它是最好的,而仅仅因为它是一个默认的选择而已。通常它们开发者把开发时间耗费在一些无用的功能上。
拥抱大数据
Guardian
DNC
Danish Health Care
McLaren
第六页:但这不意味关系数据库已死
关系模型依然具有重要意义
表格模型对很多类型的数据都非常适合,特别是当你需要把数据拆分再通过另一种方式重新组合。
ACID事务
为了更有效的在及集群中运行,大部分Nosql数据库对事务作了限制,一般是足够使用了,但并不总是。
工具
熟悉性
第七页:这将带领我们走向混合持久化
第八页:混合持久化是什么样的
零售商的Web应用
财务数据:RDBMS(需要事务更新,使用表格结构来适应数据)
购物车:Riak(多location高可用性,合并不一致的写入)
产品目录:MongoDB(大量的读,极少的写)
报表:RDBMS(报表工具中sql的接口更适用)
分析系统:Cassandra(大量集群中大数据分析)
用户行为日志:Canssandra(在多个节点中大量写操作)
这只是一个假设性的例子,在没有任何调研之前我们不做任何的建议。
第九页:混合持久化为企业提供了更多的机遇与挑战
抉择
我们需要进行选择,而不是想以前一样直接使用关系型数据库
组织变革
如何把数据组织为新的技术模型
不成熟
Nosql的工具都是新出不久,还有很多缺陷。而且我们对这些工具也没有很多的使用经验,不知道如何使用,什么才是更好的使用模式,也不知道哪里有陷阱等着我们
一致性范式的处理
第十页:什么样的系统可以选择混合持久化
策略
大部分的软件项目都是实用性项目,也就是说它们并不是企业的集中竞争优势点。
快速进入市场
如果你需要快速进入市场,那么你需要让你的开发团队最大化生产力。如果适当,混合持久化可以显著的消除阻力。
数据加强
可以有多种形式:
1、大量数据
2、高可用性
3、大量读写
4、复杂的数据关系
任何一点我们建议使用非关系型数据。
第十一页:更多的信息...
网上
书
咨询
原文链接:https://www.f2er.com/nosql/204033.html