Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 存储:数据库vs内存中对象vs内存中数据库_Json_Database_Mongodb - Fatal编程技术网

Json 存储:数据库vs内存中对象vs内存中数据库

Json 存储:数据库vs内存中对象vs内存中数据库,json,database,mongodb,Json,Database,Mongodb,我正在做一个项目,我必须为NodeJS express服务器存储数据。这不是很多数据,但我必须把它保存在某个地方 我总是听说数据库对这类东西很有用,但我考虑过将对象中的所有数据保存在NodeJS中,并每分钟(或5分钟)将它们作为JSON备份到磁盘。这是个好主意吗 我在这里想的是,像这样的对象的响应时间比数据库的响应时间要快得多,而且保存它们很容易。但后来我听说也有内存数据库,所以我的问题是: 内存中的数据库比javascript对象快吗?在这方面,基于JSON的数据备份是一个好主意吗?或者我应该

我正在做一个项目,我必须为NodeJS express服务器存储数据。这不是很多数据,但我必须把它保存在某个地方

我总是听说数据库对这类东西很有用,但我考虑过将对象中的所有数据保存在NodeJS中,并每分钟(或5分钟)将它们作为JSON备份到磁盘。这是个好主意吗

我在这里想的是,像这样的对象的响应时间比数据库的响应时间要快得多,而且保存它们很容易。但后来我听说也有内存数据库,所以我的问题是:

内存中的数据库比javascript对象快吗?在这方面,基于JSON的数据备份是一个好主意吗?或者我应该使用普通的数据库,因为在这种情况下性能并不重要

谢谢

我在这里想的是,像这样的对象的响应时间比数据库的响应时间要快得多,而且保存它们很容易

那不是真的。数据库是持久性存储,始终存在I/O延迟。我建议sql数据库使用
Mysql
,nosql数据库使用
MongoDB
Cassandra

内存中的数据库速度肯定更快,但同样,这些数据需要持久性存储
redis
是一种非常流行的内存数据库


MongoDB
将数据存储在类似formate的BSON(JSON超集)中,因此在您的情况下,它将是一个不错的选择

如果这只是一个学校作业或玩具项目,具有非常简单的模型和访问模式,那么一定要使用自己的数据持久性

但是,我主张在以下情况下使用数据库:

  • 您有很多对象或不同类型的对象
  • 您需要按各种条件查询或筛选对象
  • 您需要更可靠的数据持久性
  • 您需要多个服务来访问相同的数据
  • 你需要访问控制
  • 您需要任何其他数据库功能
由于您询问的是速度,对于一些琐碎的东西,内存中的对象可能会更快地访问。但是,对于更复杂的内容(大量数据、对象关系、分页等),数据库可能会变得更快

您提到了内存中的数据库,但只有当您希望数据库功能没有持久性,并且更接近内存中的对象但没有文件写入时,才会使用这些数据库。因此,这取决于您是否关心保留数据


此外,如果您从未使用过任何类型的数据库,现在正是学习的最佳时机:)。

谢谢!我没有考虑查询/筛选选项和数据库的可靠性。