B+树做文件系统的问题

1->需要做一个文件系统,我的实现是一个索引文件和一个数据文件,用B+树来实现。我想问那个索引文件里头是怎么存下B+树结构的?还是说在加载的时候才在内存形成B+树(而索引... 1->需要做一个文件系统,我的实现是一个索引文件和一个数据文件,用B+树来实现。我想问那个索引文件里头是怎么存下B+树结构的?还是说在加载的时候才在内存形成B+树(而索引文件本身是没有什么特别的排序方式)?

2->另外,是不是要把所有的关键字都加载到内存里?如果是这样,像淘宝那样巨大的数据库内存不是都要爆掉了?如果不是…想要对所有数据进行排序的话,又该怎么实现?
展开
 我来答
nietiezheng
2013-02-13 · TA获得超过5536个赞
知道大有可为答主
回答量:3132
采纳率:87%
帮助的人:1242万
展开全部
这个问题我尽力回答你,因为我是做数据库系统实现的,对操作系统了解的还是差一些
1,索引文件的管理也是基于页面进行的,一般来说一个页面就是索引文件的一个节点,所以索引文件里存储B+树结构还是按照页面进行管理,在页面内部则是用顺序表存储索引项,在加载时将B+树的页面节点加载到内存中,这时需要进行地址转换,就是节点之间的连接原来是磁盘的地址,现在要修改为内存地址,这样就形成内存的索

2,如果索引很大,可以先加载根节点,在需要的时候加载其他节点。淘宝的数据库是分层的,包括oracle,mysql集群,文件系统,根据数据的新鲜度和潜在访问频率依次存储,此外,淘宝还使用了内存数据库集群来存储索引这来信息,通常是有上百台机器的集群构成的分布式内存存储,查找的时候使用hash方式,这样可以不用排序,如果是范围查找,可以让每个服务器管理一个区间。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式