Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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_Performance_Architecture_Data Modeling - Fatal编程技术网

Java 如何为内存处理建模数据

Java 如何为内存处理建模数据,java,performance,architecture,data-modeling,Java,Performance,Architecture,Data Modeling,我有很多静态数据(即只读数据,它不是事务性的),几天只更新一次 我必须支持对该数据的搜索(api调用,而不是sql)。所以我想我将把它加载到内存中,并每隔一段时间刷新内存中的数据。RAM不应该是一个问题,因为我们是64位的。。。数据可以在2 GB到50 GB的范围内 我希望我能够比查询数据库(也包括索引表)更快地处理内存中数据的搜索 是否有某种“方法”可以用来设计内存中的数据 更新: 我的问题不是使用什么RDBMS/noSQLDB。我想知道当我不再受存储机制的约束时,如何在内存中构造数据。我以前

我有很多静态数据(即只读数据,它不是事务性的),几天只更新一次

我必须支持对该数据的搜索(api调用,而不是sql)。所以我想我将把它加载到内存中,并每隔一段时间刷新内存中的数据。RAM不应该是一个问题,因为我们是64位的。。。数据可以在2 GB到50 GB的范围内

我希望我能够比查询数据库(也包括索引表)更快地处理内存中数据的搜索

是否有某种“方法”可以用来设计内存中的数据

更新:

我的问题不是使用什么RDBMS/noSQLDB。我想知道当我不再受存储机制的约束时,如何在内存中构造数据。

我以前使用过Redis(),它是一种非常快速的内存存储。作为一种方法,为数据创建键有助于优化任何搜索,redis支持这一点

如果您还需要任何类型的数据处理,您可以看看Hadoop/HBase。

我以前使用过Redis(),它是一种非常快速的内存存储。作为一种方法,为数据创建键有助于优化任何搜索,redis支持这一点

如果您还需要任何类型的数据处理,您可以看看Hadoop/HBase。

几年前,我曾用于非数据库web应用程序。这是难以置信的快!它使用POJO。易于理解和实施

数据结构非常简单。将其视为具有默认节点的树。Prewayler知道树的根,您可以将数据添加到此树中。您可以将树的快照作为备份机制。您甚至可以使用XML快照

普雷维勒是第一个这样的人。我肯定还有其他图书馆。在决定用哪一种之前,先做一点调查

干杯。

几年前,我使用了一个非数据库web应用程序。这是难以置信的快!它使用POJO。易于理解和实施

数据结构非常简单。将其视为具有默认节点的树。Prewayler知道树的根,您可以将数据添加到此树中。您可以将树的快照作为备份机制。您甚至可以使用XML快照

普雷维勒是第一个这样的人。我肯定还有其他图书馆。在决定用哪一种之前,先做一点调查


干杯。

您是否正在尝试学习如何构建哈希表

读一读,读几本关于算法设计的书。。可能读过

或者使用特定语言使用的任何哈希表实现


许多人推荐数据库仅仅是因为,除非您的模型适合于一个简单的哈希表模型,否则您最终将需要一个数据库(做您自己的索引和连接算法是愚蠢的)。下面是一个列表,可以帮助您选择路径。你的选择很大程度上取决于你的平台,如果你想花钱的话。

你想学习如何构建哈希表吗

读一读,读几本关于算法设计的书。。可能读过

或者使用特定语言使用的任何哈希表实现


许多人推荐数据库仅仅是因为,除非您的模型适合于一个简单的哈希表模型,否则您最终将需要一个数据库(做您自己的索引和连接算法是愚蠢的)。下面是一个列表,可以帮助您选择路径。您的选择很大程度上取决于您的平台,以及您是否希望花钱。

这主要取决于您的访问模式以及您希望如何处理数据

例如,如果您希望快速搜索并对部分数据进行排序,则红黑树数据结构是一种很好的方法。 或者,如果需要简单的键值,可以使用哈希表

但是,实现这些数据结构可能是棘手和困难的,许多人以前已经多次解决了这个问题

强烈建议使用redis或其他内存数据库等解决方案。
只需干燥即可。

这主要取决于您的访问模式以及您希望如何处理数据

例如,如果您希望快速搜索并对部分数据进行排序,则红黑树数据结构是一种很好的方法。 或者,如果需要简单的键值,可以使用哈希表

但是,实现这些数据结构可能是棘手和困难的,许多人以前已经多次解决了这个问题

强烈建议使用redis或其他内存数据库等解决方案。
只需干燥即可。

这完全取决于您处理的数据类型以及您希望对其执行的搜索类型

例如,对于基于哈希的结构,您不能支持部分单词搜索

如果数据真的是关系型的(有很多列和关系),那么可以使用内存中的关系数据库。您可以为所有可搜索列编制索引。但是,如果您的数据只是一组键值对或一组段落,那么RDBMS是没有用的

在不了解您的需求的情况下,无法在此建议特定的DS


我建议您探索数据结构(如搜索树、尝试、哈希表)、数据库(如redis)、搜索引擎(如solr、lucene),以找出最适合您的需要。

这完全取决于您使用的数据类型以及您希望对其执行的搜索类型

例如,对于基于哈希的结构,您不能支持部分单词搜索

如果数据真的是关系型的(有很多列和关系),那么可以使用内存中的关系数据库。您可以为所有可搜索列编制索引。但是,如果您的数据只是一组键值对或一组段落,那么RDBMS是没有用的

在没有相关知识的情况下,无法在此建议特定DS