Olá, sou novata no Drupal, mas aos poucos estou aprendendo a trabalhar com ele...
Pretendo usá-lo para gerenciar um repositório de imagens e documentos.
A idéia seria que o usuário procure no site por uma palavra-chave e encontre vários documentos relacionados, como vídeos, fotos, desenhos, pdfs ou textos de revistas, jornais e outros documentos digitalizados.
Atualmente, não usamos nenhum gerenciador, mas este conteúdo tem sido publicado dividido em coleções relativamente independentes (diretórios e bancos de dados separados). Isto dificulta para o usuário, pois se ele quiser, por exemplo, encontrar tudo sobre "futebol", deve visitar a coleção do "Jornal A" e procurar, depois do "Jornal B", etc
Minha preocupação é que o site vai lidar com muitos documentos (no momento, contamos com alguns milhões de jpgs) e pelo que entendi, pelo menos usando o módulo Images, todas imagens serão armazenados em um único diretório. Isto não faria com que a busca se tornasse demorada?
Estou um pouco insegura em modificar todo o site pra descobrir depois que ele não atende a performance necessária...
Alguém já trabalhou com esse tipo de conteúdo? Qualquer conselho é bem-vindo!
Comments
Buscar termos, não arquivos
Cintya,
Você certamente não irá fazer uma busca em uma imagem, mas sim em tag's que estão relacionadas com esta imagem, ou seja, existe na base de dados uma relação entre o nome do arquivo e os termos usados. Quando o usuário faz uma busca, estes termos são pesquisados e retornam as imagens relacionadas na distribuição que melhor convier.
O mesmo é válido para outros documentos.
Pode ficar tranquila que não será o número de arquivos que deixará o sistema lento.
Sds
Paulino Michelazzo
http://www.michelazzo.com.br
Yes, I'm Brazilian and we don't speak Spanish here (but I can speak too).
Minha preocupação é que o
Isso não me parece um problema.
É possível colocar as imagens em sub-diretórios separados.
A busca vai usar meta-informações sobre as imagens (ex: texto do body do node, tags...). Isso de fato pode ser demorado se você tiver milhões de imagens. Mas o problema será o mesmo usando drupal ou não. Vc vai ter que pesquisar um pouco sobre como otimizar essa busca.
Abraço,
Daniel Madruga
http://www.zaine.com.br
http://danielmadruga.wordpress.com
Mudança na tabela
Com algumas mudanças nas tabelas do Drupal é possível aumentar a velocidade de busca das tag's, mesmo sendo milhões ou dezenas de milhões.
Algumas técnicas de otimização dos servidores serão necessárias mas, novamente, é tranquilo, o Drupal aguenta o tranco ;)
Paulino Michelazzo
http://www.michelazzo.com.br
Yes, I'm Brazilian and we don't speak Spanish here (but I can speak too).
Muito obrigada pelas
Muito obrigada pelas dicas!
Fico mais segura assim pra implantar. No momento estou fazendo somente uns testes prévios num servidor local, porque, como disse, sou mera aprendiz ainda...
Por hora, não sei como será feita a otimização no servidor de produção, porque é administrado por outro departamento, mas acho que o melhor será lidar com os problemas conforme forem aparecendo né?
Muito obrigada de novo!
Problemas
Sem dúvida lidar com os problemas quando eles aparecem é a melhor técnica. Assim sobra tempo para cuidar de outras coisas ;)
Boa sorte.
Paulino Michelazzo
http://www.michelazzo.com.br
Yes, I'm Brazilian and we don't speak Spanish here (but I can speak too).
Não modifique tabelas do
Não modifique tabelas do Drupal, pode te dar dor de cabeça no futuro pra manter.
Acredito que o apachesolr com um módulo custom pode indexar o que vc quiser à respeito das imagens e fazer as buscas ao invés do MySQL. É reconhecidamente parrudo (apachesolr é usado no drupal.org, por exemplo).
Acho que a grande questão no desempenho é na verdade o número de acessos e buscas.
Porque?
Qual o problema de mudar a engine das tabelas de MyISAM para InnoDB? Não vejo problema nenhum nisso.
Quanto o Lucene/Solr, sua função é a busca e recuperação de conteúdo indexável, o que não ocorre numa imagem, exceto se extrair o EXIF dela para tal função.
Sds
Paulino Michelazzo
http://www.michelazzo.com.br
Yes, I'm Brazilian and we don't speak Spanish here (but I can speak too).
"A idéia seria que o usuário
"A idéia seria que o usuário procure no site por uma palavra-chave e encontre vários documentos relacionados, como vídeos, fotos, desenhos, pdfs ou textos de revistas, jornais e outros documentos digitalizados."
Certo, se você não está pensando em indexar, como seria possível fazer uma busca em imagens, dado este problema inicial.
Interessante que você mesmo falou em tags logo ali acima né?
JPG's
Bem, se a citação é necessária:
"Minha preocupação é que o site vai lidar com muitos documentos (no momento, contamos com alguns milhões de jpgs)"
Creio que estamos falando da preocupação dela quanto os milhões de jpg's, que é a dúvida inicial dela.
Já os documentos relacionados não precisam de Lucene/SoIR pois podem ser pegos por meio de taxonomias. Agora se a idéia é fazer um index no documento (o que não foi cogitado), sim, seria necessário ele ou um appliance como do Google.
Paulino Michelazzo
http://www.michelazzo.com.br
Yes, I'm Brazilian and we don't speak Spanish here (but I can speak too).
Essa mudança na engine não é
Essa mudança na engine não é tão óbvia, e se o site em questão for massivamente leitura e pouca escrita, o impacto de alterar as tabelas não será grande. Mas realmente não há problema, desde que haja RAM suficiente.
http://drupalperformanceblog.com/drupal-switch-to-innodb