2008/9/23 Luiz Oliveira <[EMAIL PROTECTED]>:
> Boa tarde Mauro,
>
> Tecnicamente falando, o ZODB tem seu armazenamento em um arquivo único,
> chamado de Data.fs.
> Consequentemente, todo objeto que é criado ou incluído no ZODB é inserido
> dentro desse arquivo. A inclusão de grandes arquivos dentro do mesmo pode
> ocasionar atraso nas retorno das buscas e no desenmpenho do servidor.
>
> Quanto mais chegamos no final do arquivo Data.fs mais longo fica o tempo de
> espera para retorno do objeto. Por isso não é indicado a utilização de
> grandes arquivos. Não só para o ZODB mas pra maioria dos bancos o
> aconselhável é sempre incluirmos um ponteiro (referência) para o objeto.

Na verdade isso deveria ser o contrário, pq a última versão de cada
objeto, especialmente aqueles que são alterados com frequencia, fica
sempre no final do Data.fs. O que cresce substancialmente a medida que
o Data.fs cresce é o seu indice (baseado em BTrees). Em linhas gerais,
a questão aqui é muito mais relacionada com alocação de recursos do
que com o tamanho do ZODB em si. Se você tem um Data.fs muito grande
(leia-se grande algo muito maior que a memória do seu servidor), a
performance de acesso a esse banco dependerá de alocação de muita
memória para cache intermediário e que esse cache seja corretamente
dimensionado para obter a performance esperada. Se seu servidor não
tem gargalo de I/O, o que faz realmente diferença no Zope é apenas
alocação de memória e processador nas instancias Zope, desde que sua
aplicação tenha sido corretamente desenhada para não fazer muitas
escritas no banco. Fato: o ZODB é um banco de dados otimizado para
leitura e com mecanismos de tratamento de colisões otimista
(timestamps MVCC), próprio para aplicações web. Se sua aplicação é
baseada em escrita no banco, o ZODB não é feito para isso e sofrerá um
impacto negativo nesse único cenário. Em linhas gerais, o ZODB é bem
melhor que um banco relacional para uso em aplicações CMS.

>
> Abs.
> Luiz Diogo
>
> 2008/9/23 el_chapelon2000 <[EMAIL PROTECTED]>
>>
>> --- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]>
>> escreveu
>> >
>> > 2008/9/23 el_chapelon2000 <[EMAIL PROTECTED]>:
>>
>> > > Olá,
>> > >
>> > > Meu nome é Mauro Gonçalves e faço parte da equipe de
>> > > desenvolvimento WEB de um órgão federal que está migrando o portal
>> > > Web para a tecnologia Zope/plone, tenho várias dúvidas sobre o
>> Zope e
>> > > principalmente sobre o ZODB e não consigo respostas nem nos sites
>> > > oficiais do produto e nem em comunidades, gostaria de saber se
>> alguém
>> > > sabe me responder as dúvidas abaixo:
>> > >
>> > >
>> > > 1- Como são armazendos os metadados no ZODB?
>> > >
>> > >
>> > > 2- Em quais camadas ficam o Zope, Plone e a CMF??(esquema gráfico)
>> > >
>> > >
>> > > 3- Qual é a razão(tecnicamente falando) pela qual devemos
>> armazenar
>> > > dados pesados como: arquivos operacionais de vídeo, imagem e
>> grandes
>> > > volumes de documentos em SGDB relacional e não no ZODB?
>> > >
>> > >
>> > > agradeço e aguardo por respostas.
>> > >
>> > >
>> > >
>> > > Mauro G. Souza
>> > >
>> >
>> > Mauro, bem vindo ao mundo do Zope. No princípio as coisas parecem
>> > complicadas, mas não se assuste. Hoje em dia há muito material na
>> web
>> > sobre Zope, CMF e Plone e também há vários livros sobre Zope 3 e
>> > Plone.
>> >
>> > A grande referência do Zope 2 é o Zope Book (www.plope.com). O
>> livro
>> > foi feito para a versão 2.7 mas tem muita coisa válida.
>> >
>> > Vou tentar responder suas perguntas de forma simples. Outras
>> pessoas
>> > da lista poderão fornecer informações mais detalhadas ou você mesmo
>> > pode ampliar seus questionamentos.
>> >
>> > 1. O ZODB como seu nome já diz, armazena objetos python. Você não
>> > precisa saber como os objetos e suas propriedades são armazenados.
>> O
>> > que você precisa conhecer é a API para armazenamento, pesquisa
>> > (Catalog) e recuperação.
>> >
>> > 2. O Zope é o servidor de aplicações. O CMF pode ser visto como uma
>> > biblioteca para desenvolvimento de CMS (Sistema de gerenciamento de
>> > conteúdo). O Plone foi construído sobre o CMF.
>> >
>> > 3. Teoricamente você pode guardar o que quiser no ZODB. Mas quando
>> se
>> > trata de conteúdo estático de grande volume o ideal é armazená-lo
>> > preferencialmente no sistema de arquivos ou um SGBDR. Com isso você
>> > libera o ZODB para armazenar e servir objetos dinâmicos.
>> >
>> > Espero ter ajudado,
>> >
>> > Zénrique.
>> >
>>
>> Caro Zénrique,
>>
>> agradeço muito pela atenção dispensada, mas na verdade preciso mesmo
>> de termos técnicos, a falta de informações técnicas são realmente um
>> problema na comunidade de software livre. O volume de dados a
>> armazenar é realmente muito grande e já sabemos por experiencia da
>> Camara dos Deputados que não funciona no ZODB. Precisaria saber
>> explicar porque não funciona.
>>
>> Mais uma vez, Mto obrigado.
>>
>> Mauro
>>
>
> 



-- 
==================================
Fabiano Weimar dos Santos (xiru)
Weimar Consultoria

Hospedagem Plone, Django, Zope 3, Grok...
http://www.pytown.com
==================================

Responder a