Zenodo: Suporte de "solicitação de intervalo de bytes HTTP / 1.1" na recuperação de arquivos

Criado em 9 set. 2018  ·  10Comentários  ·  Fonte: zenodo/zenodo

Tenho uma solicitação de recurso no zenodo - o servidor zenodo pode suportar a solicitação de intervalo de bytes HTTP / 1.1 https://tools.ietf.org/html/rfc7233 ?

A plataforma Zenodo já é incrível, e seu suporte à solicitação de intervalo de bytes aumentará ainda mais o valor dos dados depositados, uma vez que alguns aplicativos dependem da solicitação de intervalo de bytes, em particular ao lidar com arquivos grandes.

Eu gostaria de adicionar um exemplo de como funciona a solicitação de intervalo de bytes, para deixar meu ponto claro. Por exemplo, github (raw.githubusercontent.com) oferece suporte à solicitação de intervalo de bytes conforme abaixo:

###
### The entire part of the README file is retrieved, and processed locally
###
$ curl  https://raw.githubusercontent.com/zenodo/zenodo/master/README.rst |head -5 | tail -1
    Zenodo is free software; you can redistribute it

###
### Only the specified bytes specified in the file is retrieved, which does not require local processing
###
$ curl -H "range: bytes=72-125"  https://raw.githubusercontent.com/zenodo/zenodo/master/README.rst 
    Zenodo is free software; you can redistribute it

No entanto, a solicitação de intervalo de bytes é ignorada em zenodo.org

###
### the entire part of the file is retrieved
###
$ curl   https://zenodo.org/record/1407145/files/DOI_Test.txt
This is a test of the Zenodo DOI functionality for GitLab. 

###
### Only small bytes are requested, but the entire part is retrieved
###
$ curl -H "range: bytes=6-7"  https://zenodo.org/record/1407145/files/DOI_Test.txt
This is a test of the Zenodo DOI functionality for GitLab.
Enhancement Needs investigation Accepted

Comentários muito úteis

Eu só queria adicionar meu: +1: para afirmar que habilitar solicitações de intervalo seria muito útil para formatos de dados geoespaciais. O GeoTIFF otimizado para nuvem, em particular, se beneficiaria muito com isso. Permitir solicitações de alcance pode realmente reduzir a largura de banda necessária do zenodo.

Todos 10 comentários

Eu vou apoiar isso. Seria muito útil, por exemplo, para conjuntos de dados genômicos serem acessados ​​diretamente com o tabix . Parece exigir uma mudança de configuração na configuração do servidor web zenodo 'max_ranges' para um número positivo.

Existe algum motivo técnico para não fazer isso?

Nosso back-end de armazenamento de arquivos no momento não está otimizado para atender às solicitações de intervalo HTTP (o que significa que a ativação desse recurso pode levar a uma lentidão significativa para a API de upload / download de arquivo). Claro, há pessoas trabalhando para tornar isso possível, embora não possamos dar um ETA preciso sobre isso ...

Eu só queria adicionar meu: +1: para afirmar que habilitar solicitações de intervalo seria muito útil para formatos de dados geoespaciais. O GeoTIFF otimizado para nuvem, em particular, se beneficiaria muito com isso. Permitir solicitações de alcance pode realmente reduzir a largura de banda necessária do zenodo.

Nosso back-end de armazenamento de arquivos no momento não está otimizado para atender às solicitações de intervalo HTTP (o que significa que a ativação desse recurso pode levar a uma lentidão significativa para a API de upload / download de arquivo). Claro, há pessoas trabalhando para tornar isso possível, embora não possamos dar um ETA preciso sobre isso ...

Muitas pessoas não conseguem baixar arquivos genéticos grandes (vários GB). por exemplo,
https://github.com/zenodo/zenodo/issues/460#issuecomment -546623751

Alguns têm que tentar novamente várias vezes, e isso está realmente desperdiçando sua largura de banda ...

Para o nosso projeto também é importante que possamos usar GeoTIFFs otimizados para nuvem (consulte, por exemplo, https://zenodo.org/record/4483227) diretamente do Zenodo. Figshare aparentemente funciona com COGs, o zenodo não? Escrevemos um tutorial para usuários sobre como obter pequenos pedaços de dados usando arquivos COG .

Você poderia, por favor, apoiar isso?

Precisamos dele para servir grandes arquivos de imagem (no formato Zarr) por pedaços, que nos permite visualizar os arquivos no navegador instantaneamente. Não será possível para o navegador baixar o arquivo e a tela, por exemplo, 10 GB.

Apenas observando o valor para o caso de uso Zarr. Obrigado a todos pelo seu trabalho no Zenodo!

Para Zarr, poderíamos hipoteticamente fazer o zenodo funcionar hoje, sem nenhuma alteração. O Zenodo não oferece suporte a diretórios, mas se pudéssemos mapear um armazenamento de diretório zarr regular para algum tipo de hierarquia plana, por meio de um caractere especial, poderíamos fazê-lo funcionar. Por exemplo, se o caractere especial for __

.zgroup
foo__.zarray
foo__.zattrs
foo__0.0
foo__0.1

etc.

Você poderia levantar um problema aqui (https://github.com/zarr-developers/zarr-specs/issues)?

@rabernat Temo que não seja possível escalar porque o Zenodo só permite 100 arquivos no máximo.

O limite de tamanho total de arquivos por registro é de 50 GB (máximo de 100 arquivos). Uma cota única de 100 GB pode ser solicitada e concedida caso a caso.

fonte: https://www.openaire.eu/technical-requirements

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

lnielsen picture lnielsen  ·  8Comentários

krzysztof picture krzysztof  ·  9Comentários

davidanthoff picture davidanthoff  ·  5Comentários

maurice-schleussinger picture maurice-schleussinger  ·  3Comentários

lnielsen picture lnielsen  ·  6Comentários