使用neo4j索引文件系统是否有意义

Han*_*ger 5 database database-design neo4j graph-databases

我正在研究基于Java的备份客户端,该客户端扫描文件系统上的文件,并使用它找到要备份的目录和文件名填充Sqlite数据库.使用neo4j而不是sqlite是否有意义?它是否更适用于此应用程序并且更易于使用.我在想因为文件系统是树(或者如果考虑符号链接的图形),gaph数据库可能是合适的吗?sqlite数据库模式只定义了2个表,一个用于目录(完整路径和其他信息),另一个用于文件(名称只有外键用于包含目录表中的目录),因此它相对简单.

应用程序需要索引数百万个文件,因此解决方案需要快速.

naw*_*oth 3

只要您基本上可以使用存储的文件系统路径上的字符串匹配来执行数据库操作,那么使用关系数据库就有意义。当数据模型变得更加复杂并且您实际上无法通过字符串匹配进行查询但需要遍历图形时,使用图形数据库将使这变得更加容易。

  • 这实际上取决于您想要在此数据集上运行的查询。在图中,每个目录和文件都是其自己的节点,存储元信息和可能保存具有不同名称的文件名的关系(因为也可能存在到该节点的符号或硬链接)。 (3认同)