如何设计一个K-V存储系统

如何设计一个K-V存储系统?

自己设计的话,单机基本思路是用hash函数把key映射到数组,数组元素存放数据的索引,用链表来解决冲突。这样通过key到索引,再直接取出数据。数据存放的话,内存和文件都可以,内存可存放热点数据。效率提升的话,可以延迟写操作/批量处理的等方式来提升。

分布式设计的话,考虑partition和replication。

详细参考:

http://www.crazyshell.org/blog/?p=176
http://forchenyun.iteye.com/blog/744935
www.unclejoey.com/tag/key-value/
http://www.oschina.net/question/16840_45384

猜你喜欢

转载自blog.csdn.net/randyjiawenjie/article/details/16981281