需要一个可嵌入的NoSQL数据库来处理~1Gb数据集,这些数据集持久存储在磁盘上

前端之家收集整理的这篇文章主要介绍了需要一个可嵌入的NoSQL数据库来处理~1Gb数据集,这些数据集持久存储在磁盘上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个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数据库解决方案,它可能包含“可观的”但不是“巨大的”数据量.应用程序的加载时间应该是合理的(即,不阻止使用),同时响应(即,数据库应包含二级索引)并尽可能地尊重用户的资源.

问题:

>有没有人对上述或其他嵌入式Nosql数据库有任何经验,通过这些数据库可以推荐这些或其他任何数据库用于我的用例?
>如果确实每次启动应用程序时都需要从头开始重建LinvoDB的索引,那么这可能是一个重要的性能损失(加载时间为几秒)? (当然我必须对此进行基准测试…)
> ArangoDB不可嵌入,但也许我应该考虑将其作为服务与我的原生应用程序一起部署?此链接NoSQL database: ArangoDB似乎表明开发人员自己不会劝阻这一点.这会是矫枉过正和/或用户友好吗?表现受到了打击?

任何建议真的很感激.

有同样的需求,似乎linvodb3是目前最好的选择.它正在积极发展,目标是专注于Electron桌面环境.

猜你在找的NoSQL相关文章