NoSQL East 2009 第一天总结
我们首先学习的MySQL or PostgreSQL并不总是最好的解决方案。
Tokyo Tyrant 是一个数据库复制方案,可以实现在单台数据库donw机时,写操作还能够实现,Tokyo Tyrant并不是唯一数据库复制方案,key-value存储,NoSQL非关系数据库也是一个方案, NoSQL East大会正在如火如荼进行。
....
Oracle 和 SQL由于在NASDAQ遭遇瓶颈,他们的架构是用于优化写,但不擅长读回,数百万兆字节的数据,每年积累。这是解决输出数据到CSV文件,上传一个容易被猜到的文件命名为S3,服务通过HTTP文件实现。是非常愚蠢简单。
演讲有:
Cambrian Explosion—John Willis
他专注于云计算的业务方面。什么是新的数据中心将会是什么样?这家伙现在实际使用的DSL是抽象phenomenoal技术。我们认为,在一个主要由四个因素推动创新能力的爆炸基础是:
1.抽象和容错部分组成:抽象的组件,因此他们很容易把消费者在一起。
2.无限的基础设施:我们从来没有用完,不存在资源短缺,因为它们是重复性和duplicateable。
3.世界各地的合作:您可以对项目工作会议上从来没有一起人彼此负载(多见于开源世界)。
4.在知识产权的变化:开源是改变我们如何看待知识产权的主要推动力。
NoSQL 是一个伟大的名字,是新时代的开始,你得自己检查你的业务情况,不是每件事都可以填入到关系模型的标准的表和列中。
约翰在70年代开始与大型数据打交道,他曾经在与IBM 3850的500GB的数据备份系统工作。此安装费用但是是天价$ 20,000,000,。对比与西部数据硬盘,从2009年这个500GB的存储为50美元。
我们是如何越来越方便访问当今世界上大型的数据,而且比昨天便宜呢?
Voldemort的Geir Magnusson
传统的电子商务数据模型导致的性能和去耦作用非规范化。例如,为了分离用户数据和信用卡资料,就不能使用joins语法了。一旦你走上这条路,游离于标准工具外(ORM之类)。你就会寻找到其他的持久性解决方案。
Voldemort是一个带有一致性hashing的分布式映射Map,我们可以在无需重建基础上容易方便加入新的节点数据, vector clocks决定version ordering, 带有一个可插拔的存储后备系统,没有主从节点,没有单点风险。
Voldemort 有几种序列化存储选择:
1: String字符串蕾西, JSON, Protocol Buffers, Thift
2: BDB, MySQL, memory, Hadoop, MongoDB.
基本架构有下面几层:
客户端 API 层, 冲突解决层, 序列化层, 路由和读取修复层, 容错失败恢复层, 存储持久化层.
数据保存到带名称存储系统,他们有互相独立的配置,取决于与存储引擎和请求路由设置。
客户端API很简单,如下:
get(key)
getAll([key1, key2, key3, keyN])
put(key, value, version)
delete(key)
delete(key, version)
Gilt Groupe是一个非常高端的电子商务公司,每小时拥有快速启动的数百万页访问量,高交易量(注册,登录,等待清单),以及高容量的共享状态(添加到图表,结帐)。
在开始销售的产品在特定时间一直都面临的挑战是巨大的尖峰访问。他们实际上几乎关闭的一天系统中的一半。
原来的架构是:后端是使用 Rails编制的无共享几台服务器, 使用Zeus进行水平伸缩,带有一个前端的负载平衡器。问题是他们单一的PostgreSQL 遭遇瓶颈,而Rails程序虽然有效工作。
他们通过引入Voldemort作为购物车以及订单处理系统,解决了数据库的瓶颈问题。当决定使用什么存储系统时,他们看上了Tokyo Cabinet.带来问题是问,当数据集大于内存大小是,性能大大下降, BDB 工作得更好,因为它实现将内存缓存中数据异持久化到磁盘(广告:最新JdonFramework 6.2推出DomenEvents,可以实现缓存中模型进行异步持久化,代码见JiveJdon3.8的creaeReplyMessage建回帖和UpdateMessage修改帖子功能)。
[该贴被banq于2009-11-02 14:41修改过]
[该贴被banq于2009-11-02 14:41修改过]