Arquitetura centrada em dados

Na arquitetura centralizada em dados, os dados são centralizados e acessados ​​frequentemente por outros componentes, que modificam os dados. O objetivo principal desse estilo é atingir a integralidade dos dados. A arquitetura centrada em dados consiste em diferentes componentes que se comunicam por meio de repositórios de dados compartilhados. Os componentes acessam uma estrutura de dados compartilhada e são relativamente independentes, no sentido de que interagem apenas por meio do armazenamento de dados.

Os exemplos mais conhecidos de arquitetura centrada em dados são uma arquitetura de banco de dados, na qual o esquema de banco de dados comum é criado com protocolo de definição de dados - por exemplo, um conjunto de tabelas relacionadas com campos e tipos de dados em um RDBMS.

Outro exemplo de arquiteturas centradas em dados é a arquitetura da web que tem um esquema de dados comum (ou seja, meta-estrutura da Web) e segue o modelo de dados hipermídia e os processos se comunicam por meio do uso de serviços de dados baseados na web compartilhados.

Tipos de Componentes

Existem dois tipos de componentes -

  • UMA central dataestrutura ou armazenamento de dados ou repositório de dados, que é responsável por fornecer armazenamento de dados permanente. Ele representa o estado atual.

  • UMA data accessor ou uma coleção de componentes independentes que operam no armazenamento central de dados, realizam cálculos e podem colocar de volta os resultados.

As interações ou comunicação entre os acessadores de dados são apenas por meio do armazenamento de dados. Os dados são o único meio de comunicação entre os clientes. O fluxo de controle diferencia a arquitetura em duas categorias -

  • Estilo de Arquitetura do Repositório
  • Estilo de Arquitetura do Blackboard

Estilo de Arquitetura do Repositório

No Estilo de Arquitetura de Repositório, o armazenamento de dados é passivo e os clientes (componentes de software ou agentes) do armazenamento de dados são ativos, que controlam o fluxo lógico. Os componentes participantes verificam se há alterações no armazenamento de dados.

  • O cliente envia uma solicitação ao sistema para realizar ações (por exemplo, inserir dados).

  • Os processos computacionais são independentes e acionados por solicitações de entrada.

  • Se os tipos de transações em um fluxo de entrada de transações acionam a seleção de processos a serem executados, então é um banco de dados tradicional ou arquitetura de repositório, ou repositório passivo.

  • Esta abordagem é amplamente utilizada em SGBD, sistema de informação de biblioteca, repositório de interface em ambientes CORBA, compiladores e CASE (computer aided software engineering).

Vantagens

  • Fornece recursos de integridade de dados, backup e restauração.

  • Fornece escalabilidade e reutilização de agentes, pois eles não têm comunicação direta entre si.

  • Reduz a sobrecarga de dados transitórios entre componentes de software.

Desvantagens

  • É mais vulnerável a falhas e a replicação ou duplicação de dados é possível.

  • Alta dependência entre a estrutura de dados do armazenamento de dados e seus agentes.

  • Mudanças na estrutura de dados afetam fortemente os clientes.

  • A evolução dos dados é difícil e cara.

  • Custo de mover dados na rede para dados distribuídos.

Estilo de Arquitetura do Blackboard

No Blackboard Architecture Style, o armazenamento de dados é ativo e seus clientes são passivos. Portanto, o fluxo lógico é determinado pelo status de dados atual no armazenamento de dados. Possui um componente de quadro negro, atuando como um repositório central de dados, e uma representação interna é construída e acionada por diferentes elementos computacionais.

  • Vários componentes que atuam independentemente na estrutura de dados comum são armazenados no quadro negro.

  • Nesse estilo, os componentes interagem apenas por meio do quadro negro. O armazenamento de dados alerta os clientes sempre que houver uma mudança no armazenamento de dados.

  • O estado atual da solução é armazenado no quadro negro e o processamento é acionado pelo estado do quadro negro.

  • O sistema envia notificações conhecidas como trigger e dados para os clientes quando ocorrem alterações nos dados.

  • Esta abordagem é encontrada em certos aplicativos de IA e aplicativos complexos, como reconhecimento de voz, reconhecimento de imagem, sistema de segurança e sistemas de gerenciamento de recursos de negócios, etc.

  • Se o estado atual da estrutura de dados central é o principal gatilho de seleção de processos a serem executados, o repositório pode ser um quadro-negro e esta fonte de dados compartilhada é um agente ativo.

  • Uma grande diferença com os sistemas de banco de dados tradicionais é que a invocação de elementos computacionais em uma arquitetura de quadro negro é acionada pelo estado atual do quadro negro, e não por entradas externas.

Partes do modelo do quadro negro

O modelo do quadro-negro é geralmente apresentado com três partes principais -

Knowledge Sources (KS)

Fontes de conhecimento, também conhecidas como Listeners ou Subscriberssão unidades distintas e independentes. Eles resolvem partes de um problema e agregam resultados parciais. A interação entre as fontes de conhecimento ocorre exclusivamente por meio do quadro negro.

Blackboard Data Structure

Os dados do estado de solução de problemas são organizados em uma hierarquia dependente do aplicativo. As fontes de conhecimento fazem alterações no quadro negro que levam gradativamente a uma solução para o problema.

Control

O controle gerencia tarefas e verifica o estado de trabalho.

Vantagens

  • Fornece escalabilidade que fornece fonte de conhecimento fácil de adicionar ou atualizar.

  • Fornece simultaneidade que permite que todas as fontes de conhecimento trabalhem em paralelo, pois são independentes umas das outras.

  • Suporta experimentação de hipóteses.

  • Oferece suporte à reutilização de agentes de fonte de conhecimento.

Desvantagens

  • A alteração da estrutura do quadro negro pode ter um impacto significativo em todos os seus agentes, visto que existe uma estreita dependência entre o quadro negro e a fonte de conhecimento.

  • Pode ser difícil decidir quando encerrar o raciocínio, pois apenas uma solução aproximada é esperada.

  • Problemas na sincronização de vários agentes.

  • Principais desafios na concepção e teste do sistema.