[firebase-br] RES: Questionario X Respostas

Eduardo Bahiense eduardo em icontroller.com.br
Qua Nov 26 18:08:28 -03 2008


Olá Marcelo

Engano achar que quantidade de linhas é uma variável de volume em um 
banco relacional. O mais importante é a normalização e flexibilidade de 
escalonamento do modelo. Quantidade de linhas é irrelevante, mesmo 
porque, se tenho 30 colunas, uma para cada resposta, se respondo só uma, 
desperdiço 29. Quando preciso de uma pesquisa com 35 perguntas, tenho 
que alterar metadata, e se tenho uma só com 15, desperdiço.

Temos tabelas em produção com mais de 6 milhões de linhas e a 
recuperação é instantânea.

Ainda há a possibilidade de se transportar pesquisas muito antigas para 
bancos de dados externos, para aliviar a carga do bd de produção.

Enfim, pense em normalização e capacidade de escalonamento, volume, não 
é uma variável nesse caso, pois ele existirá de qualquer forma, com 
crescimento horizontal ou vertical.


Eduardo


Marcelo Moreira escreveu:
> Douglas
> 
> Minha preocupação com a tabela de respostas é porque da maneira que eu estou
> querendo fazer ela vai ficar monstruosa de grande, vamos imaginar que vai
> ter um questionário cadastrado com 30 perguntas então respondendo o
> questionário uma vez na tabela de respostas eu teria 30 linhas, respondendo
> duas vezes eu teria 60 linhas, e por ai vai. O que acontece é que o numero
> de clientes que vão responder este e outros questionários que vou ter no
> sistema é muito grande logo se eu imaginar:
> 
> 20.000 clientes respondendo um questionário de 30 perguntas eu vou ter na
> tabela de respostas 600.000 linhas isso construindo o sistema da primeira
> maneira que imaginei ágoras se eu fizer as respostas em coluna para a mesma
> situação:
> 20.000 clientes respondendo um questionário de 30 perguntas eu vou ter na
> tabela de respostas 20.000 linhas.
> 
> A preocupação é que estes questionários podem não ser respondidos logo no
> primeiro contato com o cliente ou seja quando necessitar de um segundo
> contato eu vou ter de fazer um select na tabela de respostas para trazer as
> linhas referente a este cliente e tenho medo da consulta com o passar do
> tempo ir ficando bem demorada.
> 
> Espero que tenha conseguido expor minhas duvidas.
> 
> Obrigado pela atenção Douglas.
> 
> Abraços
> 
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de Douglas Tosi
> Enviada em: quarta-feira, 26 de novembro de 2008 11:28
> Para: FireBase
> Assunto: Re: [firebase-br] Questionario X Respostas
> 
> 2008/11/26 Marcelo Moreira <marcelo em easysistemasmg.com.br>:
>> Estou precisando desenvolver em um sistema uma rotina para pesquisas
>> diversas, onde um administrador vai cadastrar algumas perguntas e estas
>> serão distribuídas para algumas atendentes de telemarketing. Estou
> pensando
>> em fazer este processo usando 3 tabelas que seriam:
> 
> Marcelo, pela pouca informação que você deu sobre os requerimentos do
> sistema, seu design parece um bom começo.
> Esqueça colocar respostas em colunas. Você vai se arrepender mais tarde.
> Porque você está preocupado com o tamanho da tabela de respostas? Qual
> a massa de dados esperada?
> 
> hth,





Mais detalhes sobre a lista de discussão lista