4

我正在寻找一个小型数据库,它可以“嵌入”到我的 Python 应用程序中,而无需运行单独的服务器,就像使用SQLiteMetakit 一样。我不需要 SQL 数据库,事实上存储像 Python 字典或 JSON 这样的自由格式数据更可取。

另一个要求是能够在服务器上运行数据库实例,并让我的应用程序实例(客户端)将数据库与服务器同步(双向),类似于CouchDB 复制可以执行的操作。

有没有数据库可以做到这一点?

4

6 回答 6

2

根据您的描述,听起来您可以通过使用pickle和 FTP 获得。

于 2009-11-22T19:18:56.197 回答
1

如果您不需要 SQL 数据库,那么 CouchDB 有什么问题?您可以生成一个本地进程来为数据库提供服务,并且您可以轻松编写服务器包装器以仅允许从您的应用程序访问。我不确定访问的故事,但我相信最新的 Ubuntu 使用 CouchDB 来获取可同步的用户级数据。

于 2009-11-22T18:23:11.277 回答
1

对于 CouchDB 来说,这似乎是一项完美的工作:2 路同步非常简单,无模式 JSON 文档是本机格式。如果您使用的是 python,那么couchdb-python是使用 CouchDB 的好方法。

于 2009-11-22T18:41:48.657 回答
1

您是否需要客户端脱机工作,然后在重新连接到网络时重新同步?我不知道MongoDB是否可以处理离线客户端场景,但如果客户端一直在线,MongoDB 可能也是一个很好的解决方案。它有很好的 python支持。仍然是一个单独的进程,但在 Windows 上运行可能比 CouchDB 更容易。

于 2009-11-22T18:54:07.020 回答
1

BerkeleyDB 可能是另一种选择,它足够轻量级。如果你需要 Python 接口,easy_install bsddb3。

于 2009-11-24T15:26:55.467 回答
0

HSQLDB这样做,但不幸的是它是 Java 而不是 Python。

Firebird SQL可能更接近您想要的,因为它似乎有一个 Python 接口。

于 2009-11-22T17:30:25.940 回答