Vários Bancos ou poucos?
Opa gente, tudo na paz?
Seguinte, fiz um site que é acessado por muitos usuários e eles tem milhares de acessos diários, mas notei que os banco de dados estão aumentando de tamanho significativamente, e pensei em uma solução simples...
Ao invés de usar os comuns 15 bancos de dados (eu uso acess pra não ter q mudar todo script), usaria 5 bancos de dados que são divididos entre os usuários (pra login, pra mapeamento, etc) e estava pensando em toda vez que um usuário se inscrever no site, o script asp vai fazer uma cópia dos outros 10 banco acess pra uma pasta só daquele usuário. Assim, ao invés de ter 15 banco de dados inflando muito, eu teria milhares de pequenos banco de dados que só seriam aberto quando um usuário acessace aquela determinada opção.
Um exemplo:
1. Eu faço login, então usa o banco de dados que todo mundo usa;
2. enquanto acesso minha conta, o script roda usando minha ID pra identificar quais são os "meus" bancos de dados que ele vai acessar, no caso são 10, um pra meus clientes, um pras minhas listas de compras, outro pra minha agenda, etc. Estes bancos de dados só são acessados por mim!
3. Quando vou interagir com outro usuário, acessando a agenda dele por exemplo, então o script que tem as funções de abertura dos banco de dados vai abrir os meus bancos de dados (pq eu uso pra tudo) e vai abrir os 10 do usuário que vou interagir!
Estes 10 bancos de dados que cada usuário teria seriam significativamente pequenos, não teriam mais do que 30 ou 40 registros denro deles. Porém, usando 1 banco que divida as informações (como esta atualmente), chega a ter 500 mil registros, sempre apagando, criando, etc, novos registros. Quando alguém faz uma pesquisa em um BD destes que é muito grande eu notei que demora demais pro site abrir... pq ele vai buscar o registro e se não encontrar ele vai varrer todos os 500 mil registros.
Por isso pensei em reduzir o tempod e busca, pq se um usuário for buscar algo, ele vai buscar diretamente "naquele usuário" o que procura e como tem pouco mais de 50 registros no BD ficaria mais rápido.
Estou perguntando aqui antes de tentar fazer isso na prática, pq se eu resolver que assim seria mais rápido e resolver mudar, não vou ter 30 dias de trabalho pra desfazer se algo der errado. E existe aqui gente muito mais entendida que eu nessas situações. E gostaria de uma opinião de todos que puderem ajudar ou dar idéias =)
ps: não uso nenhum tipo de server sql como BD pq aqui onde eu desenvolvo não teria como testar, e ficar testando tudo online faria meu trabalho demorar cerca de 5 vezes mais, por isso optei pelo acess.
Abração gente, vou estar pro aqui caso precisem de mais informações sobre o assunto =)
Att, Jean
Discussão (22)
Carregando comentários...