Quando partimos para um software de gestao empresarial e existem mais de uma empresa, qual seria a melhor estrategia para o banco de dados? Trabalhar com o banco de dados centralizado? com a aplição acessando esses dados remotamente, quando se tratar de locais geograficos distintos. Ou cada empresa tem seu banco de dados? podendo trabalhar com replicacao para um banco que recebesse todas as informacoes?
Bem eu ja passei por esse problema, na empresa onde eu trabalhava na época separamos o banco de dados por loja, e os dados das filiais eram mandados para a matriz, as filiais não conheciam informações das filiais, apenas produtos disponiveis na matriz…
Agora a separação deve ser bem pensando, você vai precisar de uma boa conexão e mais importante que isso você vai precisar de segurança para trafegar esses dados…
deixa eu colocar mais um pouco de lenha na fogueira. Se toda a gestao das filiais for na matriz? compra, financeiro, etc… a matriz faz os precos e a filial recebe. Um banco centralizado nao seria mais indicado? Ou é melhor fazer rotinas de software para gerenciar isso?
depende de diversos fatores. numeros de usuarios, volume de dados trafegados, sessões autenticações, segurança, permissões e ai vai.
onde eu trabalho temos sistemas web que as filiais acessam e a matriz também. da também pra contruir um datawarehouse que unifica as informações para a alta cúpula empresarial
lembre-se que sistemas compartilhados exigem muita segurança(fator primordial!!!)
[quote=thimor]deixa eu colocar mais um pouco de lenha na fogueira. Se toda a gestao das filiais for na matriz? compra, financeiro, etc… a matriz faz os precos e a filial recebe. Um banco centralizado nao seria mais indicado? Ou é melhor fazer rotinas de software para gerenciar isso?
[/quote]
Acredito que você deva pensar em empresas grandes(o objetivo de todo empresário é crescer), então separar os banco é a melhor opção, pois caso o sistema for funcionar igual vc cita acima, as filiais somente executaram servicos basicos no sistema(venda, cadastro de cliente e etc), por isso acho q banco separado é a melhor opção,concordo plenamente com o nosso amigo que fala em um topico mais acima que a integração deva ser feita em um determinado horario que ninguém use o banco, mas no entanto essa integração deve possuir o controle do usuario ele pode usar ela a hora que ele bem entender… Todos os dias chegam produtos nas empresas… imagine uma loja de materiais de contrução, chega um novo modelo de piso de manha, a filial deve saber no mesmo dia… isso evita perder vendas…
Bem essa é a minha opiniao…
estou estudando , nunca passei por isso mas não parece difícil pensar numa abstração maior.
particularmente cada empresa é cada empresa, nada de colocar tudo num lugar só, sabe o que se passa na cabeça de chefe? oq vai acontecer em cada empresa? ser vendida, crescimento e tal… cada sistema para cada empresa, isso vai trazer segurança, não vai exigir super servidor com super link e super gasto de energia.
solução web pessoal, cada filial acessar o serviço que está centralizado e administrado na matriz, centralizado mas em sistemas diferentes, cada banco+software para cada empresa.
isso é uma ideia que tenho mais abstraida, mas como não sei o tamanho do sistema hoje e nem sei o quanto vai ser amanhã, ai vc podem respoder melhor que eu, em usar desenvolvimentos maiores e complexos, pois nisso ainda não conheço nada.
Depende muito do caso, uma sugestão seria colocar as tabelas de domínio (comuns a todas as filiais, que contém lista de preços por ex) em um banco da matriz, e deixar cada filial manipular seus dados gerados em massa.
Um problema pode ser o mapeamento, criação da tabela/join com tabela em outra base, aí já não sei dizer.
Para acessar os dados das filiais pela matriz, pode fazer isso com um sistema buscando as informações distribuídas, ao invés de tentar jogar/replicar tudo num banco da matriz (apesar disso ser bom pelo backup, mas tem q ver se há arquitetura pra suportar isso).