nw.js /电子最佳嵌入式数据库用于大型数据集?

时间:2017-09-22 09:11:08

标签: javascript node.js database electron nw.js

我试图用电子或nw.js制作simpe桌面应用程序(尚未决定)。但我现在看到一个关于数据库的大问题。

我需要处理大约1-2百万条记录,所以我开始搜索和测试。 Sqlite看起来没问题,它可以处理它,但很难编译--nw和电子。总是有些错误,我现在放弃了。 所以我测试了NeDB。快,小,好。在nw.js上插入200k记录后,数据库从未完全加载,并且无法进行计数操作。所以我从来没有机会用百万条记录来测试它。 要完成大量工作的键/值数据库,需要SQL或像MongoDb这样的集合。

您是否有任何想法为Nw.js / Electron桌面应用程序制作快速的嵌入式数据库?

2 个答案:

答案 0 :(得分:0)

经过一番研究后,我认为只有这样才是sqlite3。不可能为我编译,但sqlite3 for node有很好的反馈。我打开了问题,几个小时后就出现了新版本。

为nw.js编译sqlite3时可能遇到的问题很少:

x64或x86

检查架构或您拥有的每个组件。我的第一个问题是我使用的是x64并且我使用I选项安装了node-gyp。所以我用过:

npm install --global --production windows-build-tools

最好不要这样做。之前我有python,但是无论如何都安装了windows-build-tools,我的x64 python被切换到了x86。 使用相同的架构安装您自己需要的一切,否则您将遇到问题。

编译了Sqlite3,我添加了新模块,无法更新

其已知问题。因此,如果要将任何模块添加到nw应用程序中,请删除所有node_modules并再次编译sqlite3。

答案 1 :(得分:0)

您是否尝试过将NeDB中的数据分布到多个文件存储中的方式来拆分存储?通过创建一个“根”数据库来跟踪记录的存储位置,然后将我的记录分解为较小的文件,我可以处理NeDB中的数百万条记录,虽然它不是很漂亮,但是可以工作。

您可以尝试Loki.js-http://lokijs.org-我还没有自己,所以我不能肯定地说它的性能声称是诚实的。