0

大家好,我从一个星期左右开始一直在尝试这个。但想不出办法。我使用 tomcats,我的客户定期向我发送 2 到 3GB 的日志文件,说明存在文件未找到等问题。有时他们没有正确的信息来 grep 通过日志文件。所以我决定构建一个可以解析所有日志文件并可以对日志进行相应分类的工具。现在我无法在内存中存储 4 GB 的数据,也无法将其放回文件中,因为读取 4GB 将花费大量时间。即使我正在使用文件通道和线程。数据库当然不是一种选择,因为它会再次减慢系统速度。所以我想知道是否有任何其他方法来存储解析的内容,这样每当我想检查 404 错误时,我必须在列表中获取所有 404 错误。

我不想使用数据库。所以数据库当然不是这个问题的答案。

4

2 回答 2

2

“您是否想使用数据库”并不重要。您所做的实际上是构建数据图。这就是数据库的设计目的。现在您可以选择使用其他人编写的并且经过广泛测试的版本,或者您可以选择自己制作。无论您是否愿意,您都在使用数据库。

如果你想要一个轻量级、可嵌入、性能良好的文档/图形“无 SQL”数据库,它与 Maven 配合得很好,OrientDB 是你的朋友,使用它非常直观。此外,您还可以根据需要选择是要使用内存数据库、文件支持的数据库还是更传统的客户端/服务器解决方案。最好的部分是它有一个对象抽象层,所以你甚至不必弄乱 ORM 框架。

你真的应该试试。它会让你所有的痛苦消失。

链接:http ://www.orientdb.org/

于 2013-02-14T09:09:07.353 回答
0

您可以使用Apache Lucene。使用 nio 文件处理程序将文件划分为卡盘,并使用 Apache Lucene 进行索引和文本搜索。这可能无法解决您的完整问题,但如果您不想使用数据库,这是一个更好的解决方案。

于 2013-03-19T07:48:54.440 回答