一直觉得程序员杂志不怎么样,这一期却不错,由其是封面报道 - SQL 40年,讲的很不错.主要是oracle, MySQL和NoSQL
数据库高可用分布式架构 - 阿里,张瑞
基于MySQL 的高可用可扩展架构 - 阿里,简朝阳
两篇文章讲的内容差不多,总结如下:- Oracle RAC集群.
- 架 构最大的特点是共享存储( Shared-disk, Share-everything)
- 架 构最大的特点是共享存储( Shared-disk, Share-everything)
- Mysql Cluster
- 大有前途
- 特点是Shared-nothing
- NDB 引擎需要将数据全部加载到内存. (现在改为只有索引必须加载到内存)
- 目前性能还不理想
- 大有前途
- 数据分片 (Sharding)
- 可扩展性高
- 水平切分,
- Sharding 架构 会损失部分 关系数据库的特性,比如join,导致关系数据库退化为Key-Value store
- 垂直切分
- 按 功能模块切分
- 按 功能模块切分
- 可扩展性高
- 读写分离
- 通过Mysql Replication技 术, Master接受写,并将数据变化复制到多个Slaver 上.
- 写>>多的时候适用
- 双 A ->提高可靠性,可用性
NoSQL综述 --- Robbin
(原文: http://robbin.iteye.com/blog/524977 NoSQL数据库探讨之一 - 为什么要用非关系数据库?)此 文非常精湛
- BDB是key-value结构
- 传统关系数据库面临的挑战 (主要是在SNS类应用中)
- 高 并发读写要求, 大容量,可扩展,高可用.
- 而关系数据库的 强一致性,写实时性,多表关联查询却无用武之地.
- NoSQL 代表:
- Redis (github & Engine yard)
- 优 点:
- 性能非常好,10万读写/秒
- 支持List和Set数据结构,(可以作消息队列) 杀手!
- 缺 点
- 数据库容量受物理内存限制
- 不具备可扩展能力,依赖客户端实现分布式读写.
- 整 个数据库加载在内存
- 定期flush到硬盘
- 优 点:
- Tokyo Cabinet 和 Tokyo Tyrant (日被最大SNS mixi)
- 优点
- 支持基于column的查询,分页和排序.(简单替代关 系数据库)杀手!
- 支持HashTable格式和B+树格式???这是内部格式,还是外部格式??
- 性能很好 5万读写/秒
- 支持基于column的查询,分页和排序.(简单替代关 系数据库)杀手!
- 缺 点
- 数据量上亿后,并发写入性能急剧下降 。
- 不具备分布式扩展能力
- 持 久化
- 豆瓣基于TC写的BeansDB, xiaonei基于TC写的Nuclear, Flare(文档较少)等,是对TC的包装,提供分布式能力.
- 优点
- MongoDB
- 优 点
- 介 于关系数据库和NOSQL之间,查询语言非常强大,可以建索引,可以直接替换Mysql
- 性能非常好, 数据量50GB以上,访问速度为MySQL 的10倍以上.
- json格式
- 0.5-1.5 万读写/秒 - 不如前面的产品
- Map Reduce
- 优 点
- CouchDB
- js,map reduce
- Cassandra(Facebook/Amazon Dynamite/ Twitter/ digg.com)
- 它不是一个数据库,而是分布式网络存储,对Cassandra的一个写操作,会被复制到其它节点 上.
- 分布式/java
- 易扩展
- Redis (github & Engine yard)
MapReduce 和并行数据库 朋友还是敌人
提到两篇文章:TODO1 《MapReduce 一个灵活的数据库处理工具》
TODO2《MapReduce 一个巨大的倒退》
TODO3《大 规模数据分析方法对比》
并行数据库 架设很难!! 但是 并行数据库性能比MR好得多!! ????并行数据库指什么? Oracle
- grep
- web日志分析(2T)
- Join任务
- MR 没法使用索引,总是对数据完全扫描
- MR输入和输出,总是文件系统中的简单文件 。
- MR需要使用不高效的文本数据格 式.
其他:
我的成长故事 -潘爱民
很牛的人.从 高中接触BASIC,到Apple II ,
南开大学, Fortran, C,
实习过程中 接触了清华计算机的一群学生!!
接口测试
CODERS AT WORK - Knuth采访
文 学编程 ,不懂我 的工具箱 -徐宥
Vimperator,htop - 快捷键不熟悉,慢慢来
mutt email client,我用Gmail吧
apvlv
Awesome
ack :更好的grep 不错
ipython, 不错!!!
sshfs,
zsh - 我还是bash吧
CAP与数据库
传 统数据库:保证了强一致性(ACID模型),所以扩展能力有限。
NoSQL: 牺牲强一致性,关注可用性和扩展性. (保证最终一致性)
腾讯soso团队采访
感觉腾讯soso的团队分为不错.不过现在可能团队过大了2007封闭开发在海边.
王兴采访
感觉王兴也是一个异 类..可能是被记者写成异类了..mysql Proxy