我正在研究基于Java的备份客户端,该客户端扫描文件系统上的文件,并使用它找到要备份的目录和文件名填充Sqlite数据库。使用neo4j而不是sqlite是否有意义?它是否更适用于此应用程序并且更易于使用。我在想因为文件系统是树(或者如果考虑符号链接的图形),gaph数据库可能是合适的吗? sqlite数据库模式只定义了2个表,一个用于目录(完整路径和其他信息),另一个用于文件(名称只包含用于包含目录表中目录的外键),因此它相对简单。
应用程序需要索引数百万个文件,因此解决方案需要快速。
答案 0 :(得分:3)
只要您可以在存储的文件系统路径上使用字符串匹配来执行数据库操作,使用关系数据库是有意义的。当数据模型变得更复杂并且您实际上无法使用字符串匹配进行查询但需要遍历图表时,使用图形数据库将使这更加容易。
答案 1 :(得分:3)
据我所知,Neo4j的最早用途之一是将其作为Neo4j源自CMS系统的一部分。
Nece4j的索引后端Lucene将允许您构建可能需要的任何索引。
你应该阅读并直接询问他们。
答案 2 :(得分:0)
我正在考虑一种类似的解决方案来索引文件系统上的数据存储。备注上述查询是对的。
最坏情况查询的示例:
对于sqlite:
对于neo4j:
问候,hj