[SP-pm] [off-topic]sugestão de como fazer o banco de dados referenciar documentos

Alexei Znamensky russoz at gmail.com
Thu Sep 23 03:53:53 PDT 2010


2010/9/23 eutsiv :: Geovanny Junio <geovanny em eutsiv.com.br>
[...]

> Estou desenvolvendo um site, um projeto pessoal (
> http://pt-br.uaigo.com/user/view/1), e eu previa a necessidade de
> armazenar muitas imagens, não sei se é abordagem correta, mas fiz o
> seguinte:
>
> -> Obtenho o hash SHA1 do arquivo a ser salvo.
> -> Gero o diretório onde o arquivo será salvo, usando a seguinte lógica:
> Obtenho as 2 primeiras letras do hash, e crio o primeiro diretório, depois
> as 4 primeiras letras, crio um subdiretório, depois as 6 primeiras letras,
> crio outro subdiretório, e então salvo o arquivo lá com o nome sendo o
> próprio hash.
>
> Um exemplo: /images/db/pl/plH3/plH3VO/plH3VOFNc6XfQkbVWHY_BX04TeA.png (
> /images/db/ é a raíz )
>
> E mapeio no banco as infos referentes a imagem através de um UUID associado
> a ela.
>
> Talvez essa abordagem ajude nessa caso citado.
>

Perfeito!! Com isso você não somente evita de utilizar o próprio nome do
arquivo como também evita (pensando em escalabilidade) o acúmulo de muitos
arquivos em um diretório somente.

O git usa algo parecido, é SHA1, não é baseado nas 4 primeiras letras. Não,
não sei qual a lógica que eles seguem e agora não tenho tempo de procurar.
Basta olhat em {somedir}/.git/objects para ver.

[]s,
Alexei


> Grato.
>
>
>> Se for muito mesmo, pode usar dia tambem, e ser muiiito mesmo, por hora!
>>
>>
>>
>> 2010/9/22 Geraldo Netto <geraldonetto em gmail.com>
>>
>>> Opa,
>>>
>>> desculpa a demora na resposta....
>>>
>>> Blabos: eu não conheco o SCV!!! ops!
>>>
>>> Eden: ehehhehe, eu vou chutar, que eu não tenha um grande
>>> número de usuários, inicialmente, eu vou de menos de 500,
>>> que é bastante coisa pela realidade do cara que me falou quase nada sobre
>>> as regras de negócio ainda;
>>> é sempre bom ter controle de acesso/permissões e vai ser útil :)
>>> a priori, eu não vou precisar fazer buscas no conteúdo dos documentos,
>>> mas isso
>>> pode virar uma 'feature' mais p/ frente, então, eu não saberia de te
>>> dizer...
>>> ah, sim, os usuários vão manipular os documentos diariamente, mas não tem
>>> nada
>>> a ver com a wiki, como sugeriu o Alexei...
>>> a conversão/agregação são interessantes, mas não necessárias nesse
>>> estágio
>>>
>>> ah, sim, eu sei que o software não é inédito, nas realidade é um sistema
>>> p/ área
>>> jurídica, mas eu não posso falar muito mais, por que eu mesmo não
>>> sei(ainda)!!!!
>>>
>>> além do mais, eu to fazendo uma espécie de 'forecasting' p/ poder vender
>>> a idéia
>>> e sabendo melhor os métodos/processos, as coisas ficam mais fáceis de
>>> dimensionar...
>>>
>>> Abraços!
>>>
>>> Geraldo
>>> Non dvcor, dvco => Sapere Aude
>>> São Paulo, Brasil, -3gmt
>>> site: http://exdev.sf.net/
>>>
>>> 2010/9/22 Eden Cardim <edencardim em gmail.com>:
>>> > 2010/9/22 Geraldo Netto <geraldonetto em gmail.com>:
>>> >> Alexei: olha, em termos de projeto/software, não é muito diferente,
>>> >> mas as regras de negócios são muito, muito diferentes, na realidade,
>>> eu ainda
>>> >> não posso falar muito por vários motivos, entre eles por que eu não
>>> sei
>>> >> se a idéia vai p/ frente, eu to pensando em como mostrar isso p/
>>> algumas pessoas
>>> >> comprarem a idéia e colocarem $$$
>>> >
>>> > Ok, mas para te ajudar de verdade, precisamos de mais alguns detalhes,
>>> vamos lá:
>>> > Quantos usuários a aplicação vai ter efetivamente?
>>> > Caso haja mais de um usuário, precisa ter controle de
>>> acesso/permissões?
>>> > Você vai precisar fazer buscas no conteúdo dos documentos? Com qual
>>> frequência?
>>> > Você vai precisar alterar o conteúdo dos documentos?
>>> > Você vai precisar converter entre formatos de documento?
>>> > Vai precisar agregar documentos?
>>> >
>>> > --
>>> >    Eden Cardim       Need help with your Catalyst or DBIx::Class
>>> project?
>>> >   Code Monkey                    http://www.shadowcat.co.uk/catalyst/
>>> >  Shadowcat Systems Ltd.  Want a managed development or deployment
>>> platform?
>>> > http://blog.edencardim.com/
>>> http://www.shadowcat.co.uk/servers/
>>> > _______________________________________________
>>> > SaoPaulo-pm mailing list
>>> > SaoPaulo-pm em pm.org
>>> > http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>> >
>>> _______________________________________________
>>> SaoPaulo-pm mailing list
>>> SaoPaulo-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>
>>
>>
>>
>> --
>> Renato Santos
>> http://www.renatocron.com/blog/
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
«Only love / Can bring the rain / That makes you yearn to the sky»
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100923/f59342dd/attachment-0001.html>


More information about the SaoPaulo-pm mailing list