海量存储系列之十
长文
2011
12/22
海量存储系列之九
长文
2011
12/18
海量存储系列之八
首先来回答一个问题:为什么在磁盘中要使用b+树来进行文件存储呢?
原因还是因为树的高度低得缘故,磁盘本身是一个顺序读写快,随机读写慢的系统,那么如果想高效的从磁盘中找到数据,势必需要满足一个最重要的条件:减少寻道次数。
我们以平衡树为例进行对比,就会发现问题所在了:
先上个图
&nb
长文
2011
12/10
海量存储系列之七
长文
2011
12/07
海量存储系列之六
抱歉大家,间隔有点久,因为这一章要比较细致的总结,所以有些时间耽误。上次我们讲到,单机事务个我们面临的问题,下面我们来说一些我所知的解决的方法。
在我开始做淘宝数据层的时候,被问得最多的无非也就是:如何做事务,如何做join.至今仍然如此,我一般都会简单而明确
长文
2011
11/27
海量存储系列之五
长文
2011
11/26
海量存储系列之四
单机事务:
其实在上面介绍ACID的时候
我们已经提到了一种最简单的实现方式,就是锁的实现方式。
从原理来看,事务是个变态而复杂的事情。其实如果是序列化的话呢,那么实现起来一定是非常简单的。
但问题就在于,这样性能实在比较低,于是,就有了非常多的方案,为了能哪怕减少一个地方的锁,
长文
2011
11/26
海量存储系列之三
上一篇 http://qing.weibo.com/1765738567/693f0847330005v7.html
首先是回答上次的问题。
假设有这么一组数据,性别有4种,user_id是一对多的关系,如果我想查询
select * from tabwhere user_id in (?,?,?,?) and 性别='不明'
如何进行索引构建能够获得比较好的效果呢?
我个人认为,应该建立的是以u
长文
2011
11/22
海量存储系列之二
?http://qing.weibo.com/1765738567/693f0847330005sm.html 上一篇
在上一篇里面,我们对数据库的抽象的组成原理进行了简单的描述。在这一篇里面,我们一起来看看,如何能够使用kv这样的工具。来完成关系代数运算。
那么,让我们先来热热身:
这是一组数据,以pk作为主键,user_id和Name是外key.
那么,如果我要运行查询:Select *
长文
2011
11/20
海量存储系列之一
长文
2011
11/20
海量存储之序言
?今天玩微薄的时候有人问我有没有数据存储的相关资料,我想了想。。虽然在这个领域内也算有点积累,以前讲课的ppt有200多页,但毕竟ppt的信息量有限。所以在这里将这个系列的部分内容在这里进行重新编排
主要将涉及到:
1. 数据库原理 http://qing.weibo.com/1765738567/693f0847330005sm.html