Data-Centered Architecture
Data-centered architecture 는 모든 주변 Software component들과 공유하는 중앙집중형 데이터 저장소를 갖는 설계 스타일이다.
Data-Centric 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 보장 측면에서 본 설계를 채택해 주는 것이 유리할 것으로 보여집니다.
'CS > SW Architect' 카테고리의 다른 글
읽으면서 배우는 소프트웨어 - MSA(Micro Service Architecture) (0) | 2024.03.01 |
---|---|
[Architectural Style] Data flow architecture 개념요약과 유형 (0) | 2024.02.01 |
품질속성 만족을 위한 잘 알려진 설계전술, Tactic의 개념과 종류 (0) | 2024.01.27 |