我目前正在使用具有以下使用限制的数据库:
- 针对快速单行查找进行了优化(键值对很好)
- 数百万行(尽管可能 <10M)
- 不需要关系连接等。
- 多用户和多线程访问的潜力
它最初是使用 PostgreSQL 开发的,因为我们熟悉这种类型的数据库。现在它对于查找和更新来说太慢了(它是一个缓存,所以速度就是一切)。我们目前正在测试索引 PostgreSQL 表以加快查找速度的不同方法,但我想从有经验的人那里知道 Berkeley DB 是否会比优化键控的 PostgreSQl db 更快?
我目前正在使用具有以下使用限制的数据库:
它最初是使用 PostgreSQL 开发的,因为我们熟悉这种类型的数据库。现在它对于查找和更新来说太慢了(它是一个缓存,所以速度就是一切)。我们目前正在测试索引 PostgreSQL 表以加快查找速度的不同方法,但我想从有经验的人那里知道 Berkeley DB 是否会比优化键控的 PostgreSQl db 更快?
可能是您没有像它可能的那样索引它吗?(1000 万行很小...... Postgres 可以并且确实可以处理 TB 的数据。)
也就是说,如果它只是一个缓存,您是否考虑过为它创建一个 RAM 驱动器和一个表空间?
http://www.postgresql.org/docs/current/static/manage-ag-tablespaces.html
您也可以将其中的表取消记录以进一步加快速度(如果它真的只是一个缓存,这并不重要):您最终会得到类似于 memcached 的东西,受益于 postgresql 语法和数据类型.