如何使用RavenDB存储图像数据库

3
我正在重新设计一个.NET系统,每天存储超过1000个多页.TIF图像,以便桌面和Web系统检索。当前系统使用SQL Server存储图像ID和元数据,但实际的TIF文件存储在单独的文件服务器上的NTFS目录中。
对于将TIFs作为“文档”存储,使用像RavenDB这样的NoSQL数据库,并将图像ID作为键,是否是一个好选择?
图像通常只写入一次,但读取多次。我希望使用RavenDB来存储图像,因为我正在尝试改进当前系统: - 冗余性(使用复制自动创建存储库的另一个副本) - 性能(使用图像的键/值特性) - 可靠性(当前的NTFS文件系统“数据库”容易出错且脆弱)

嗨,皮特,我看到这篇文章已经有一年了,我很想知道你是如何实现这个解决方案的,因为我们也在尝试实现同样的事情。你最终选择了使用NoSql数据库吗? - Loathian
嗨,洛锡安。有点/软的。事实证明,我最初的问题是因为当时我并不真正理解什么是NoSQL。我认为TIF/PDF是一个“文档”,但最好将NoSQL文档视为带有数据的JSON包。我们在项目中最终采用传统的SQL数据库来存储关于TIF/PDF文档的索引信息,然后使用Amazon S3作为实际二进制文件的存储。SQL数据库存储指针,S3存储文档。效果很好!祝你的项目好运。 - Pete Lunenfeld
1个回答

2
彼得, 你所说的并不是文档,因为图像是二进制数据。 你可以使用RavenDB的附件功能来存储这些图像。 附件也可以参与复制。

3
Ayende,你认为使用RavenDB作为主要图像存储库,并使用附件是正确的选择吗?我不想强行让圆形钉子装到方形孔里。 - Pete Lunenfeld
1
RavenDB 3.0带有RavenFS,这是一个虚拟文件系统,可能非常适合这种情况。http://ravendb.net/docs/article-page/3.0/Csharp/file-system/what-is-raven-fs - user2994322

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接