首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文档管理系统-数据库设计

文档管理系统-数据库设计
EN

Stack Overflow用户
提问于 2011-01-12 18:33:57
回答 5查看 3.7K关注 0票数 3

我正在用Java编写我自己的文件管理系统 (可用的那些不能满足我的需求)。

这些文件应由合格的DublinCore元数据标准描述。在我看来,最简单的方法是使用XML表示将RDF模型中的键值对打包起来。

为了存储所有文档的元数据,我有两个想法(文档文件将存储在文件系统中):

  1. 将所有文档的所有元数据存储在一个XML文件中。
  2. 为每个文档创建一个XML文件,并将其存储在文件系统或关系数据库管理系统中(比如H2数据库引擎),键值数据库不会解决这个问题,因为一个文档的键并不是唯一的。

由于(许多)文件相互连接,第一种方法可能更适合分析数据,但第二种方法可能要快得多。

你推荐哪种解决方案?还是有更好的解决方案?

斯特凡

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-12 18:38:37

我不知道您的分析是如何工作的,但是如果您需要内存中的完整图来进行分析,那么就使用variante 1(将所有文档的所有元数据存储在一个XML文件中),因为在这个场景中,您将不会从variante 2中获得任何收益(但只是额外的工作)。

添加了

如果变体2的额外工作不多,那么我就重新编写变体2,因为它可以更可调节。

  • 您可以只编写一个小xml文件而不是一个大型xml文件来更新或添加文档元数据。
  • 这取决于您使用的xml解析器,但在某些情况下,解析一些较小的xml文件比解析一个大型xml文件更快(但这在很大程度上取决于数据的来源)。
票数 1
EN

Stack Overflow用户

发布于 2011-01-12 18:39:10

你考虑过使用MongoDB和GridFS吗?http://www.mongodb.org/display/DOCS/GridFS+Specification

您可以将文档直接以二进制形式存储在MongoDB中,甚至可以以任何您想要的格式存储该特定文件的相关元数据。即使文档具有相同的名称,它也能够存储文档,并且它将生成自己的唯一ID。

票数 1
EN

Stack Overflow用户

发布于 2011-01-12 18:43:33

顺便说一句:即使它不属于你的问题:看看JCR ()实现,比如JackRabbit。您可以使用它来存储文档,也可以存储元数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4672536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档