Architektura skoncentrowana na danych

W architekturze zorientowanej na dane dane są scentralizowane i często używane przez inne komponenty, które modyfikują dane. Głównym celem tego stylu jest osiągnięcie integralności danych. Architektura skoncentrowana na danych składa się z różnych komponentów, które komunikują się za pośrednictwem współdzielonych repozytoriów danych. Komponenty mają dostęp do wspólnej struktury danych i są względnie niezależne, w tym sensie, że oddziałują tylko za pośrednictwem magazynu danych.

Najbardziej znanymi przykładami architektury zorientowanej na dane jest architektura bazy danych, w której wspólny schemat bazy danych jest tworzony za pomocą protokołu definicji danych - na przykład zestaw powiązanych tabel z polami i typami danych w RDBMS.

Innym przykładem architektur skoncentrowanych na danych jest architektura sieciowa, która ma wspólny schemat danych (tj. Meta-strukturę sieci) i podąża za modelem danych hipermedialnych, a procesy komunikują się za pośrednictwem współdzielonych usług danych internetowych.

Rodzaje komponentów

Istnieją dwa rodzaje komponentów -

  • ZA central datastruktura lub magazyn danych lub repozytorium danych, które jest odpowiedzialne za zapewnienie trwałego przechowywania danych. Przedstawia stan obecny.

  • ZA data accessor lub zbiór niezależnych komponentów, które działają w centralnym magazynie danych, wykonują obliczenia i mogą odłożyć wyniki.

Interakcje lub komunikacja między dostępami danych odbywa się tylko za pośrednictwem magazynu danych. Dane są jedynym środkiem komunikacji między klientami. Przepływ kontroli dzieli architekturę na dwie kategorie -

  • Styl architektury repozytorium
  • Styl architektury tablicy

Styl architektury repozytorium

W stylu architektury repozytorium magazyn danych jest pasywny, a klienci (komponenty oprogramowania lub agenci) magazynu danych są aktywni, którzy kontrolują przepływ logiki. Uczestniczące komponenty sprawdzają magazyn danych pod kątem zmian.

  • Klient wysyła do systemu żądanie wykonania działań (np. Wprowadzenia danych).

  • Procesy obliczeniowe są niezależne i wyzwalane przez przychodzące żądania.

  • Jeżeli typy transakcji w strumieniu wejściowym transakcji wyzwalają wybór procesów do wykonania, to jest to tradycyjna architektura bazodanowa lub repozytorialna lub repozytorium pasywne.

  • Podejście to jest szeroko stosowane w DBMS, systemie informacji bibliotecznej, repozytorium interfejsów w CORBA, kompilatorach i środowiskach CASE (wspomagana komputerowo inżynieria oprogramowania).

Zalety

  • Zapewnia integralność danych, funkcje tworzenia kopii zapasowych i przywracania.

  • Zapewnia skalowalność i możliwość ponownego wykorzystania agentów, ponieważ nie komunikują się oni bezpośrednio ze sobą.

  • Zmniejsza narzut danych przejściowych między składnikami oprogramowania.

Niedogodności

  • Jest bardziej podatny na awarie i możliwa jest replikacja lub duplikacja danych.

  • Duża zależność między strukturą danych magazynu danych a jego agentami.

  • Zmiany w strukturze danych mają duży wpływ na klientów.

  • Ewolucja danych jest trudna i kosztowna.

  • Koszt przenoszenia danych w sieci dla danych rozproszonych.

Styl architektury tablicy

W stylu architektury Blackboard magazyn danych jest aktywny, a jego klienci są pasywni. Dlatego przepływ logiczny jest określany przez aktualny stan danych w magazynie danych. Posiada komponent tablicowy, działający jako centralne repozytorium danych, a wewnętrzna reprezentacja jest budowana i przetwarzana przez różne elementy obliczeniowe.

  • Na tablicy przechowywanych jest wiele komponentów, które działają niezależnie od wspólnej struktury danych.

  • W tym stylu komponenty oddziałują tylko poprzez tablicę. Magazyn danych ostrzega klientów za każdym razem, gdy następuje zmiana w magazynie danych.

  • Bieżący stan rozwiązania jest przechowywany w tablicy, a stan tablicy uruchamia przetwarzanie.

  • System wysyła powiadomienia znane jako trigger oraz dane klientom, gdy nastąpią zmiany w danych.

  • Podejście to można znaleźć w niektórych aplikacjach AI i złożonych aplikacjach, takich jak rozpoznawanie mowy, rozpoznawanie obrazu, system bezpieczeństwa, systemy zarządzania zasobami biznesowymi itp.

  • Jeśli aktualny stan centralnej struktury danych jest głównym wyzwalaczem wyboru procesów do wykonania, repozytorium może być tablicą, a to współdzielone źródło danych jest aktywnym agentem.

  • Główna różnica w porównaniu z tradycyjnymi systemami baz danych polega na tym, że wywołanie elementów obliczeniowych w architekturze tablicy jest wyzwalane przez bieżący stan tablicy, a nie przez zewnętrzne dane wejściowe.

Części modelu tablicy

Model tablicy zwykle składa się z trzech głównych części -

Knowledge Sources (KS)

Źródła wiedzy, znane również jako Listeners lub Subscriberssą odrębnymi i niezależnymi jednostkami. Rozwiązują części problemu i agregują częściowe wyniki. Interakcja między źródłami wiedzy odbywa się wyjątkowo poprzez tablicę.

Blackboard Data Structure

Dane o stanie rozwiązywania problemów są zorganizowane w hierarchię zależną od aplikacji. Źródła wiedzy wprowadzają zmiany na tablicy, które stopniowo prowadzą do rozwiązania problemu.

Control

Control zarządza zadaniami i sprawdza stan pracy.

Zalety

  • Zapewnia skalowalność, która zapewnia łatwe dodawanie lub aktualizowanie źródła wiedzy.

  • Zapewnia współbieżność, która umożliwia równoległą pracę wszystkich źródeł wiedzy, ponieważ są one od siebie niezależne.

  • Wspiera eksperymentowanie dla hipotez.

  • Obsługuje możliwość ponownego wykorzystania agentów źródła wiedzy.

Niedogodności

  • Zmiana struktury tablicy może mieć znaczący wpływ na wszystkich jej agentów, ponieważ istnieje ścisła zależność między tablicą a źródłem wiedzy.

  • Trudno jest zdecydować, kiedy zakończyć rozumowanie, ponieważ oczekuje się jedynie przybliżonego rozwiązania.

  • Problemy z synchronizacją wielu agentów.

  • Główne wyzwania w projektowaniu i testowaniu systemu.