我试图使用sqlite3与node.js作为读者和 one c进程作为编写者 .
从我在http://www.sqlite.org/faq.html#q5中读到的内容中,我了解到我可以将sqlite3与多个进程或多个读取进程和一个编写器进程一起使用 . 还提到sqlite3是fopen(而不是Oracle)的替代品 .
当进程更新数据库时我想知道什么 .
1.它是否通知其他进程DB已更新?
2.如果我的编写进程每小时加载100MB数据并删除100MB数据,sqlite3是一个不错的选择吗?
3.关于#2,其他进程是否需要重新加载文件或内存缓存?它甚至使用一些缓存机制?其他进程知道哪些数据更新?
4.如果我合并读者和作者的过程会有帮助吗? [为此我必须使用套接字从编写器服务器中提取信息,以便添加一个套接字连接] .
PS:也许,这个问题与信息如何存储在数据库文件中有关?信息更新或删除后,如何处理?
1 回答
没有
100Mb可能是边界线 . 我会考虑像PostgreSQL这样的真实数据库
如果你有多个写入过程,其他进程将需要查询数据以查看更改的内容sqlite可能不是一个好选择
如果将来你将在不同的机器上运行进程sqlite绝对不是一个好的选择 .