Pessoal, 

   Estamos desenvolvendo um sítio que armazenará mais de meio milhão
de notícias já quando entrar em produção. Estes registros virão de uma
migração de uma base já existente. 

  Questões: 

  1. Zope/Plone agüenta o tranco? 

  2. Posso colocar todos os registros em uma única pasta (LargeFolder
- BtreeFolder)? Tenho que separar por algum critério (notícias de 2005
numa pasta chamada not_2005, not_2006, not_2007, por exemplo)? Sendo
que cada ano tem mais de 200.000 registros..

  3. Instalamos o TextIndexNG3 por considerá-lo mais robusto que o
ZCTextIndex. Contudo estamos tendo problemas quando o usuário coloca
caracteres não convencionais no campo de busca. Ex.: 1. , (vírgula) 2.
Abertura de parenteses sem fechamento (parece que ele tenta
interpretar a consulta), etc. Vale à pena? Volto patra o ZCTextIndex?

  4. A importação de cada registro da notícia que vem do banco SQL é
feita via um ExternalMethod que lê um arquivo texto do disco e insere
no ZODB via invokeFactory. Quando executamos a importação de um
arquivo com 3000 registros o comportamento é satisfatório até os
primeiros 100 registros (menos de um segundo por registro).. a partir
daí há uma degradação de performance muito grande, levando a inserção
durar mais de 3 segundos por registro. Existe algum macete para este
tipo de operação? Já tentamos realizar o commit a cada 50 registros
inseridos para aliviar o backlog do ZODB e tivemos um ganho rezoável.
Mas acima de 5000 registros por arquivo não vai nem com reza brava. 

É isso aí pessoal. 

Toda dica é bem vinda. 

[]'s 

Marcov, 

Responder a