随leveldb一起开源的代码中,还包括一些测试程序, 发现这些测试程序都使用了一些公共的部分代码,很容易编写多个测试用例,自动运行,还能生成测试报告。原来这就是一个简单的测试框架啊,非常实用,实现也很美观,因此记下来。 自动化测试中的必不可少的过程,是需要针对不同的输入条件自动执行测试对象程序,比 ...
分类:
数据库 时间:
2017-09-27 22:28:47
阅读次数:
181
内存管理对于任何程序都是很重要的一块,leveldb自己也实现了一个简单了内存分配器,而不是使用一些其他开源软件tcmalloc等,避免了对其他软件的依赖。 自己实现内存分配器有什么好处呢? 我认为主要有以下几点: 1. 内存池的主要作用是减少new 、 delete 等的调用次数,也就是减少系统调 ...
分类:
数据库 时间:
2017-09-27 18:51:53
阅读次数:
280
LevelDB这种文件系统是从ActiveMQ5.8之后引进的,它和KahaDB非常相似,也是基于文件的本地数据库储存形式,但是它提供比KahaDB更快的持久性。与KahaDB不同的是,它不是使用传统的B-树来实现对日志数据的提前写,而是使用基于索引的LevelDB。<brokerbrokerName="broker"...&g..
分类:
数据库 时间:
2017-09-19 11:05:44
阅读次数:
1037
一、LevelDB简介 LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。LevelDB应用了LSM (Log Structured Merge) 策略,lsm_tree对索 ...
分类:
数据库 时间:
2017-09-10 16:44:07
阅读次数:
189
区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。它可以被存储为flat file(一种包含没有相对关系记录的文件),或是存储在一个简单数据库中。比特币核心客户端使用Google的LevelDB数据库存储区块链元数据。区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。区块链经 ...
分类:
其他好文 时间:
2017-09-10 14:18:48
阅读次数:
106
分布式系统实践 1. 当LSM遇上SSD https://mp.weixin.qq.com/s/HAaTVtg4SlaGLcn1QZpw9A 摘要: 以LevelDB为代表的LSM-tree存储引擎几乎一统天下, 然而代价是几十到上百倍的写放大. 随着SSD在随机IO上的突破, 这么高的写放大就显得 ...
分类:
其他好文 时间:
2017-09-08 19:27:33
阅读次数:
155
caffe cifar10试跑问题总结 [daniel] 写了一个脚本可以直接用来添加环境变量:/Users/songdanzju/daniel_script/export_for_ananconda.sh #! /bin/bash export PATH=~/ananconda/bin:$PATH ...
分类:
其他好文 时间:
2017-09-02 09:40:13
阅读次数:
402
ActiveMQ 高可用集群安装、配置 (ZooKeeper + LevelDB) ActiveMQ 高可用集群安装、配置 (ZooKeeper + LevelDB) 1、ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群环境:192. ...
分类:
数据库 时间:
2017-08-14 20:05:56
阅读次数:
234
leveldb中的memtable仅仅是一个封装类,它的底层实现是一个跳表。跳表是一种基于随机数的平衡数据结构。其它的平衡数据结构还有红黑树、AVL树。但跳表的原理比它们简单非常多。跳表有点像链表,仅仅只是每一个节点是多层结构,通过在每一个节点中添加向前的指针提高查找效率。例如以下图: 在/leve ...
分类:
数据库 时间:
2017-08-08 19:56:44
阅读次数:
224
1:在《ActiveMQ 基于zookeeper的主从(levelDB Master/Slave)搭建以及Spring-boot下使用》(http://www.cnblogs.com/yshyee/p/7277801.html)中,采用以下代码进行JMS消息发送: 经使用JMeter进行压力测试,发 ...
分类:
编程语言 时间:
2017-08-04 10:02:29
阅读次数:
699