我看到了许多类似的问题,但没有一个能回答我的特定问题:
我想要拥有自己的基于JSON的数据库,就像MongoDB和firebase有BSON数据库一样,并且我认为最简单的方法就是:把一些JSON数据存储在文件中,在node.js应用程序启动时加载该文件(加载到node.js服务器的内存中),每当我进行某种搜索时,只需使用.find(如果它在一个大数组中)和.sort查询服务器中加载的JSON对象,例如Object.keys()等等,然后对于每个更改,使队列(甚至在另一个线程上)将数据存储回文件,以便不能同时存储2个条目(因为它们主要只是在已经存储在内存中的JSON对象中访问它,而不是每次从文件中读取)。
问题在于:如果它是一个巨大的数据库,将会因为在内存中存储那么多(比如2GB)的JSON数据而导致服务器崩溃吗?
MongoDB和其他nosql数据库实际上是如何存储数据的?他们每个文档/数据库都有一个单独的文件,并且只加载需要的内容吗?是否有其他方式可以将数据库表/文档存储到文件中以供以后使用(并仍能够几乎立即访问嵌套的JSON对象)? BSON是否以某种不同的方式比JSON数据更快速访问?他们在加载整个数据库时是否也将整个数据库存储在内存中?