Yebangyu's Blog

Fond of Concurrency Programming , Distributed System and Machine Learning

Soupen: A High Performance Nosql

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

server

client

client

不过,Soupen是写着玩的,别太当真。