Soupen是一款高性能的nosql数据库,旨在能在某些方面替代Redis。它由不著名码农、秦汉史历史学家、本站站长Yebangyu同学在业余时间独立开发完成。
Github请访问这里 ,很烂的一个Python客户端请点击这里。
动机
开发Soupen的主要原因是想通过这个项目,进一步提高和熟悉C++服务器端开发相关的技术和知识。
特性
换句话说,它和Redis相比有什么不同?
目标:Redis有的,Soupen都有。Redis没有的,但是很实用的,Soupen也有,比如说Cuckoo Hashing Map等。再比如说Treap,这玩意其实用来实现倒排索引非常高效,细节请参考Sigir2013的论文。
但是不打算兼容它,API和协议也和它不同。
进度
目前已经支持
- Standard Bloom Filter
- Trie
- 切换数据库
还有很多工作要做,包括但是不局限于:
Bug 修复
毕竟,稳定和正确是第一位的。
数据结构
- List
- HashMap
- Priority Queue
- Skip List
- Treap
- Kd tree
- Cuckoo Hashing Map
- d-left hashing based Couting Bloom Filter
性能优化
超过或者达到Redis。
分布式
单机的内存数据库意义不大。
截图
server
client
不过,Soupen是写着玩的,别太当真。