Arquitetura centrada em banco de dados - Database-centric architecture
Arquitetura centrada em banco de dados ou arquitetura centrada em dados tem vários significados distintos, geralmente relacionados a arquiteturas de software nas quais os bancos de dados desempenham um papel crucial. Freqüentemente, essa descrição tem como objetivo contrastar o design com uma abordagem alternativa. Por exemplo, a caracterização de uma arquitetura como "centrada no banco de dados" pode significar qualquer combinação do seguinte:
- usando um sistema de gerenciamento de banco de dados relacional de uso geral padrão, em oposição a estruturas de dados e métodos de acesso personalizados na memória ou baseados em arquivos . Com a evolução de softwares SGBD sofisticados , muitos dos quais são gratuitos ou incluídos com o sistema operacional , os desenvolvedores de aplicativos têm se tornado cada vez mais dependentes de ferramentas de banco de dados padrão, especialmente para o desenvolvimento rápido de aplicativos .
- usando lógica dinâmica orientada por tabela , em oposição à lógica incorporada em programas compilados anteriormente . O uso de lógica orientada a tabelas, ou seja, comportamento fortemente ditado pelo conteúdo de um banco de dados, permite que os programas sejam mais simples e flexíveis. Esse recurso é um recurso central das linguagens de programação dinâmicas . Veja também tabelas de controle para tabelas que são normalmente codificadas e embutidas em programas como estruturas de dados (isto é, instruções não compiladas), mas podem igualmente ser lidas de um arquivo simples , banco de dados ou mesmo recuperado de uma planilha .
- usando procedimentos armazenados que são executados em servidores de banco de dados , em oposição a uma maior confiança na lógica em execução em servidores de aplicativos de camada intermediária em uma arquitetura de várias camadas . Até que ponto a lógica de negócios deve ser colocada no back-end em comparação com outra camada é um assunto em debate contínuo. Por exemplo, Toon Koppelaars apresenta uma análise detalhada de arquiteturas alternativas baseadas em Oracle que variam no posicionamento da lógica de negócios, concluindo que uma abordagem centrada em banco de dados tem vantagens práticas do ponto de vista de facilidade de desenvolvimento e manutenção.
- usando um banco de dados compartilhado como base para a comunicação entre processos paralelos em aplicativos de computação distribuída , em oposição à comunicação direta entre processos por meio de funções de passagem de mensagens e middleware orientado a mensagens . Um benefício potencial da arquitetura centrada no banco de dados em aplicativos distribuídos é que ela simplifica o design, utilizando o processamento de transações fornecido pelo DBMS e a indexação para atingir um alto grau de confiabilidade, desempenho e capacidade. Por exemplo, Base One descreve uma arquitetura de computação distribuída centrada em banco de dados para computação em grade e cluster e explica como esse design fornece segurança aprimorada, tolerância a falhas e escalabilidade .
- uma arquitetura corporativa geral que favorece modelos de dados compartilhados ao invés de permitir que cada aplicativo tenha seu próprio modelo de dados idiossincrático.
Veja também
- Tabelas de controle
- Linguagens de programação centradas em dados
- O paradigma de programação baseado em dados , que torna as informações usadas em um sistema o principal motivador do projeto.
- Veja o datacentricmanifesto.org