数据存储和数据库有什么区别?

15

我正在设置一个CKAN实例。我必须为CKAN设置一个postgres数据库以进行操作。此外,我还必须设置dataStore。

我在stackoverflow上找到了这个问题,但没有解答我的问题。

如何从数据存储的角度思考而不是数据库?

一般来说,dataStore和数据库有什么区别?

3个回答

5

稍微迟到了一点......

我认为数据库是一种特殊类型的数据存储库。数据存储库就像其名称所示,是一个存储数据的地方。

你可以使用文件存储系统(例如Linux中的ext4)将数据存储在硬盘中,也可以将其存储在数据库中(例如PostgreSQL),在这种情况下,数据存储在文件中,但是这些文件由数据库管理系统进行管理(例如访问权限、主键唯一性等)。

通常,NoSQL数据库没有内置的管理器,因此管理工作在应用程序级别上完成。你可能会将它们视为仅仅是一个存储系统。


5

CKAN使用两个PostgreSQL数据库:

  1. CKAN的目录数据库,这是安装CKAN时要求您配置的第一个数据库。它存储与数据集和资源相关的所有元数据(标题、标签等)、用户帐户、组织等。

  2. CKAN的DataStore是一项可选功能,可以为上传到或从CKAN链接的文件启用数据API和数据预览。这是第二个PostgresSQL数据库,data*store*只是CKAN用于此功能的名称。(CKAN中的DataStore与您链接到的Google App Engine数据存储概念无关。)

如果启用,CKAN还具有FileStore,用于存储上传到CKAN的文件。FileStore并不是真正的数据库,它只是磁盘上的一个目录,用于存储上传的文件。


1
我认为也很重要的是说,“DataStore”功能还涉及将在CKAN实例中注册的数据集中的数据存储到结构化数据库中。此外,它通过强大的Web API公开了“DataStore”中的数据。 - Rufus Pollock

1

对我来说,这是同一件事的两个词。

不过,不可否认,我大多数听到或读到这个术语都是来自nosql用户。如果我们接受nosql存储作为定义,那么它是一种列导向存储——与行导向存储相对。

http://en.wikipedia.org/wiki/Column-oriented_DBMS


2
@opensas:对于CKAN来说,看起来是这样。但问题是:一般而言,数据存储区和数据库之间有什么区别? - Denis de Bernardy

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