sqlite3用于多个进程?在数据大量更新后,其他流程如何受到影响?

时间:2013-09-13 14:19:22

标签: sqlite

我正在尝试将sqlite3与node.js一起用作读者,将一个 c进程用作编写者。

从我在http://www.sqlite.org/faq.html#q5中读到的内容中,我了解到我可以将sqlite3与多个进程或多个读取进程和一个编写器进程一起使用。还提到sqlite3是fopen(而不是Oracle)的替代品。

进程更新数据库时我想知道什么 <击> 1。它是否通知其他进程DB已更新?
2.如果我的编写进程每小时加载100MB数据并删除100MB数据,sqlite3是一个不错的选择吗? 3.关于#2,其他进程是否需要重新加载文件或内存缓存?它甚至使用一些缓存机制? 其他进程是否知道哪些数据已更新?
4.如果我合并读者和作者的过程会有帮助吗? [为此我必须使用套接字从编写器服务器中提取信息,以便添加一个套接字连接]。

PS: 也许,这个问题与信息如何存储在数据库文件中更相关?信息更新或删除后,如何处理?

1 个答案:

答案 0 :(得分:1)

  1. 没有
  2. 100Mb可能是边界线。我会考虑真正的数据库 像PostgreSQL
  3. 其他进程需要查询数据才能看到 如果您有多个写入过程,则更改sqlite可能不是 不错的选择
  4. 如果将来您将运行进程 不同的机器sqlite绝对不是一个好的选择。