用于Pi Zero的DB运行多个NodeJ进程

时间:2019-05-16 14:38:43

标签: node.js database raspberry-pi

我需要在pi零上有一个本地数据库,正在运行需要写入和读取数据的多个进程。 SQLite这样的规则(我认为)。根据我的经验,SQLite一次仅允许一个连接,并且在尝试执行数据库工作的多个进程中比较棘手。我所有的数据传输都是由JSON驱动的,因此NOSQL很有用,但是我需要一些重量轻的东西来存储一些配置并存储将同步到服务器的数据。但是,什么样的NOSQL选项最好在具有NODE支持的pi上运行?

1 个答案:

答案 0 :(得分:1)

SQLite与多个并发进程一起使用时通常很好。从SQLite常见问题解答中:

  

我们知道没有其他嵌入式SQL数据库引擎支持像SQLite一样多的并发性。 SQLite允许多个进程一次打开数据库文件,并允许多个进程一次读取数据库。当任何进程要写入时,它必须在更新期间锁定整个数据库文件。但这通常只需要几毫秒。其他过程只是等待作者完成,然后继续其业务。其他嵌入式SQL数据库引擎通常只允许单个进程立即连接到数据库。

对于大多数应用程序,这应该没问题。如果您的进程中只有一个正在执行写操作,而另一个仅在执行读操作,那么它应该完全没有影响。

如果您要查找特定于NoSQL的内容,则还可以考虑使用LevelDB,它在Google Chrome浏览器中使用。使用Node,最好的方法是通过levelup库。