【问题标题】:Embedded Storage Alternatives for NodeJSNodeJS 的嵌入式存储替代方案
【发布时间】:2014-03-01 01:53:13
【问题描述】:

我需要为 nodejs 应用程序实现一个简单的键值存储,对于一些环境限制我只能使用嵌入式存储解决方案,这意味着我不能使用作为单独服务器/进程工作的引擎(例如 Mongodb, mysql 等)。

对于某些公司限制,我不能使用 sqlite,这是我想到的第一个选项。

我研究了以下 sqlite 的替代方案:

我没有任何使用这些引擎的经验,有人可以提供关于这些引擎的注释或建议吗?当然,我非常欢迎任何其他选择让我结帐。

编辑:

经过进一步调查,我发现

这似乎更适合 Nodejs。

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见答案和垃圾邮件。因此我相应地标记了这个问题。

标签: database node.js sqlite embedded-database


【解决方案1】:

在著名的数据库中,Node.js 支持得最好的是 leveldb,通过 level 模块。只是

npm install level

为您提供入门所需的一切。 level 是一个元包,它捆绑了levelUP(公开了 leveldb 方法)和levelDOWN(编译并提供了 leveldb 的接口)。请参阅levelUP 文档了解exports 提供的level

值得注意的是,仅当您的应用程序将在单台机器上运行时,这才是合适的解决方案,因为数据库保存在文件系统中。如果您扩展到多台服务器,则需要远离嵌入式数据存储。

【讨论】:

  • 我喜欢你的回答,而且 leveldb 看起来很棒,但我想我会选择 NEDB,正是因为可扩展性因素。 NEDB 使用 mongodb 查询语法的一个子集,所以如果我需要在多个服务器上分发应用程序,我可以轻松切换到 mongo。感谢您的回复。
【解决方案2】:

一年前我问过自己同样的问题,我选择了 EJDB。

我需要一个用于“本地”后端的便携式本地存储。

到目前为止,我已经尝试过以下配置:

  • MacOSX + node.js + EJDB

  • Windows 7 + node.js + EJDB

  • Debian + node.js + EJDB

它适用于 10 个用户。我想你可以有更多:我只是在猜测。

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2023-04-04
    • 2023-03-19
    • 2021-09-28
    • 1970-01-01
    相关资源
    最近更新 更多