最优性能的文件系统跟踪免费数据库
我正在用 Python 的 pyinotify 模块监控 Linux 文件系统(其实就是 Linux 内核在做这件事)。我的应用程序可以监控很多目录、文件(用户想监控多少就可以监控多少),现在我想要记录每个文件的 md5 校验和,并把这些信息存储到数据库里(包括文件的移动、重命名、新文件等情况)。
我觉得用数据库来存储每个文件的 md5 校验和是个不错的选择……但我想知道,什么样的数据库最合适呢?当然是性能要好的那种。我希望能找到一个免费的,因为这个应用程序会是 GPL 授权的。
3 个回答
0
你可以试试Redis,它肯定很快。
不过说真的,既然你是在跟踪一个文件系统,而且硬盘的速度跟中等速度的数据库比起来简直慢得像蜗牛,所以性能其实不应该是你最担心的问题。
0
我会推荐你先尝试使用 SQLite3 这个数据库。SQLite3 使用起来很简单,经过了充分的测试,提供了很多接口库和现成的工具来帮助你处理数据库,而且它很容易“嵌入”到应用程序中。(比起在系统上安装 MySQL 或 PostgreSQL,SQLite3 简直简单多了。)
而且,SQLite3 对于大多数人来说,似乎比 Berkeley DB 更容易使用,后者是 SQLite3 的主要替代品。
0
听起来你想要的是一个键值存储,而不是一个完整的数据库。你可以看看谷歌的LevelDB。因为它没有完整的SQL数据库那样的功能,而且是为了高效而设计的,所以它可能是性能最好的解决方案。链接页面上有一些性能数据。