repmgr_method.c, __repmgr_start_int() 初始2个elect线程. repmgr_elect.c, __repmgr_init_election() __repmgr_elect_thread() __repmgr_elect_main() lease, preferred master mode, rep_elect.c,   __repmgr_elect() __rep_elect_init() lockout, if (rep->egen != egen)…
repmgr_method.c, __repmgr_start_int()repmgr_method.c, __repmgr_start_msg_threads()repmgr_msg.c, __repmgr_msg_thread()message_loop() while ((ret = __repmgr_queue_get()... __repmgr_queue_get - while(m = available_work(env)) == NULL), wait 在msg_avail 上p…
repmgr/repmgr_net.c, __repmgr_send(): 做send_broadcast, 然后根据policy 对DB_REP_PERMANENT的处理 __repmgr_send_broadcast(): 对每个site, send_connection(). MASTER 发送 log/log_put.c, log_put(), 不接受 REP_CLIENT __rep_send_message(env, DB_EID_BROADCAST, - REP_NEWFILE, …
最近研究内存关系数据库的设计与实现,下面一篇为berkeley db原始两位作为的Berkeley DB设计回忆录: Conway's Law states that a design reflects the structure of the organization that produced it. Stretching that a bit, we might anticipate that a software artifact designed and initially produ…
最近用BDB写点东西,写了挺多个测试工程.列下表,也理清楚最近的思路 1.测试BDB程序,包括打开增加记录,查询记录,获取所有记录.将数据转存mysql 程序的不足,增加记录仅仅只有key和value,查询记录仅仅是简单的根据key或者同时制定key和value来查,只获取所有记录,没有获取部分记录,转存mysql消耗比较大 2.mysql和BDB插入和选择数据比较. 在java虚拟机内存相同的条件下,mysql插入数据量比较大时会报内存溢出,BDB 插入数据的量可以比mysql大.而且速度也快…
Oracle Berkeley DB Java 版是一个开源的.可嵌入的事务存储引擎,是完全用 Java 编写的.它充分利用 Java 环境来简化开发和部署.Oracle Berkeley DB Java 版的架构对于读密集型和写密集型的负载提供非常高的性能和并发性.您可以根据需要选择 Berkeley DB Java 版的 Direct Persistence Layer (DPL).Persistent Collections API 或只存储任意数据的键/值对.如果关系数据库无法满足您的应…
http://blog.sina.com.cn/s/blog_502c8cc40100yqkj.html NoSQL是现在互联网Web2.0时代备受关注的技术之一,被用来存储大量的非关系型的数据.Berkeley DB作为一款优秀的Key/Value存储引擎自然也在讨论之列.最近使用BDB来发一个KV系统,并将这段时间的BDB的学习和使用经验记录如下.(项目中使用了BDB的4.8.30版本,本文所有涉及的具体问题都基于该版本). 1. Berkeley DB的简介 Berkeley DB(BDB…
一.Berkeley DB的介绍 (1)Berkeley DB是一个嵌入式数据库,它适合于管理海量的.简单的数据.如Google使用其来保存账户信息,Heritrix用其来保存froniter. (2)key/value是Berkeley DB用来管理数据的基础,每个key/value对代表一条记录. (3)Berkeley DB在底层实现采用B树,可以看成能够存储大量数据的HashMap. (4)它是Oracle公司的一个产品,C++版本最新出现,之后JAVA等版本也陆续出现.它不支持SQL语…
作者:陈磊 NoSQL是现在互联网Web2.0时代备受关注的技术之一,被用来存储大量的非关系型的数据.Berkeley DB作为一款优秀的Key/Value存储引擎自然也在讨论之列.最近使用BDB来发一个KV系统,并将这段时间的BDB的学习和使用经验记录如下.(项目中使用了BDB的4.8.30版本,本文所有涉及的具体问题都基于该版本). 1. Berkeley DB的简介 Berkeley DB(BDB)是一个高性能的嵌入式数据库编程库(引擎),它可以用来保存任意类型的键/值对 (Key/Val…
一.             简介        Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据. l         能够高效率的处理1到1百万条记录,制约JE数据库的往往是硬件系统,而不是JE本身. l         多线程支持,JE使用超时的方式来处理线程间的死琐问题. l         Database都采用简单的key/value对应的形式. l         事务支持. l         允许创建二级库.这样…