我有一些巨大的二进制驱动程序日志(每个大约2-5GB,在将它们转换为可读形式后大概是10倍左右),我需要编写一个工具来让我按顺序浏览,排序,搜索和过滤它们(以便找到并解决错误)。用于处理大量数据的库/数据结构
每个日志条目都有几个属性,如:时间戳,类型,消息,某些GUID。条目是同质的,没有关系,在“检查”之后不需要存储数据。
我真的不知道如何处理这么多的数据。将所有内容保存在内存中将是愚蠢的,同样也可以将数据保存在平面文件中。我想过使用像SQLite这样的小型DBMS,但我不确定它是否足够快,而且我不需要DMBS的许多功能 - 只有排序和搜索。如果可能的话,我会在这种情况下热切地为了速度而交换空间。
是否有任何库(或可能是数据结构),可以帮助我处理这些数据量?
“服务”RDBMSs如Postgre,MSSQL,MySQL是不存在的问题,该工具应该很容易在任何地方使用,没有任何麻烦。
编辑: 哦,有没有人知道SQLite的“:内存”模式是否对数据库的大小有任何限制,或者它只是填充虚拟内存,直到它完全填满?
你为什么要排除PgSQL和MySQL之类的东西?它不需要很多努力来设置它们。 – quantumSoup 2010-08-09 18:30:50