September 2016

You are browsing the site archives for September 2016.

桃花坞里桃花庵,桃花庵里桃花仙 桃花仙人种桃树,又摘桃花换酒钱 酒醒只在花间坐,酒醉还来花下眠 半醒半醉日复日,花开花落年复年 但愿老死花酒间,不愿鞠躬车马前 车尘马足贵者趣,酒盏花枝贫者缘 若将贫贱比贫者,一在平地一在天 若将贫贱比车马,他得驱驰我得闲 世人笑我太疯癫,我笑他人看不穿 不见五陵豪杰墓,无花无酒锄作田

Continue reading

说明 COW,Copy-On-Write技术,是在并发资源访问场景中的一种资源保护模式。当资源仅有读取访问而无更新时,资源仅存在单一副本,但当有对资源进行修改时,将资源复制一份,然后修改复制后的资源,这便是Copy On Write的核心含义。

Continue reading BoltDB之COW技术

前言 我们在前面的博客中详细描述了BoltDB的Bucket存储格式以及针对Bucket的一些关键动作。但在前讲我们关注的重点是Inline Bucket,也即Bucket内所有的KV记录都紧随Bucket的记录而存放,这样可以提高Bucket的搜寻效率。 但随着数据量的增长,一个Bucket无法永远保存Inline的特性,总会在某个点的时候,Inline Bucket终究还是要成为非Inline Bucket,在本篇博客中,我们就来关注一个Inline Bucket如何变成非Inline Bucket以及非Inline Bucket在BoltDB底层的存储形式。

Continue reading BoltDB之Bucket(二)

概述 BoltDB中的Bucket类似于传统关系型数据库的”表”。BoltDB通过Bucket将一个庞大的数据库划分成诸多的命名空间。用户在每个命名空间内存储KV数据,通过此种办法可以提高数据的搜索效率。 例如,一个BoltDB中可: 创建User Bucket,用于记录用户信息(存储的K是用户名,而Value是用户详情) 创建Order Bucket,用户记录用户订单信息(存储的K是用户名,而Value则是订单详情) ……

Continue reading BoltDB之Bucket(一)