BerkeleyDB 的替代品?

发布于 2024-07-09 00:54:47 字数 1835 浏览 14 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

写下不归期 2024-07-16 00:54:47

C/C++

Java

C/C++

Java

送你一个梦 2024-07-16 00:54:47

您可以查看东京内阁。 它是 qdbm/gdbm 的后继者,如果您决定扩展,它有一个很好的网络前端可用。

编辑:

另一个变体是京都内阁; 由同一个人开发,但据说更容易使用。

You could look at Tokyo Cabinet. Its the successor to qdbm/gdbm, and if you decide to scale has a nice network front-end available.

Edit:

Another variant is Kyoto Cabinet; developed by the same person, but supposedly easier to use.

暮年 2024-07-16 00:54:47

SQLite 是公共领域,这意味着您可以将其用于任何目的,并且得到广泛使用和支持。

SQLite is public domain, meaning you can use it for any purpose whatsoever, and is widely used and supported.

情深缘浅 2024-07-16 00:54:47

您可以通过简单的间接级别从任何 dbm(甚至 qdbm)中获得显着改进的性能和改进的并行性:只需获取密钥并对它们进行散列,然后使用 data_dir/H(key)/ 作为数据库来存储这些密钥。 将哈希输出限制为较小的值(例如 255)以获得最佳结果。

这种方法有很多好处,很容易概括:

  • 概念简单
  • 易于实现和测试
  • 更新时不需要锁定整个数据库
  • 可以支持更大的数据库
  • 易于替换 DBM 组件

哈希可能甚至不需要加密安全; 只是大部分都是统一的。 DJB 的 cdb 哈希 在大多数情况下效果很好。

You can get much improved performance out of any dbm (even qdbm) and improved parallelism with a simple level of indirection: Simply take your keys and hash them, and use data_dir/H(key)/ as the database to store those keys. Limit the hash output to a small value (say) 255 for best results.

This approach has a number of benefits, easily summarized:

  • Conceptually simple
  • Easy to implement and test
  • Doesn't lock the entire database for updates
  • Can support much larger databases
  • Easy to replace the DBM component

The hash probably doesn't even need to be cryptographically secure; just mostly uniform. DJB's cdb hash works well in most cases.

倦话 2024-07-16 00:54:47

如果您使用的是 Windows,则可以使用内置的 esent 数据库引擎。 http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx

If you are on Windows then you can use the builtin esent database engine. http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx

祁梦 2024-07-16 00:54:47

您可以尝试 JDBM。 它是一个具有磁盘持久性的免费 (Apache 2) 键值存储。 简单的API和高性能

You could try JDBM. It is a free (Apache 2) key-value store with disk persistence. Simple API and high performance

泪之魂 2024-07-16 00:54:47

PostgresHSQLDB 甚至可能 H2 数据库

Postgres or HSQLDB and possible even H2 database

月亮邮递员 2024-07-16 00:54:47

db4o 非常便宜且速度快,但它只能与 java 或 .net 一起使用

db4o is pretty cheap and fast but it can only be used with java or .net

时光与爱终年不遇 2024-07-16 00:54:47

Firebird 是你最好的朋友。

Firebird is your best friend.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文