python - 可移植/独立 Web 应用程序的潜在数据库系统?

标签 python database sqlite web-applications

我正在使用 python/cherrypy 开发一个可移植的网络应用程序,理想情况下我希望能够简单地将其提取到一个文件夹中而不必安装任何东西。可能阻止这种情况的其中一件事是我的数据库后端。大多数类似的设置似乎都使用 SQLite,但我有一些顾虑,因为我可能同时有多达 30 个人连接到我的服务器,并且担心写独占锁会产生很大的影响。

我的问题:

  1. SQLite 在同时处理多达 30 个尝试读取的连接和其中一些尝试写入的连接时,会有多糟糕?对于尝试从数据库中读取的人来说,插入可能会导致什么样的等待时间?
  2. 有人有其他建议吗?我想避免使用 MySQL,因为我对我的项目有一些商业抱负,但如果有必要,我会走那条路。不过,我可能会放弃完全的可移植性并需要安装 PostgreSQL,然后再使用 MySQL……
  3. 只要带宽不是问题,让一个桌面为那么多连接提供服务是否合理?

预先感谢您的帮助,如果我问的问题很明显或者之前已经回答过(我在这里/网上花了很多时间搜索,但没有看到任何确定的内容),我深表歉意。 -repole


编辑:顺便说一下,一些有用的讨论 here对于后来偶然发现这个问题的任何人。

最佳答案

有一些纯 python 数据库,不确定它们有多好或多稳定:

如果您担心分发许可证,请检查具有 Apache 许可证的内容。当前托管的顶级数据库项目之一是 CouchDB。我看到的主要问题是分发并不像简单地包含一个 Python 模块那么容易。

不确定您的网络应用程序的架构是什么样的,但可以使用多个 Sqlite 数据库来解决锁定问题。

另一个选项是 Berkeley DB:http://docs.python.org/library/bsddb.html

关于python - 可移植/独立 Web 应用程序的潜在数据库系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6617753/

相关文章:

python - 带有TfidfVectorizer的ColumnTransformer产生 “empty vocabulary”错误

python - pip 安装 lxml 错误

python - Pyranges 中重叠和相交方法的区别

python pandas df 合并多索引的一部分

sql-server - 收集网站用户统计数据

mongodb - 在 mongo 中搜索范围

sql - 列出特定应用程序或服务的 SQL Server 数据库、大小和利用率的脚本

c++ - 使用 sqlite 和 c++ 对数据库表进行实际排序的最佳方法?

ruby-on-rails - 如何在sqlite中存储json数据

c - 解开 Lua 和 C 代码以使 Lua 依赖项成为可选的