【问题标题】:SQLite over a network网络上的 SQLite
【发布时间】:2014-04-11 09:15:22
【问题描述】:

我正在创建一个使用嵌入式 SQLite 数据库的 Python 应用程序。该程序创建 db 文件,它们位于共享网络驱动器上。此时网络上运行该程序的计算机将不超过 5 台。

我最初的想法是在启动时询问用户他们是服务器还是客户端。如果他们是服务器,那么他们创建数据库。如果他们是客户端,他们必须在网络上找到一个服务器实例。我想的一种方法是将所有 db 命令从客户端发送到服务器,服务器在数据库中实现。这会解决共享数据库问题吗?

或者,是否有某种方法可以创建 SQLite“服务器”。如果可用,我认为这将是更快的选择?

注意:此时我不能使用 MySQL 或 PostgreSQL 等服务器引擎,但我正在使用 ORM 实现,因此当这变得可行时,应该很容易转换。

【问题讨论】:

    标签: python sqlite client-server


    【解决方案1】:

    这是一个“SQLite 服务器”http://sqliteserver.xhost.ro/,但它看起来好多年没有维护了。

    SQLite 本身支持并发,多个进程一次可以读取数据,只有一个可以写入数据。另外,根据官方文档,当某个进程正在写入时,它会锁定整个数据库文件几秒钟,而其他进程必须同时等待。

    我想这对于 5 个进程作为你的场景来说已经足够了。只是你需要编写代码来处理等待。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多