Modelo Cliente - Servidor
“... foi simplesmente espetacular o progresso que os computadores conheceram em um curto período de tempo. Nas duas primeiras décadas de sua existência, os sistemas computacionais eram acondicionados, geralmente, em uma grande sala com paredes de vidro(...). Uma empresa de médio porte ou uma universidade contava apenas com um ou dois computadores... ” (Tanenbaun S. Andrew, Redes de computadores)
Num primeiro momento, desenvolver aplicativos de bancos de dados para PC era uma abordagem de um único processo. Tanto o programa quanto os arquivos de “banco de dados” ficavam no mesmo computador e todo o esforço do desenvolvimento era concentrado na aplicação, ou seja, todo o tratamento, desde a entrada até a gravação física do registro, era implementado no aplicativo, como por exemplo: construção da interface gráfica (telas), as validações (checkes) e os algoritmos de classificação, busca, gravação, leitura e indexação.
Com o surgimento das redes, programadores audazes moveram os arquivos de dados para um servidor de arquivos, visando desta forma viabilizar o acesso de múltiplos usuários a mesma base de dados. Agora vários computadores poderiam compartilhar das informações contidas no banco de dados. Contudo, esses computadores teriam que possuir o software aplicativo (que continha todo o mecanismo de manipulação de dados descrito acima) instalado, porém os arquivos de bancos de dados agora estavam disponíveis para múltiplos usuários acessa-los simultaneamente. Até hoje se usa este modelo, e alguns sistemas que trabalham com banco de dados locais (Paradox, access, Dbase e ect..) são configurados desta forma, o modelo de servidores de arquivos.
Esta estratégia, amplamente difundida no passado, embora tenha trazido alguma inovação, muito mais no aspecto físico do que lógico, não se consolodou como um modelo definitivo, a partir do momento que trouxe mais demandas do que soluções. Como assim? Imagine a seguinte situação:
um jantar, ou ceia comunitária onde os convidados deveriam, cada um, trazer parte da comida e bebida, deposita-la numa única mesa e, ao mesmo tempo, outros convidados estariam se servindo de alimentos que já estariam na mesa. Podemos imaginar, a partir deste exemplo, as dificuldades que os participantes desta ceia deveriam estar enfrentando. Cada vez maior seria o problema quanto mais pessoas chegassem para participar da ceia, em pouco tempo o caos estaria estabelecido. È óbvio que sem uma forma de gerenciamento esta configuração fatalmente será insustentável. Os sistemas gerenciadores de banco de dados surgem com afinalidade de atender justamente esta necesidade.
Esta estratégia, amplamente difundida no passado, embora tenha trazido alguma inovação, muito mais no aspecto físico do que lógico, não se consolodou como um modelo definitivo, a partir do momento que trouxe mais demandas do que soluções. Como assim? Imagine a seguinte situação:
um jantar, ou ceia comunitária onde os convidados deveriam, cada um, trazer parte da comida e bebida, deposita-la numa única mesa e, ao mesmo tempo, outros convidados estariam se servindo de alimentos que já estariam na mesa. Podemos imaginar, a partir deste exemplo, as dificuldades que os participantes desta ceia deveriam estar enfrentando. Cada vez maior seria o problema quanto mais pessoas chegassem para participar da ceia, em pouco tempo o caos estaria estabelecido. È óbvio que sem uma forma de gerenciamento esta configuração fatalmente será insustentável. Os sistemas gerenciadores de banco de dados surgem com afinalidade de atender justamente esta necesidade.
No armazenamanto de dados flle-server, toda a inteligência do “banco” reside no software cliente. Embora que o arquivo de dados resida no servidor remoto, este servidor não tem inteligência para gerenciar esses dados.
No modelo cliente-servidor o banco de dados não é apenas um arquivo, ou melhor, não é uma pasta contendo vários arquivos(que seriam as tabelas e os índices). Mas sim um programa, um sistema que controla e gerencia o banco, onde reside toda a inteligência do banco de dados. Este programa prove um serviço de acesso, armazenamento e manipulação de dados. Podemos concluir então que: se existe processamento no banco agora, eu posso pegar os processos que antes estavam todos codificados no sotware cliente, e dividi-los com o programa de banco de dados.
No modelo cliente-servidor o banco de dados não é apenas um arquivo, ou melhor, não é uma pasta contendo vários arquivos(que seriam as tabelas e os índices). Mas sim um programa, um sistema que controla e gerencia o banco, onde reside toda a inteligência do banco de dados. Este programa prove um serviço de acesso, armazenamento e manipulação de dados. Podemos concluir então que: se existe processamento no banco agora, eu posso pegar os processos que antes estavam todos codificados no sotware cliente, e dividi-los com o programa de banco de dados.
O modelo client-server reduz significantemente o tráfego de rede, também provê uma melhor integridade no banco e o torna mais poderoso, já que todo o gerenciamento do software fica em único lugar.
Continua em ... Back-EndArtigo completo (View Full Post)