3

朋友们,

我们将开展一个知识保存项目,扫描超过 100 万本书。我们需要一些关于实现数据库来存储和检索元数据以及使用它来跟踪每个对象(书)的扫描状态的建议

  1. 你们能建议我们应该使用 SQL 还是 NoSQL(元数据可能因项目而异,比如这个项目可能有 15 个字段)

  2. 我们正在考虑基于 Lucene/Solr 或一些 Scalable RDF 数据库的东西

  3. 任何我们能够定义自定义元数据字段并使用搜索功能存储信息的开源解决方案?

4

2 回答 2

0

免责声明:从未尝试过此类项目

我从 MSSQL 服务器的“文件流”类型中看到了非常好的性能。它使用 NTFS 文件 API 来存储二进制数据,并在表的行中保留一个指针。

如果您在元数据上没有结构,则可以使用 XML,但如果您确实有重复结构,则将其推入关系数据中,然后您可以使用索引等来帮助您获得性能。

文件流类型

于 2010-06-24T11:18:56.583 回答
0

可以使用任何数据库和一些自定义代码创建这样的解决方案,但使用 CMS(内容管理系统)可能会更容易。CMS 解决方案隐藏了底层数据库的详细信息,并允许您使用一组可扩展的元数据来描述您的文档。

您使用哪种 CMS 系统将取决于您的预算、内部专业知识和您的需求以及其他因素。我一直在使用 Alfresco(商业开源),部分原因是我的公司已经决定使用它,但如果我要做一个低预算的网站,我可能会考虑非企业版。哦,Alfresco 利用 Lucene 进行搜索。

如果您的需求非常基本,那么一个用于元数据的数据库、一个用于图像的文件系统和一些用于服务器的代码就足够了。避免尝试将图像存储在数据库中,因为根据我的经验,这不是数据库最擅长的。

于 2011-10-18T02:48:27.470 回答