[firebase-br] Criando campo blob

Douglas Tosi douglasht em gmail.com
Qui Ago 14 08:53:12 -03 2008


2008/8/14 Eduardo Bahiense <eduardo em icontroller.com.br>:
> Olá
>
>> Só mais uma observação, 4096 é muiitoooo grande, eu normalmente utilizo 80 e
>> consigo gravar fotos com uma boa resolução/tamanho.
>
> Fiquei intrigado com essa questão. Até onde lembro, segment size é o
> tamanho dos blocos em que a informação é gravada, quanto maior, melhor a
> recuperação da informação, pois haverá menos segmentos. O que entendo é
> que valores muito altos poderão elevar o tamanho do BD, desperdiçar
> espaço em disco e, talvez, elevar o tamanho dos bkps, pois se uma foto
> tiver, por exemplo 5192, ocupará dois blocos de 4096.

O que eu tenho, de memória, sobre blobs e segment size é o seguinte.
Segment Size não tem relação com a maneira como o blob é armazenado em disco.
Ele serve apenas como "dica" para o cliente alocar seu buffer de
leitura. Mas o cliente pode ou não seguir essa dica.
Então suponha que você tem um segment size de 80, suponha que a camada
de conectividade que você está usando segue a dica dada pelo segment
size e esqueça a história de disco:

Se o blob tem 8000 bytes, o cliente vai fazer 100 viagens na rede para
ler o blob completo.
Se o segment size fosse 1000, o cliente faria só 8 viagens na rede.
Mas é claro que as custas de alocar mais memória para ler blocos
maiores.

Eu acredito que esse valor default de 80 vem do tempo do pdp-11... :)

Acho também que tem que ver se a camada de conectividade usa o tal
segment size (ibx, ibo, etc). Se não usa, essa discussão toda é chover
no molhado.

Agora, essa minha memória também é quase do tempo do pdp 11, então...

hth,
[]s
-- 
Douglas Tosi
www.sinatica.com




Mais detalhes sobre a lista de discussão lista