SSDB - 快速的集合数据存储服务器

1,282 views
989 views

Published on

SSDB - 快速的集合数据存储服务器, 使用LevelDB作为存储引擎, 支持map, zset等多种数据结构.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
  • 没看到缺点的描述
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,282
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

SSDB - 快速的集合数据存储服务器

  1. 1. SSDB快速的集合数据存储服务器13年6月6⽇日周四
  2. 2. SSDB动机  -  KV和RedisKV Redis优点 接口简单速度快,  丰富的集合数据结构缺点不支持集合数据,  好友列表,  排行榜...数据不超过单机内存• NoMySQL,  why?  how?• 需要丰富的集合数据结构• 把硬盘也利用起来13年6月6⽇日周四
  3. 3. 性能重要,  API重要存储距离PHP近一些,  API越业务近一些13年6月6⽇日周四
  4. 4. 巨人的肩膀  -  LevelDBLogLevel-0Level-1Level-2写:  顺序写读:  排序后读,  批量读查找,  局部性概率level越高,  合并概率越小level越低,  合并成本越小为什么选择LevelDB?13年6月6⽇日周四
  5. 5. SSDB  -  集合数据存储服务器C/C++ kv,  k-map,  k-zset LevelDB主从 双主多主 混合C/C++ PHP Python NodeJS Java Lua...SSDB网络协议网络存储客户端13年6月6⽇日周四
  6. 6. 一主多从 双主或者多主多主多从弱一致性,  异步更新(双主)Master(readwrite),  Slave(readonly)Mirror  Master13年6月6⽇日周四
  7. 7. SSDB实现  -  从LevelDB到SSDBLevelDBKV存储引擎无网络支持数据在单机内存和硬盘SSDBK-集合网络支持主从,  双主,  多主13年6月6⽇日周四
  8. 8. SSDB实现  -  zset集合LevelDBLevelDBLevelDBLevelDBkey1 value key2 valuez[1]a za 1z[3]d zb 5z[5]b zc 7z[7]c zd 3zset:  元素按score排序的set,  好友列表,  排行榜,  ...SSDBSSDBSSDBname element scoreza 1zd 3zb 5zc 7key1:  排序key2:  去重13年6月6⽇日周四
  9. 9. 网络协议设计• 虽然已经有memcached协议,  Redis协议等,  但因为数据结构不同,  API不同,  所以需要自定义协议• 协议必须简单,  各种语言容易实现,  而且对人友好• 所以,  二进制和文本混合的协议协议解析13年6月6⽇日周四
  10. 10. 总结SSDB的优势• 数据结构丰富• 性能优越• 主从复制,  多主复制13年6月6⽇日周四
  11. 11. 未来• 超越单机限制,  数据多机动态分布• 非中心式的小存储集群• 采用速度更快的SSD磁盘,  调整LevelDB在上面的表现13年6月6⽇日周四
  12. 12. THANKS!13年6月6⽇日周四

×