`
文章列表
Berkeley DB -- DB Replication (HA)下部 Network partitions bdb replication 的实现可能被网络隔离的问题影响。 例如,考虑replication组有n个成员。网络隔离让master在一边,多于一半(n/2)的站点在另外一边。和master在一边的站点将继续前 ...
Berkeley DB -- DB Replication (HA)中部 Synchronizing with a master 当一个client探测到replication组内一个新的master后,在它能去处理新的数据库变化之前,这个client必须去同步这个新的master。同步是一个重量及操作,它能同时给 这个client和master增加负担。这儿有一些措施,一个应用程序可以用来减轻同步的负担。 延迟client同步: 当组内有了一个新的master,不论是被应用程序指定的还是因为选举的结果,所有的clients必须去同步这个新的master。这会使新的master的资源过 ...
Berkeley DB -- DB Replication (HA)上部 Introduction bdb包括对构建基于复制(replication)的高可用性应用程序的支持。bdb replication组由一些独立配置的数据库环境组成。 组里只有一个master数据库环境和一个或多个client环境。Master环境支 ...
Berkeley DB -- 补充一些东西 前面漏掉的一些东东。 腐烂数据的处理或者说数据库文件的瘦身: 当你从Btree或Hash数据库删除key/data对时,它并不把这个返回给文件系统,这使得数据重用成为可能。也就是说Btree和Hash数据库都是只增的。当你删除大量key/data对时,你可能想使数据库文件也缩减,你应该建立一个新的数据库文件,把记录从旧文件复制过去。应该是导入导出记录,而不是直接copy文件。 字节序的问题: 例如:数字254~257。在一个小数在前(little-endian)的系统上是: 254 fe 0 0 0 255 ff 0 0 0 256 0 1 ...
Berkeley DB -- DB Environment Database environment introduction Berkeley DB 环境用来封装一个或多个数据库,日志文件和区域文件。区域文件是共享内存区,它里面包括数据库环境信息像内存池cache页等。只有数据库文件可以在不同的字节序机 ...
Berkeley DB -- DB Architecture The big picture 前面几章讲了用访问方法快速的存储和取回数据。后面主要讲任何访问方法的应用,它们是线性的和可恢复的在面对系统故障时。 Berkeley DB 底层体系结构: 如上图,应用程序调用访问方法,而访问方法使用底层的共享内存cache放置最近用过的文件页面。 当应用程序需具备恢复能力的时候,它们调用的访问方法必须预先封装在事务字系统中。程序告诉bdb事务的开始和结束点。必须准备面对特殊情况下可能的失败,导致事务异常终止。 一个例子说明具有事务保护的代码的大致样子: for (fail = 0;; ...
  Berkeley DB的技术特点:        Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理。与常用的数据库管理系统(如MySQL和Oracle等)有所不同,在Berkeley DB中并没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的Berkeley DB函数库来完成对数据的保存、查询、修改和删除等操作。        Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、Perl、T ...
Berkeley DB -- Access Method Configuration Hash or Btree? Hash 和 Btree方法应该被用于当逻辑记录号不是用来做主键对数据访问的情况。(如果逻辑记录号是一个secondary key,用来对数据进行访问,Btree方法是一个可能的选择,因为它支持通过一个键和一个记录号来同时的访问。) Btrees中的键是按一定的秩序来存放的。Btrees应该被用于那些keys存在某种关系的时候。例如用时间做keys,当现在访问8AM时间戳的时候,可能下一个就访问9AM时间戳。也就是在排列顺序中附近的(near)。再比如,用names做k ...
在网上看到不少介绍Berkeley DB的文章,几乎所有的中文文章都是介绍完入门就再也没了。大都是个概括。最近做这个,所以想系统的由浅入深的介绍一下。不清楚的地方可以和我讨论,或参照官方网站sleepycat上的文档。我用的是 ...
Global site tag (gtag.js) - Google Analytics