- 3
- 0
- 约小于1千字
- 约 14页
- 2019-06-29 发布于湖北
- 举报
Lotus 分布式数据库设计与实现 yp.fangdong@ 2012/06/18 内容概要 场景和需求 设计 性能测试 经验总结 场景和需求 微博 等 文本类应用 数据特点 数据模型简单 记录体积小 海量 高并发 弱一致性 初步方案 存储集群:存储系统 + 缓存系统 索引全置内存:key + value的offset Hash方式partition,固定Bucket 索引问题 key:value ≈ 1:50 内存:磁盘 ≈ 8G:5TB ≈ 1:640 →磁盘空间利用率低 →启动速度慢 →内存扩容 成本高 集群震荡 传统hash方式partition hash(key) / n 单点故障,模数n改变,cache 0%命中 深入设计 签名技术 一致性Hash 索引签名 类签名技术 SHA1/MD5/.. 算法 →索引 = 对key签名 + Record的offset →内存索引大量减少,启动极快 →降低签名冲突率 一致性Hash 单点故障 大部分cache仍可用 → (n – 1)/n 其他优化 布隆过滤器 内存管理 数据压缩 c10k LIRS缓存淘汰算法 等等 性能测试 配置 → CPU: 4 * i5-2320 3.00GHz → CPU Cache: 6144 KB 存储引擎 → 随机读写 100w → key:50Bytes va
原创力文档

文档评论(0)