nedb数据库文件过大导致程序崩溃的问题。

查看:514
本文介绍了nedb数据库文件过大导致程序崩溃的问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

不知道有没有人用过nedb做数据库。我是elecron开发的,选用了这个做本地数据库。

我发现他每个数据表都存放在一个单一的文件里面。

目前有个数据表文件,大小在200MB左右,初始化加载数据表,程序立马崩溃了。我不知道这样设计的意义在哪里,读取单一文件的效率高还是分成多个碎片文件的效率高呢?

反正这样的设计造成了程序无法加载了。暂时找不到解决的办法。
不知道有没有人使用过,如果使用过,肯定遇到像我所说的问题。

解决方案

我其实没有遇到这个case,我的数据量太小了。而且根据作者的设计初衷,nedb就是为微型数据存储而生。

如果我们看这个issue-389,能够发现,已经有人遇到该问题,并且指出可能是由nodeBuffer上限导致,不过作者并不想理会(当然如果你捐助一些钱那就另说了)。

加载数据库时就直接读取到内存里,仅仅是为了性能原因,作者做了一些介绍:

Under the hood, NeDB's persistence uses an append-only format, meaning that all updates and deletes actually result in lines added at the end of the datafile, for performance reasons. The database is automatically compacted (i.e. put back in the one-line-per-document format) every time you load each database within your application.

文档在:persistence

再多了我也不懂,就不再编了。恐怕你要想办法换数据库了。惨

这篇关于nedb数据库文件过大导致程序崩溃的问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