본문 바로가기
CS/SW Architect

[Architectural style] Data-centered architecture의 개념과 유형

by Warehaus 2024. 1. 31.

 

Data-Centered Architecture

 

Data-centered architecture 는 모든 주변 Software component들과 공유하는 중앙집중형 데이터 저장소를 갖는 설계 스타일이다.

Data-Centric Architecture로도 불리운다.

 

Datacentered architecture

 

Data-centered architecture에서 각 client components 는 서로 직접 메시지를 전달하지 않고, Data store를 통해 통신을 수행한다.

특정 client 간 데이터 송-수신이 필요한 경우 별도의 Data store 추가 구성도 가능하다.

 

주요 구성요소

 

Data-centered architecture는 크게 두가지 구성 요소를 갖는다.

 

1. Data store

2. Data client

 

Data-centered architecture에서의 Data client 는 Data store를 통해서만 상호작용 하는 특징을 지니고 있다.

 

 

Data-centered architecture 의 장/단점

 

Data-centered architecture의 장,단점은 다음과 같습니다.

구분 품질속성 설명
장점 Scalability - 새로운 클라이언트, Data store의 추가가 용이하다.
- Data store는 client로부터 독립적으로 동작하며, Data client 역시 상호간 독립적이다. 이러한 특성으로 확장이 용이함.
Modifiability - Client 또는 Data store 변경이 다른 컴포넌트에 영향을 미치지 않는다.
Reusability - Data client는 재사용 가능하다.
단점 Availability & Security - Data store의 결함이 전체 시스템에 영향
- 가용성, 보안성에 취약
Modifiability - Data store 와 client 구조 간 의존성 높음

 

반응형

Data-centered architecture 유형

 

Data centered architecture 의 유형은 다음과 같습니다.

 

 

Repository

Passive 한 data store와 active한 client를 지님

 

예시 : DBMS, Information system

 

Blackboard

Active 한 Data store와 Passive한 Client 구성

- Blackboard의 client는 knowledge source, listener 또는 subscriber 등으로 불리운다.

 

예시 : Knowledge based AI syastem, 음성 인식 시스템

 

 

 

 

 

Data centered architecture 의 개별 유형인 Repository, Black board에 대해서는 다음 포스팅에서 정리해 보려고 합니다.

 

SW를 개발하다 보면 자주 접하는 Architecture style 이며, 설계하고자 하는 Software에 비슷한 유형의 Client가 많은 활용되는 경우 Scalability 보장 측면에서 본 설계를 채택해 주는 것이 유리할 것으로 보여집니다.