node.js - 运行多个 NodeJs 进程的 Pi Zero 数据库
问题描述
我需要一个 pi 零上的本地数据库,运行多个需要写入和读取数据的进程。那种规则 SQLite 出来(我认为)。根据我的经验,SQLite 一次只允许一个连接,并且对于尝试执行数据库工作的多个进程来说很棘手。我所有的数据传输都是 JSON 驱动的,所以 NOSQL 是有意义的,但我需要一些轻量级的东西来存储一些配置并存储将同步到服务器的数据。但是什么 NOSQL 选项最适合在具有强大 NODE 支持的 pi 上运行?
解决方案
SQLite 在与多个并发进程一起使用时通常很好。从 SQLite 常见问题解答:
我们知道没有其他嵌入式 SQL 数据库引擎支持与 SQLite 一样多的并发性。SQLite 允许多个进程一次打开数据库文件,并允许多个进程一次读取数据库。当任何进程想要写入时,它必须在其更新期间锁定整个数据库文件。但这通常只需要几毫秒。其他流程只是等待作者完成,然后继续他们的业务。其他嵌入式 SQL 数据库引擎通常只允许单个进程一次连接到数据库。
对于大多数应用程序来说,这应该没问题。如果您的进程中只有一个在进行写入,而另一个仅在读取,则它应该没有任何影响。
如果您正在寻找特定于 NoSQL 的东西,您还可以考虑在 Google Chrome 中使用的LevelDB 。使用 Node,访问它的最佳方式是通过levelup库。
推荐阅读
- python - 如何从python中的元组中提取字符串
- azure - 是否可以使用 ARM 创建 KeyVault、生成密码并在其他 ARM 资源中使用密码?
- wordpress - 将 wordpress 从 http 重定向到 https。子文件夹问题
- gitlab-ci - 如何找到更详细的 gitlab 运行器日志?
- c# - C# 在 PropertyGrid 中突出显示 PropertyItem
- compiler-errors - VB6 - 找不到方法或数据成员
- python - matplotlib plt.ylim 引发错误列表对象不可调用
- excel - Excel 外部工作簿参考与工作表单元格
- git - 如何从 git 重置被忽略的文件
- mingw - vcpkg 与 MinGW?