2

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

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

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

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

4

1 回答 1

1
  1. 100Mb 可能是边界线。我会考虑像PostgreSQL这样的真实数据库
  2. 如果您有多个写入进程,其他进程将需要查询数据以查看发生了什么变化 sqlite 可能不是一个好的选择
  3. 如果将来您将在不同的机器上运行进程,那么 sqlite 绝对不是一个好的选择。
于 2013-09-13T14:25:08.597 回答