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.