需要一个可嵌入的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桌面环境.

相关文章

一、引言 学习redis 也有一段时间了,该接触的也差不多了。后来有一天,以前的同事问我,如何向redis中...
一、引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译...
一、介绍 Redis客户端使用RESP(Redis的序列化协议)协议与Redis的服务器端进行通信。 虽然该协议是专门...
一、引言 redis学了一段时间了,基本的东西都没问题了。从今天开始讲写一些redis和lua脚本的相关的东西...
一、介绍 今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分。...
一、引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入...