• 2014-10-26

    SSDB 分布式的一些想法

    Views: 30946 | 15 Comments

    到目前为止, SSDB 还是一个单机存储方案, 存储容量受到单机硬盘的限制, 虽然 SSDB 可以自动压缩数据, 将存储容量提高 10 倍以上, 但还是在 TB 级别. 不少 SSDB 的用户一直在呼唤 SSDB 分布式, SSDB 集群, 但是千呼万唤不出来. 为什么?

    分布式数据存储是一个真正的技术难道, 不说各种理论, 最简单的是数据怎么迁移. 想想, 原来你只有一个存储节点, 但数据多了之后, 硬盘存不下, 这时怎么把一部分数据迁移到另一个新的存储节点? 这就是数据迁移问题. 这其实是2个问题:

    1. 一份数据应该存储在哪个节点? 原有的节点, 还是新加入的节点?
    2. 在什么时机, 用什么手段来迁移? 如何保证迁移的过程不影响服务?

    有些同学一听到分布式数据存储, 就言必称"一致性哈希", 遇到这种人我只有一个字 - 滚!

    Continue reading »

    Posted by ideawu at 2014-10-26 12:03:25 Tags: ,
  • 2013-05-06

    LevelDB 写操作出现停顿的问题分析

    Views: 44694 | 4 Comments

    我写了一个简单的循环程序往 LevelDB 写数据进行测试, 发现偶尔会出现停顿的情况, 单个写操作可能会耗时超过1秒. 这种慢请求是非常致命的, 因为在高并发的 Web 应用中, 1秒钟影响到的用户是成百上千个.

    经过分析, 发现 LevelDB 实现了写限速机制, 当 Level-0 的 sst 文件数超过一定数量时开始限速, 再超过一定数量时, 直接主动的阻塞写操作, 直到 Compaction 线程减少了 Level-0 的 sst 文件数量减少到阀值以下.

    Continue reading »

    Posted by ideawu at 2013-05-06 13:51:55 Tags: ,
  • 2013-04-23

    SSDB 使用 jemalloc

    Views: 53695 | 2 Comments

    SSDB 目前已经进展到 1.3.x 版本, 在使用过程中, 程序一直非常稳定, 内存占用也很合理, 即使在一个40G数据在应用中, 内存占用也稳定在1G左右.

    最近, SSDB 被应用到了一个极端的环境, 这是一个图片相关的应用, 给 SSDB 造成的压力就是:

    1. 单条数据较大. 一般的应用也就几K级别的单条数据, 但图片处理一般在1M级别
    2. 并发数较多, 达20K+

    Continue reading »

    Posted by ideawu at 2013-04-23 13:11:00 Tags: ,
  • 2013-01-24

    为什么LevelDB用了大量VIRT虚拟内存

    Views: 33463 | No Comments

    在最近的一个项目中, SSDB 刚一重启便使用了 500M 的虚拟内存(top VIRT), 但这都是 LevelDB 使用的, 并不是 SSDB 内存泄露. 在 64 位的环境, LevelDB 会利用 mmap 来读取 sst 文件, 所以导致了大量虚拟内存, 而实际使用的内存 RES 只有 50M.

    在 64 位的环境中, 即使几十 G 的虚拟内存也没有任何影响. 但如果你觉得看起来不好, 可以这样改进:

    • 减少 leveldb::Options 的 max_open_files 参数, 这样 LevelDB 用 mmap 打开的文件就减少了
    • 提供自己定制的 Env, NewRandomAccessFile() 不使用 mmap
    • 改成 32 位环境
    Posted by ideawu at 2013-01-24 11:09:09 Tags: ,
  • 2013-01-13

    SSDB 已经迁移到 github

    Views: 36176 | No Comments

    据说 github 功能更强大更适合多人协作开发, 所以我把 SSDB 从 Google Code 上迁移到了 github. 目前正在体验当中, 能想到的 github 的一个好处是, 我可以 fork 一个项目出来, 作为基于 SSDB(LevelDB) 的分布式存储项目, SSDB 仍然作为单机和简单主从结构的存储服务器项目.

    项目地址: https://github.com/ideawu/ssdb

    Posted by ideawu at 2013-01-13 21:22:43 Tags: , ,
  • 2013-01-11

    SSDB(LevelDB 服务器) PPT

    Views: 40284 | No Comments

    Posted by ideawu at 2013-01-11 23:34:44 Tags: , , ,
|<<<12>>>| 1/2 Pages, 8 Results.