自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵伟的计算机软件技术专栏

数据库管理系统设计与实现; MySQL、PostgreSQL、Berkeley DB内核开发; 大型软件架构设计和研发管理;

  • 博客(13)
  • 收藏
  • 关注

原创 XML数据库管理系统 ---需求与目标

需求分析随着W3C(1)制定的XML标准从上世纪90年代开始逐步推广,XML文档的应用越来越广泛。首先XML(2)文档被很多领域应用作为数据标准化的方式,也就是用来定义行业标准数据格式。这里http://en.wikipedia.org/wiki/List_of_XML_markup_languages 是一系列基于XML定义的标准数据格式,在国内的医疗,出版等很多行业也使用了XML定义的数据

2012-03-25 16:02:07 2102

原创 方正XML数据库设计与实现---开篇

在上海方正工作快一年了,这一年非常忙碌,带团队工作比自己一个人辛苦很多,要在各个方面操心,以至于没有时间更新blog了,虽然有很多很多东西可以写。 最近稍稍有了点时间,我也很想把这一年的成果和收获在允许的范围内与大家分享,对自己也是一种总结与提高。 我会在后面接连写几篇关于我在上海方正 XML数据库的设计和实现方面的技术文章,希望大家多交流。这一年以来我们做了很多工作,目前我们的方正XML

2012-03-25 16:01:02 1419

原创 Berkeley DB 源代码分析 --- 小结

刚才贴了一些文章,都是我之前读Berkeley DB的代码时候记下来的笔记,基于Berkeley DB 4.6 ~ Berkeley DB 4.8版本的代码,不过相信与现在最新的代码差别也不大,有兴趣朋友可以看看。同时如果想要完全理解代码,那么在看我这些分析的同时,可以调试一下bdb代码,按照功能逐一调试。比如想要理解bdb的btree如何插入一条key/data pair,那么就写一小段代码调用

2012-03-25 15:59:38 2880 2

原创 Berkeley DB 列存储设计方案

这是我根据列存储的需求以及Berkeley DB的技术特征做的一个列存储设计方案。有兴趣的朋友可以研究一下,并且在Berkeley DB的基础上面实现出来。有问题可以联系我,我尽量抽时间回答。Column store improvements:0. Store column metadata and table metadata. Column metadata including:

2012-03-25 15:58:38 1134

原创 Berkeley DB 源代码分析 (7) --- 事务和日志 (2)

这篇和上篇一样,也是含有一些wiki格式控制字符,看的时候直接忽略这些格式字符。= Logging subsystem === Architecture ==Log subsystem consists of one log buffer, and several log files, each has a unique file number.  Log buffer

2012-03-25 15:57:48 1014

原创 Berkeley DB 源代码分析 (6) 缓存模块

这篇文字原来是贴在wiki里面的,所以有一些wiki系统使用的格式标记,大家将就看吧,不好意思哈。= Memory Pool subsystem === Architecture ==mpool is the underlying cache for all access methods (AMs). It provides pages to AMs, and writes

2012-03-25 15:56:57 1321

原创 Berkeley DB 源代码分析 (5) --- 事务锁模块

Locking Subsystem Learning Notes0. locking API__db_lput/__db_lget are txnal lock put/get, often __TLPUT is called instead,and __TLPUT calls __db_lput internally. __db_lput will downgrade the loc

2012-03-25 15:55:56 5050

原创 Berkeley DB 源代码分析 (4) --- 事务和日志

1. in nested txns, when child txns of any level commit, __txn_child logs are always written, no matter the child txn commits explicitly or implicitly by its parent's commit.2. Read only txns don

2012-03-25 15:54:45 710

原创 Berkeley DB 源代码分析 (3) --- Btree的实现 (2)

__bam_ditemIn btree we store on-page duplicate key/data pairs this way: 1. we only put the key onto the page once, since it's duplicated, there is no meaning puttingidentical keys multiple tim

2012-03-25 15:54:00 1403

原创 Berkeley DB 源代码分析 (2) --- Btree的实现 (1)

II. Type Dictionary1. BTREEThe DB handle's DB->bt_internal structure, stores per-process and per-dbhandlebtree info and function pointers.2. BTMETAThe btree meta page structure shared by

2012-03-25 15:52:53 1336

原创 Berkeley DB 源代码分析 (1) --- 代码特征与游标的实现

I. General Notes1. use a cursor to access db internally. cursor connects lock/txn/logging/AM, etc.To get a page, first create a cursor if don't have one, then call __db_lget to lock the page, then

2012-03-25 15:52:06 1336

原创 Berkeley DB内核源码分析

Berkeley DB是一个优秀的数据库存储引擎,虽然它比起那些大块头的DBMS来说显的很小,但是size并不与能力呈正比,Berkeley DB拥有那些大块头DBMS的存储引擎所拥有的全部功能,而且做得还不错。哪些大块头之所以大,很大程度是对于数据库管理系统的设计技术感兴趣的同行们来说,学习Berkeley DB是一个很好的开始,因为Berkeley DB全面地拥有一个DBMS的存储引擎应该

2012-03-25 15:51:11 1661

原创 The Usage of the volatile Keyword

Following are my notes and understanding from the two referenced documents listed at the end of the article.0. The volatile keyword tells compiler to turn off optimization for code accessing the

2012-03-25 15:36:55 570

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除