데이터 중심 아키텍처

데이터 중심 아키텍처에서 데이터는 데이터를 수정하는 다른 구성 요소에 의해 중앙 집중화되고 자주 액세스됩니다. 이 스타일의 주요 목적은 데이터의 통합 성을 달성하는 것입니다. 데이터 중심 아키텍처는 공유 데이터 저장소를 통해 통신하는 다양한 구성 요소로 구성됩니다. 구성 요소는 공유 데이터 구조에 액세스하고 데이터 저장소를 통해서만 상호 작용한다는 점에서 상대적으로 독립적입니다.

데이터 중심 아키텍처의 가장 잘 알려진 예는 데이터 정의 프로토콜을 사용하여 공통 데이터베이스 스키마가 생성되는 데이터베이스 아키텍처입니다 (예 : RDBMS의 필드 및 데이터 유형이있는 관련 테이블 세트).

데이터 중심 아키텍처의 또 다른 예는 공통 데이터 스키마 (예 : 웹의 메타 구조)를 갖고 하이퍼 미디어 데이터 모델을 따르고 공유 웹 기반 데이터 서비스를 사용하여 통신하는 프로세스가있는 웹 아키텍처입니다.

구성 요소 유형

두 가지 유형의 구성 요소가 있습니다.

  • central data영구 데이터 저장소를 제공하는 구조 또는 데이터 저장소 또는 데이터 저장소. 현재 상태를 나타냅니다.

  • data accessor 또는 중앙 데이터 저장소에서 작동하고, 계산을 수행하고, 결과를 되돌릴 수있는 독립적 인 구성 요소 모음입니다.

데이터 접근 자 간의 상호 작용 또는 통신은 데이터 저장소를 통해서만 이루어집니다. 데이터는 클라이언트 간의 유일한 통신 수단입니다. 제어 흐름은 아키텍처를 두 가지 범주로 구분합니다.

  • 리포지토리 아키텍처 스타일
  • 칠판 아키텍처 스타일

리포지토리 아키텍처 스타일

리포지토리 아키텍처 스타일에서 데이터 저장소는 수동이고 데이터 저장소의 클라이언트 (소프트웨어 구성 요소 또는 에이전트)는 활성 상태이며 논리 흐름을 제어합니다. 참여하는 구성 요소는 데이터 저장소에서 변경 사항을 확인합니다.

  • 클라이언트는 작업 (예 : 데이터 삽입)을 수행하기 위해 시스템에 요청을 보냅니다.

  • 계산 프로세스는 독립적이며 들어오는 요청에 의해 트리거됩니다.

  • 트랜잭션 입력 스트림의 트랜잭션 유형이 실행할 프로세스 선택을 트리거하는 경우 기존 데이터베이스 또는 저장소 아키텍처 또는 수동 저장소입니다.

  • 이 접근 방식은 DBMS, 라이브러리 정보 시스템, CORBA의 인터페이스 저장소, 컴파일러 및 CASE (컴퓨터 지원 소프트웨어 엔지니어링) 환경에서 널리 사용됩니다.

장점

  • 데이터 무결성, 백업 및 복원 기능을 제공합니다.

  • 에이전트가 서로 직접 통신하지 않으므로 확장 성과 재사용 성을 제공합니다.

  • 소프트웨어 구성 요소 간 일시적인 데이터의 오버 헤드를 줄입니다.

단점

  • 장애에 더 취약하고 데이터 복제 또는 복제가 가능합니다.

  • 데이터 저장소의 데이터 구조와 해당 에이전트 간의 높은 종속성.

  • 데이터 구조의 변경은 클라이언트에 큰 영향을 미칩니다.

  • 데이터의 진화는 어렵고 비용이 많이 듭니다.

  • 분산 데이터를 위해 네트워크에서 데이터를 이동하는 비용.

칠판 아키텍처 스타일

Blackboard Architecture Style에서 데이터 저장소는 활성이고 클라이언트는 수동입니다. 따라서 논리적 흐름은 데이터 저장소의 현재 데이터 상태에 의해 결정됩니다. 중앙 데이터 저장소 역할을하는 블랙 보드 구성 요소가 있으며 내부 표현은 다른 계산 요소에 의해 구축되고 작동됩니다.

  • 공통 데이터 구조에서 독립적으로 작동하는 여러 구성 요소가 블랙 보드에 저장됩니다.

  • 이 스타일에서 구성 요소는 칠판을 통해서만 상호 작용합니다. 데이터 저장소는 데이터 저장소가 변경 될 때마다 클라이언트에게 경고합니다.

  • 솔루션의 현재 상태는 칠판에 저장되고 처리는 칠판의 상태에 의해 트리거됩니다.

  • 시스템은 다음과 같은 알림을 보냅니다. trigger 데이터가 변경되면 클라이언트에 데이터를 보냅니다.

  • 이 접근 방식은 음성 인식, 이미지 인식, 보안 시스템 및 비즈니스 리소스 관리 시스템 등과 같은 특정 AI 애플리케이션 및 복잡한 애플리케이션에서 발견됩니다.

  • 중앙 데이터 구조의 현재 상태가 실행할 프로세스를 선택하는 주요 트리거 인 경우 저장소는 블랙 보드가 될 수 있으며이 공유 데이터 소스는 활성 에이전트입니다.

  • 기존 데이터베이스 시스템과의 주요 차이점은 블랙 보드 아키텍처에서 계산 요소의 호출이 외부 입력이 아닌 블랙 보드의 현재 상태에 의해 트리거된다는 것입니다.

Blackboard 모델의 일부

칠판 모델은 일반적으로 세 가지 주요 부분으로 표시됩니다.

Knowledge Sources (KS)

지식 소스 (일명 Listeners 또는 Subscribers구별되고 독립적 인 단위입니다. 문제의 일부를 해결하고 부분적인 결과를 집계합니다. 지식 소스 간의 상호 작용은 칠판을 통해 고유하게 이루어집니다.

Blackboard Data Structure

문제 해결 상태 데이터는 응용 프로그램 종속 계층으로 구성됩니다. 지식 소스는 문제에 대한 해결책으로 점진적으로 이끄는 칠판을 변경합니다.

Control

Control은 작업을 관리하고 작업 상태를 확인합니다.

장점

  • 지식 소스를 쉽게 추가하거나 업데이트 할 수있는 확장 성을 제공합니다.

  • 모든 지식 소스가 서로 독립적이므로 병렬로 작업 할 수있는 동시성을 제공합니다.

  • 가설에 대한 실험을 지원합니다.

  • 지식 소스 에이전트의 재사용을 지원합니다.

단점

  • 칠판의 구조 변경은 칠판과 지식 소스 사이에 밀접한 의존성이 존재하기 때문에 모든 에이전트에 중대한 영향을 미칠 수 있습니다.

  • 대략적인 솔루션 만 예상되므로 추론을 종료 할시기를 결정하기 어려울 수 있습니다.

  • 여러 에이전트의 동기화에 문제가 있습니다.

  • 시스템 설계 및 테스트의 주요 과제.