我听说B-Tree数据库比Hash表更快,所以我想在我的项目中使用B-Tree数据库。python中有没有现有的框架允许我们使用这样的数据结构,或者我必须从头开始编写代码?
发布于 2014-08-01 22:56:49
你真的应该去看看zodb。http://www.zodb.org/en/latest/
我写了一本关于long go的专著,尽管它是用西班牙语http://sourceforge.net/projects/banta/files/Labs/zodb/Monografia%20-%20ZODB.pdf/download写的
英语信息随处可见。
发布于 2010-10-12 04:18:54
发布于 2010-10-12 09:26:42
SQLite3在内部使用B+树,但是听起来您可能需要一个键值存储。为此,请尝试Berkeley DB。如果您不需要事务,可以尝试使用HDF5。如果您想要一个分布式键值存储,也可以使用http://scalien.com/keyspace/,但这是一个服务器-客户机类型的系统,它可以打开所有类型的NoSQL键值存储。
对于插入和检索,所有这些系统都是O(log(n)),因此它们可能会比您当前使用的哈希表慢。
“京都内阁”提供了一个散列树,所以这可能是你所看到的更多,因为对于插入和检索,它应该是O(1),但是如果你需要的话,你不能按顺序遍历(尽管你现在正在使用散列树,这应该不是问题)。
http://fallabs.com/kyotocabinet/
如果您正在寻找性能,那么您将需要在编译语言中实现速度关键项目,然后在Python中拥有包装器API。
https://stackoverflow.com/questions/3909602
复制相似问题