CKAN能否处理100k +文件和TB数据?

时间:2015-10-21 16:08:55

标签: ckan

我们想要做的是为我们的实验室成员创建一个本地数据存储库来组织,搜索,访问,编目,引用我们的数据等。我觉得CKAN可以做所有这些事情;但是,我不确定它将如何为我们实际拥有的数据处理这些任务(我可能是错的,这就是我要问的原因)。

我们的实验室正在采购大量数据供内部使用。我们希望能够在我们的组中编目和组织这些数据(也许是CKAN?),这样人们就可以将数据推送到目录,并提取数据并使用它。一些用例将是,具有数据的ACL,Web界面,搜索,浏览,组织,添加,删除,更新数据集等。虽然CKAN看起来非常适合这种情况,但问题在于数据(更多)所以我们正试图处理的数额。

我们想要记录数TB的图像(200k +图像),各种格式的地理空间数据,Twitter流(JSON数据的TB),数据库转储文件,二进制数据,机器学习模型等等。我不会&#39 ; t认为将100k 64MB JSON文件作为资源添加到CKAN数据集是合理的,或者是吗?我们意识到我们无法在此JSON /图像/地理数据中进行搜索,这很好。但我们希望找到有关我们是否有可用数据的信息(例如我们搜索" twitter 2015-02-03"),如果您愿意的话,这是一种元数据搜索。在CKAN中使用本地文件存储,如果用户请求200k图像会发生什么?当必须回答这些请求时,系统会不会响应吗?

我已经在datahub.io上看到了CKAN,其中绝大多数都是小型CSV文件,2-3MB的小型zip文件,以及数据集中不超过20或30个单独的文件。

CKAN能够做我们想要的吗?如果对替代品没有任何建议吗?

编辑更具体的问题而不是讨论:

我浏览了一下并搜索了有关此主题的信息,但我还没有看到已部署的系统包含大量数据。

  1. 我上传的文件大小是否有限制(例如压缩的400GB数据库文件)?
  2. 我作为资源上传到CKAN中的数据集的文件数量是否有限制? (例如,我创建了一个数据集并上传了250,000个64MB JSON文件,系统可以使用吗?)
  3. UI似乎不支持在时间上传多个文件的能力(例如,作为资源的数据文件夹)。是否有支持此功能的工具/扩展/插件?
  4. 一个。是否有任何限制会妨碍我使用CKAN API来实现这一目标?

2 个答案:

答案 0 :(得分:8)

我们在自然历史博物馆(data.nhm.ac.uk)使用CKAN获得了一些非常庞大的研究数据集 - 我们的主要标本集有280万条记录 - 而且它处理得非常好。我们不得不使用一些自定义插件扩展CKAN以实现这一点 - 但它们是开源的并且可以在Github上使用。

我们的datasolr扩展移动查询大型数据集到SOLR,它比postgres(在我们的基础设施上)更好地处理索引和搜索大数据集 - https://github.com/NaturalHistoryMuseum/ckanext-datasolr

为了防止CKAN在用户下载大文件时摔倒,我们将包装和下载移至单独的服务和任务队列。

https://github.com/NaturalHistoryMuseum/ckanext-ckanpackager https://github.com/NaturalHistoryMuseum/ckanpackager

所以是的,带有一些贡献插件的CKAN绝对可以处理更大的数据集。我们还没有用TB +数据集对它进行测试,但明年我们将使用CKAN发布一些系统发育数据。

答案 1 :(得分:3)

是的:)

但是有使用或构建的扩展。

查看为CKAN Galleries(http://datashades.com/ckan-galleries/)构建的扩展程序。我们专门为数据集资源的记录级别中引用的图像和视频资产构建了它。

如果需要,可以使用S3云连接器进行对象存储。

我们已经开始研究扩展CKAN的各种方法,以便为所有类型的数据提供企业数据存储和管理。非常大,实时,物联网特定,关联数据等

我认为在某些情况下,可以通过添加“资源容器”的概念来解决这些问题。去CKAN在某种意义上,文件存储和数据存储都是这种资源容器扩展的示例。

使用AWS的API网关服务,我们正在研究如何通过与第三方解决方案的外部集成来呈现存储数据的请求方法,就好像它们与其他CKAN资源没有区别一样。

虽然并非所有人都在那里,但当您使用基础架构作为AWS启用的软件时,您可以构建一些非常简洁的东西,看起来像在传统Web堆栈上运行的软件但实际上正在使用S3,Lambda,临时关系数据库和API网关做一些非常繁重的工作。

我们的目标是开源成熟的开放式架构所采取的方法。我们已经通过发布用于在AWS上构建超级计算机集群的脚本来启动它。你可以在这里找到:https://github.com/DataShades/awscloud-hpc