Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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
Java 没有关系的数据的最佳存储是什么_Java_Spring_Database_Web_Storage - Fatal编程技术网

Java 没有关系的数据的最佳存储是什么

Java 没有关系的数据的最佳存储是什么,java,spring,database,web,storage,Java,Spring,Database,Web,Storage,我正在基于SpringBoot开发一个简单的web应用程序,它只需要一个表(其中四列)的数据,没有任何关系。因此,数据模型非常简单,但它必须存储在某个地方,并且在应用程序重置后不能消失 表(或某些数据集合)包括对象,其中每个对象都有三个单字字符串作为分隔属性和一个布尔属性。两个字符串是不可变的(名称和姓氏)。在应用程序生命周期中,对象中可能只更改布尔字段。此更改将安排并每周执行一次 我不需要事务,而且应用程序也不是多线程的。它是纯Java应用程序。查询将仅从计划任务执行。数据收集的规模将保持在同

我正在基于SpringBoot开发一个简单的web应用程序,它只需要一个表(其中四列)的数据,没有任何关系。因此,数据模型非常简单,但它必须存储在某个地方,并且在应用程序重置后不能消失

表(或某些数据集合)包括对象,其中每个对象都有三个单字字符串作为分隔属性和一个布尔属性。两个字符串是不可变的(名称和姓氏)。在应用程序生命周期中,对象中可能只更改布尔字段。此更改将安排并每周执行一次

我不需要事务,而且应用程序也不是多线程的。它是纯Java应用程序。查询将仅从计划任务执行。数据收集的规模将保持在同一水平。它也将是非常内部的应用程序,因此我们不必关注大型基础设施中出现的一些问题


在这种情况下,我应该使用哪种类型的存储?一些NoSQL数据库,比如Mongo?或者将这些数据保存在服务器端存储的某个文件中,并对其进行读/写操作?

您计划通过它进行搜索吗

如果没有,那么平面文件就是解决方案

如果是,则需要为其编制索引。因此,最好使用DB。 任何数据库都可以

使用mongo的优点是可以动态更改模式,因此在您的情况下,这可能是一个不错的选择。
只需记住为集合编制索引

你打算通过它搜索吗

如果没有,那么平面文件就是解决方案

如果是,则需要为其编制索引。因此,最好使用DB。 任何数据库都可以

使用mongo的优点是可以动态更改模式,因此在您的情况下,这可能是一个不错的选择。

只需记住为集合编制索引

我确信我不会在这个仓库里保存很多记录。此应用程序将要处理的案例最多需要存储20条记录,不能再存储更多。根据你的回答,我可能会选择文件存储,因为搜索这些数据不会有问题。是的,对于20个项目,你将文本加载到内存中,将其保存在内存中进行保存/加载,并定时将其保存到磁盘(定期或一次更改-以有意义的为准)您是否有任何建议或提示哪种文件类型最适合存储数据?我可以告诉你,每个对象有四个字段,其中三个是字符串,一个是布尔值。我想到了txt文件,其中每个对象的属性都将被空格字符分割。但也许更好的选择是json?你觉得怎么样?嘿!从一列。。现在我们有4个:)取决于字符串字段值的大小。。。如果其中任何一个可以有分隔符(空格或,),它将不起作用-使用json,您总是可以保存。我确信我不会在这个存储中保存很多记录。此应用程序将要处理的案例最多需要存储20条记录,不能再存储更多。根据你的回答,我可能会选择文件存储,因为搜索这些数据不会有问题。是的,对于20个项目,你将文本加载到内存中,将其保存在内存中进行保存/加载,并定时将其保存到磁盘(定期或一次更改-以有意义的为准)您是否有任何建议或提示哪种文件类型最适合存储数据?我可以告诉你,每个对象有四个字段,其中三个是字符串,一个是布尔值。我想到了txt文件,其中每个对象的属性都将被空格字符分割。但也许更好的选择是json?你觉得怎么样?嘿!从一列。。现在我们有4个:)取决于字符串字段值的大小。。。如果其中任何一个都有分隔符(空格或,),那么它就不起作用了——使用json时,你总是要保存。问题中缺少很多重要的细节。就目前而言,有很多可能的方法可以做到这一点。。。。我们不能把范围缩小到单个或少数“最佳”选项。好的,我将描述一些有疑问的细节。比如:你需要交易吗?酸的应用程序的不同实例之间是否共享数据?这是一个纯Java的应用程序吗?应用程序是多线程的吗?(例如web服务器)如何查询?(迭代记录?按键查找记录?其他方式?)有多少数据?模式是否会发展/增长?还有一些我现在想不起来的问题,让我来回答你们的问题:我不需要事务,而且应用程序也不是多线程的。它是纯Java应用程序。查询将仅从计划任务执行。数据收集的规模将保持在同一水平。它也将是Veery内部应用程序,因此我们不必关注大型基础设施中出现的一些问题。请在您的问题中提供详细信息!这个问题缺少很多重要的细节。就目前而言,有很多可能的方法可以做到这一点。。。。我们不能把范围缩小到单个或少数“最佳”选项。好的,我将描述一些有疑问的细节。比如:你需要交易吗?酸的应用程序的不同实例之间是否共享数据?这是一个纯Java的应用程序吗?应用程序是多线程的吗?(例如web服务器)如何查询?(迭代记录?按键查找记录?其他方式?)有多少数据?模式是否会发展/增长?还有一些我现在想不起来的问题,让我来回答你们的问题:我不需要事务,而且应用程序也不是多线程的。它是纯Java应用程序。查询将仅从计划任务执行。数据收集的规模将保持在同一水平。它也将是Veery内部应用程序,因此我们不必关注大型基础设施中出现的一些问题。请在您的问题中提供详细信息!