我正在构建一个Electron应用程序,我需要选择一个可嵌入的NoSQL数据库。实际上,该数据库应该包含存储在ArangoDB远程后端上的本地数据子集。我一直在互联网上搜索很多,但到目前为止还没有收敛到最终的候选人。我希望有人能从经验中为我提供建议。
典型的数据集可能达到数万个文档,我可以想象这个集合随着时间的推移会达到〜1Gb的情况。此外,我需要二级索引。
我看过PouchDB,UnQlite,LokiJS,LevelDB,NeDB,LinvoDB ......
最后,NeDB和LinvoDB似乎是合理的候选者,具有持久性到磁盘(类似SQlite),其中NeDB无法处理大型数据集; LinDBDB(NeDB的一个分支)似乎能够处理的东西。 LinvoDB不会将整个数据库加载到内存中,但默认情况下会将“所有内容”编入索引,并将其保留在内存中。
另一方面,我试图跟踪几个关于他们的索引的对话,其中NeDB似乎在他们的文档中建议它们被保存到磁盘(https://github.com/louischatriot/nedb#indexing),一旦构建,然后再次出现被LinvoDB否定了(对不起,我在大量的标签打开中丢失了许多引用/来源......),建议索引在发布时从头开始构建。 (也可能是我误解了NeDB的文档。)
基本上,我需要的是一个针对Electron应用程序的JS数据库解决方案,它可能包含“相当多”但不是“巨大”的数据量。应用程序的加载时间应该是合理的(即不要阻止使用),同时响应(即数据库应包含二级索引)并尽可能地尊重用户的资源。
问题:
任何建议都会非常感激。
答案 0 :(得分:0)
考虑过sqlite? 有一个npm package,它适用于电子,我自己尝试过。 你只需要rebuild electron,这可能会产生一些问题。
在这里你的答案: