Java 在数据库或文件中存储数据?

Java 在数据库或文件中存储数据?,java,gwt,mvp,Java,Gwt,Mvp,我有一些疑问,我正在使用MVP模型在GWT中开发一个web应用程序。 假设我正在实现一个论坛,用户可以发表评论,我想知道如何保存这些数据 例如,一个职位可能有2000个职位。。3000个字符,我在考虑文件。。每个类别都有自己的帖子,所以我可以存储每个文件的类别。。 或者另一个想法是散列数据 我很乐意知道更多的意见和方法 谢谢各位 编辑 我从评论中看到,数据库是正确的决定,但我应该直接插入帖子,还是以某种方式进行返工,然后插入 数据库。没有选择 此外,数据库提供了一种更简单的方法来搜索、索引和扩展

我有一些疑问,我正在使用MVP模型在GWT中开发一个web应用程序。 假设我正在实现一个论坛,用户可以发表评论,我想知道如何保存这些数据

例如,一个职位可能有2000个职位。。3000个字符,我在考虑文件。。每个类别都有自己的帖子,所以我可以存储每个文件的类别。。 或者另一个想法是散列数据

我很乐意知道更多的意见和方法

谢谢各位

编辑


我从评论中看到,数据库是正确的决定,但我应该直接插入帖子,还是以某种方式进行返工,然后插入

数据库。没有选择

此外,数据库提供了一种更简单的方法来搜索、索引和扩展数据,而不受任何限制。例如,若您决定每篇文章都可以有它的笑脸,那个么这是一个在数据库中增加一列的问题。然而,对于文件来说,将所有文件转换为新格式将是一件非常痛苦的事情


还有,相关数据呢?正如@Elite先生们提到的,将相关数据存储在文件中也是一件痛苦的事情。是的,您将按目录名对文章进行分类索引,但如何保存文章作者?链接到他的个人资料?作者或其化身的帖子数?

数据库。没有选择

此外,数据库提供了一种更简单的方法来搜索、索引和扩展数据,而不受任何限制。例如,若您决定每篇文章都可以有它的笑脸,那个么这是一个在数据库中增加一列的问题。然而,对于文件来说,将所有文件转换为新格式将是一件非常痛苦的事情


还有,相关数据呢?正如@Elite先生们提到的,将相关数据存储在文件中也是一件痛苦的事情。是的,您将按目录名对文章进行分类索引,但如何保存文章作者?链接到他的个人资料?作者或其头像的帖子数量?

在您的位置,我不会将数据放入文件中。原因很简单——您再次编写了另一个数据库。 更重要的是,如果你使用文件,你将需要时间来保持这个系统。数据库经过检查和测试,因此您需要的维护时间更少。 在论坛的情况下,你可以考虑多层次的缓存。 数据库中的第一级-例如,用于一些表内存(但有风险)、数据库中的过程语言以及作为索引的标准工具等

http的第二级-如果您使用gwt,您可以缓存来自论坛的线程。为此,您不需要gwt机制,只需要特殊的服务器配置

第三级-这是gwt/javascripts-在gwt浏览客户端级别,您可以保留新创建的论坛线程


只要足够快…

在您的位置,我就不会把数据放在文件中。原因很简单——您再次编写了另一个数据库。 更重要的是,如果你使用文件,你将需要时间来保持这个系统。数据库经过检查和测试,因此您需要的维护时间更少。 在论坛的情况下,你可以考虑多层次的缓存。 数据库中的第一级-例如,用于一些表内存(但有风险)、数据库中的过程语言以及作为索引的标准工具等

http的第二级-如果您使用gwt,您可以缓存来自论坛的线程。为此,您不需要gwt机制,只需要特殊的服务器配置

第三级-这是gwt/javascripts-在gwt浏览客户端级别,您可以保留新创建的论坛线程


足够快…

在文件中保存数据会因为CPU过载而导致运行时错误。使用datbase是在文件中保存数据会因为CPU过载而导致运行时错误的唯一方法。使用datbase是一篇文章可能有2000的唯一方法。。3000个字符所以数据库肯定不是一个决定'->为什么?我想说我想知道更多关于为什么你说数据库不是一个2000-3000个字符的决定。您是否考虑过如何检索论坛帖子和评论?使用平面文件,我相信在进行过滤之前,您必须读取整个文件,而在数据库中,它只是一个简单的select语句。最重要的是,使用数据库,您可以毫无疑问地只读取您想要的数据库。您将如何处理与另一个数据相关的数据(SQL使用键)等?我说,因为具有2000-3000字符的POST会使db变得笨拙,这就是为什么我在这里问这个问题,因为我不确定:)为什么数据库肯定不是一个决定?Stackoverflow.com由一个数据库支持…'一篇文章可能有2000个。。3000个字符所以数据库肯定不是一个决定'->为什么?我想说我想知道更多关于为什么你说数据库不是一个2000-3000个字符的决定。您是否考虑过如何检索论坛帖子和评论?使用平面文件,我相信在进行过滤之前,您必须读取整个文件,而在数据库中,它只是一个简单的select语句。最重要的是,使用数据库,您可以毫无疑问地只读取您想要的数据库。您将如何处理与另一个数据相关的数据(SQL使用键)等?我说,因为具有2000-3000字符的POST会使db变得笨拙,这就是为什么我在这里问这个问题,因为我不确定:)为什么数据库肯定不是一个决定?Stackoverflow.com由一个数据库支持。。。