简介 SSDB -- 支持网络的LevelDB 站点:https://github.com/ideawu/ssdb 我实际使用了SSDB支持网络+持久化特性,完成了一个集群 1.句柄数 ulimit -a查看,发现系统默认是1024.需要 sudo vim /etc/security/limits.conf 修改最大文件句柄数为 65535. 原因是LevelDB需要使用超过1024个句柄,LevelDB原理的会开新帖子在后面分析. 2. api Status类有3个函数,ok(),error(…
2年前使用的ttserver,性能很高,支持分布式,但稳定性不足,当存储容量达到亿级的时间经常会出现无法插入的情况,而且不知道是什么原因造成的错误,重启后也无济于事,只好重启开新库. 单库写入性能 2000/sec,当数据量增大到亿级的时候,只是轻微的降低.双库写入性能 2000/sec,当数据量增大到亿级的时候,只是轻微的降低.单与双对写入性能影响不大. 然后开始使用mongodb,mongodb支持分布式也支持分片,可以说功能相当强大,但在我的服务器环境中(机械硬盘)插入速度却是非常慢(10…
最近有个业务写远远大于读,读也集中在最近写入,这不很适合采用leveldb存储么,leveldb业界貌似ssdb用得挺广,花了两天时间就ssdb简单做下测试,以下总结. ssdb 是leveldb的redis兼容协议封装,并且实现了主从同步,源码不多易读:主要对redis命令封装,get/set 不说,leveldb 是有序的,相比redis通过scan遍历的命令,利用有序性 list.hset也通过key+fileld/seq - val 方式存储,ttl 会单独存储一个hset 保存过期时间…
SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案. 因为SSDB的最初目的是替代Redis, 所以SSDB会经常和Redis进行比较. 我们知道, Redis是经常的”主-从”架构, 虽然可以得到负载均衡以及数据跨地域备份的功能, 但无法实现高可用性. 考虑这种情况, Redis的主和从分别在两个IDC机房, 当主所在…
SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案. 因为SSDB的最初目的是替代Redis, 所以SSDB会经常和Redis进行比较. 我们知道, Redis是经常的”主-从”架构, 虽然可以得到负载均衡以及数据跨地域备份的功能, 但无法实现高可用性. 考虑这种情况, Redis的主和从分别在两个IDC机房, 当主所在…
一.文件缓存tmpfs 1.特性 1) 基于内存的文件系统,RAW+SWAP,虚拟内存 2) tmpfs使用虚拟内存,/dev/shm/使用共享内存 3) 访问速度快,可以动态调整大小 4) 没有持久性,重启后删除 5) 占用的空间不会在内存清理的时候删除(这点注意) 2.应用场景 1) squid或nginx缓存 2) PHP Session 3) 存放socket 4) 自定义缓存 3.文件拷贝到/dev/shm目录中,查看内存的变化 # df -Th tmpfs tmpfs 912M 0…
ssdb,一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.——这是其官网的自我介绍. ssdb在leveldb存储库的基础上进行改造和丰富,添加了类似redis操作的接口,实现了数据的高可用.所以ssdb是基于leveldb实现了redis功能的nosql数据库,可以直接使用redis的客户端访问ssdb. 安装 wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip…
通常大家都会使用redis作为应用的任务队列表,redis的List结构,在一段进行任务的插入,在另一端进行任务的提取. 任务的插入 $redis->lPush("key:task:list",$task); 任务的提取 $tasks = $redis->RPop("key:task:list",0,-1); 可是大家想,如何使用mysql来实现一个队列表呢? 映入大家脑海的一个典型的模式是一个表包含多种类型的记录:未处理记录,已处理记录,正在处理记录等…
一.高可用集群 从ActiveMQ5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper+LevelDB的Master-Slave实现方式,其他两种方式目录共享和数据库共享方式依然存在. 1.文件共享(KahaDB) <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter>…
1 编译安装 Q1: 支持的系统? A1: 目前只支持Linux环境,包括Centos,Ubuntu: 不支持Windowns, Mac Q2: 怎么编译安装? A2: 参考编译安装wiki Q3: Ubuntu编译偶尔报错isnan isinf was not declared? A3: 一些旧版本的pika对Ubuntu环境兼容不好,某些情况下会出现:可以先修改代码,用std::isnan和std::isinf替代isnan,isinf, 并包含头文件cmath. 我们会在新版兼容这个. #…