我正在设置一个CKAN实例。我必须为CKAN设置postgres数据库才能运行。另外我也必须设置一个数据存储。dataStore和数据库有什么区别?
我在stackoverflow上找到了这个问题,但没有回答我的问题。
How to think in data stores instead of databases?
一般什么是数据存储和数据库之间的区别?
我正在设置一个CKAN实例。我必须为CKAN设置postgres数据库才能运行。另外我也必须设置一个数据存储。dataStore和数据库有什么区别?
我在stackoverflow上找到了这个问题,但没有回答我的问题。
How to think in data stores instead of databases?
一般什么是数据存储和数据库之间的区别?
CKAN使用两个PostgreSQL数据库:
CKAN的目录数据库,这是你问安装CKAN时,需要配置的第一个数据库。这存储了CKAN数据目录的所有数据,例如与数据集和资源(标题,标签等),用户帐户,组和组织等相关的元数据等。
CKAN的DataStore是一个可选功能,它可以启用Data API和数据预览文件上传到或从CKAN链接到。这是第二个PostgresSQL数据库,data * store *只是CKAN用于此功能的名称。 (在CKAN数据存储区无关,与你链接到数据存储的谷歌应用程序引擎的概念。)
CKAN也有,一经启用,用于存储上传到CKAN文件FileStore。 FileStore并不是一个真正的数据库,它只是存储上传文件的磁盘上的一个目录。
对我来说,这是两个字为同一件事。
虽然,我承认,我大部分听到或读到了从nosql用户出来的术语。如果我们接受nosql存储作为定义,那么它是一个面向列的存储 - 与面向行的存储相反。
在CKAN的背景下,这个答案是错误的。 – opensas
@opensas:对于CKAN来说,它确实如此。但问题是:***一般来说***数据存储区和数据库之间有什么区别? –
迟到...
我看到一个数据库作为特殊类型的数据存储。正如名称所示,数据存储是存储数据的地方。
您可以使用文件存储系统(例如Linux中的ext4)或数据库(例如PostgreSQL)将数据存储在硬盘中,其中数据存储在文件中,但这些文件由数据库管理系统(访问权限,密钥的唯一性等)。
NoSQL数据库通常没有内置管理器,所以管理是在应用程序级别完成的。您可能会将它们视为存储系统。
我认为“DataStore”功能还可以将从CKAN实例中注册的数据集中的数据存储到结构化数据库中。此外,它还通过强大的Web API在“DataStore”中公开该数据。 –