dg:Convenções/Armazenamento de dados: mudanças entre as edições

De Documentação
(→‎fromDL_toFileServer.csv: Adiciona aviso.)
m (add modelo de dados)
Linha 1: Linha 1:
==Modelo de dados==
[[Arquivo:DG-UMLclass-v1.png|580px]]


== Link eterno ==
Ver (trazer para cá) https://github.com/AddressForAll/WS/blob/master/docs/preserv-endpoints.md
==Link eterno==
O projeto [[Digital-guard]] disponibiliza os dados preservados por meio de links eternos no formato default:
O projeto [[Digital-guard]] disponibiliza os dados preservados por meio de links eternos no formato default:


Linha 15: Linha 18:
https://dl.digital-guard.org/bae205
https://dl.digital-guard.org/bae205


== Nuvem e redirecionamento ==
==Nuvem e redirecionamento ==
O projeto utiliza serviços de armazenamento em nuvem para hospedar arquivos.
O projeto utiliza serviços de armazenamento em nuvem para hospedar arquivos.


=== Tabela de-para ===
=== Tabela de-para===
A tabela '''[https://docs.google.com/spreadsheets/d/1CL6f0I9DSpqKxKC7QNJGCfyabq7mDOVab5QBGV5VLOk/edit#gid=0 de-para]''' continua válida. É uma alternativa para não lidar com [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv] diretamente no git.
A tabela '''[https://docs.google.com/spreadsheets/d/1CL6f0I9DSpqKxKC7QNJGCfyabq7mDOVab5QBGV5VLOk/edit#gid=0 de-para]''' continua válida. É uma alternativa para não lidar com [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv] diretamente no git.


No entanto:
No entanto:
* O conteúdo da tabela '''de-para''' deve-se copiado para [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv]. '''Solicite ajuda técnica se necessário''';
*O conteúdo da tabela '''de-para''' deve-se copiado para [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv]. '''Solicite ajuda técnica se necessário''';
* O conteúdo que está em '''de-para''' não é oficial, vale o conteúdo de [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv];
*O conteúdo que está em '''de-para''' não é oficial, vale o conteúdo de [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv];
* O processo de disponibilizar o link eterno consome o conteúdo de [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv]. Enquanto não constar nele, o link eterno do arquivo não estará funcional;
*O processo de disponibilizar o link eterno consome o conteúdo de [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv]. Enquanto não constar nele, o link eterno do arquivo não estará funcional;
* '''de-para''' e [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv] possuem os mesmos campos.
*'''de-para''' e [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv] possuem os mesmos campos.


=== fromDL_toFileServer.csv ===
===fromDL_toFileServer.csv===


Foi convencionado que a correspondência entre sha256 e link do arquivo no armazenamento seja feita oficialmente em
Foi convencionado que a correspondência entre sha256 e link do arquivo no armazenamento seja feita oficialmente em
Linha 39: Linha 42:


