是什么使存储库不同于数据库,文件系统或任何其他类型的存储?
我怎么能根据它有或没有的一些功能来判断这个或那个是存储库?
当我说“存储库”时,首先我的意思是版本控制。但是还有其他存储库的例子,例如数字图书馆。当然,可能还有其他示例,但所有示例都假设存储库是“您可以存储某些东西的地方”。但目前还不清楚它有什么确切的区别,可以将它与其他“可以存储东西的地方”区分开来。
最佳答案
多年前,当我从事存储库软件的工作时。当时,(通用)数据库和存储库之间的区别在于“数据”和“元数据”之间的区别。
因此,数据库存储数据。存储库是一种特殊的数据库,旨在存储元数据,即描述其他数据的数据。
任何通用数据库软件都可以用作存储库,但是元数据的某些特征使得使用专用工具变得可取。通常,数据的粒度较小,与其他数据的交叉引用较多。记录的数量可能是可控的。通常需要版本控制和/或内容差异。
由于这些特殊要求,数据库制造商不得不编写特殊的 DBMS 系统来支持存储库构建者的需求。 (还有人记得 Microsoft Repository 或 Unisys's UREP 吗?)我已经不在那个领域了,不能告诉你过去十年的进展。