{| class="wikitable"
{| class="wikitable"
! campo !! descrição !! exemplo
! campo!!descrição!!exemplo
|-
|-
| donor_id || Id do doador, formado por [https://en.wikipedia.org/wiki/ISO_3166-1_numeric ISO 3166 numérico] * 1000000 + ''local_id'' de donor.csv || 76000026 (local_id em [https://git.digital-guard.org/preserv-BR/blob/main/data/donor.csv#L27 donor.csv])
|donor_id||Id do doador, formado por [[wikipedia:ISO_3166-1_numeric|ISO 3166 numérico]] * 1000000 + ''local_id'' de donor.csv||76000026 (local_id em [https://git.digital-guard.org/preserv-BR/blob/main/data/donor.csv#L27 donor.csv])
|-
|-
| filename_original || Nome original do arquivo. || address_for_all.zip
| filename_original||Nome original do arquivo.||address_for_all.zip
|-
|-
| package_path || Caminho do pacote na estrutura do repositório. || BR/data/SP/Limeira/_pk0026.01
|package_path || Caminho do pacote na estrutura do repositório.||BR/data/SP/Limeira/_pk0026.01
|-
|-
| de_sha256 || Arquivo renomeado com o sha256 e extensão. || 529f86b71a936bfdbca3d633b80912f496b9c94a2505ef816e406e2362b631c4.zip
| de_sha256 ||Arquivo renomeado com o sha256 e extensão.||529f86b71a936bfdbca3d633b80912f496b9c94a2505ef816e406e2362b631c4.zip
|-
|-
| para_url || Url do arquivo no serviço de armazenamento. || https://addressforall-my.sharepoint.com/personal/operacao_addressforall_org/_layouts/15/download.aspx?share=EYWIOsxWFpJFsa0X4zKalS8BbEaKtHVuyezvIbN2CdJljw
|para_url ||Url do arquivo no serviço de armazenamento.||https://addressforall-my.sharepoint.com/personal/operacao_addressforall_org/_layouts/15/download.aspx?share=EYWIOsxWFpJFsa0X4zKalS8BbEaKtHVuyezvIbN2CdJljw
|}
|}


Linha 56: Linha 59:
Para entender como gerar ''sha256'' de um arquivo e como enviá-lo para a armazenagem em nuvem, ver [[dg:Guia_do_sha256]].
Para entender como gerar ''sha256'' de um arquivo e como enviá-lo para a armazenagem em nuvem, ver [[dg:Guia_do_sha256]].


== O que fazer após atualizar fromDL_toFileServer.csv ==
==O que fazer após atualizar fromDL_toFileServer.csv==


'''Importante''': o target ''redirects_update'' consome o conteúdo de [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv]. Ele '''não consome''' o conteúdo da tabela '''de-para'''.
'''Importante''': o target ''redirects_update'' consome o conteúdo de [https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv fromDL_toFileServer.csv]. Ele '''não consome''' o conteúdo da tabela '''de-para'''.

Edição das 05h40min de 25 de agosto de 2023

Modelo de dados

DG-UMLclass-v1.png

Ver (trazer para cá) https://github.com/AddressForAll/WS/blob/master/docs/preserv-endpoints.md

Link eterno

O projeto Digital-guard disponibiliza os dados preservados por meio de links eternos no formato default:

https://dl.digital-guard.org/<sha256>.<extensão>


Por exemplo, os dados sobre lotes doados pela prefeitura de São Paulo possuem o link eterno:

https://dl.digital-guard.org/bae2054448855305db0fc855d2852cd5a7b369481cc03aeb809a0c3c162a2c04.zip


Sem perda de unicidade, o mesmo arquivo pode ser obtido usando pelo menos os 6 primeiros caracteres do sha256:

https://dl.digital-guard.org/bae205

Nuvem e redirecionamento

O projeto utiliza serviços de armazenamento em nuvem para hospedar arquivos.

Tabela de-para

A tabela de-para continua válida. É uma alternativa para não lidar com fromDL_toFileServer.csv diretamente no git.

No entanto:

fromDL_toFileServer.csv

Foi convencionado que a correspondência entre sha256 e link do arquivo no armazenamento seja feita oficialmente em

https://git.digital-guard.org/preserv/blob/main/data/redirs/fromDL_toFileServer.csv

e que novas entradas no arquivo sejam sempre adicionadas ao final do arquivo (não adicione linha em branco ao final do arquivo).


Tal arquivo possui os seguintes campos:

campo descrição exemplo
donor_id Id do doador, formado por ISO 3166 numérico * 1000000 + local_id de donor.csv 76000026 (local_id em donor.csv)
filename_original Nome original do arquivo. address_for_all.zip
package_path Caminho do pacote na estrutura do repositório. BR/data/SP/Limeira/_pk0026.01
de_sha256 Arquivo renomeado com o sha256 e extensão. 529f86b71a936bfdbca3d633b80912f496b9c94a2505ef816e406e2362b631c4.zip
para_url Url do arquivo no serviço de armazenamento. https://addressforall-my.sharepoint.com/personal/operacao_addressforall_org/_layouts/15/download.aspx?share=EYWIOsxWFpJFsa0X4zKalS8BbEaKtHVuyezvIbN2CdJljw

O exemplo citado na tabela se encontra na linha 601 fromDL_toFileServer.csv.

Para entender como gerar sha256 de um arquivo e como enviá-lo para a armazenagem em nuvem, ver dg:Guia_do_sha256.

O que fazer após atualizar fromDL_toFileServer.csv

Importante: o target redirects_update consome o conteúdo de fromDL_toFileServer.csv. Ele não consome o conteúdo da tabela de-para.

Atualizar fromDL_toFileServer.csv não atualiza automaticamente o datalake em produção. Para atualizá-lo, executar os comandos:

cd /var/gits/_dg/preserv
git pull
cd /var/gits/_dg/preserv/src
make redirects_update pg_datalake=dl05s_main