클린아키텍쳐-데이터베이스는 세부사항이다

데이터베이스는 세부사항이다.

아키텍처 관점에서 볼 때 데이터베이스는 엔티티가 아니다. 즉 데이터베이스는 세부사항이라서 아키텍처의 구성요소 수준으로 끌어 올릴수 없다.

데이터 베이스는 데이터 모델이 아니다. 데이터 베이스는 일개 소프트웨어 일 뿐이다.

관계형 데이터베이스

애드거 커드는 1970년에 관계형 데이터 베이스의 원칙을 정의 했다.

관계형 데이블은 특정한 형식의 데이터에 접근하는 경우에는 편리하지만 데이터를 테이블에 행 단위로 배치한다는 자체는 아키텍처적으로 볼 때 전혀 중요하지 않다.

많은 데이터 접근 프레임 워크가 데이블과 행이 객체 형태로 시스템 여기저기에서 돌아다니게 허용하는데
이렇게하면 유즈케이스, 업무규칙, 심지어 UI조차도 관계형 데이터 구저에 결합되어 버린다.

데이터베이스 시스템은 왜 이렇게 널리 사용되는가?

디스크 때문 이다.

디스크 기술이 지닌 치명적인 한가지 특성으로 인해 괴롭힘을 당했다. 바로 느리다는 특성이다.

디스크가 없다면 어떻게 될까?

RAM에 저장되면 SQL을 이용해서 접근할 것인가? 아니다. 자료구조형태로 접근 할것이다.

세부사항

데이터베이스가 세부사항이라고 말하는 이유는 바로 이러한 현실 때문이다.

하지만 성능은?

성능은 아키텍처와 관련된 관심사가 아닌가? 당연히 아키텍처적인 관심사다

개인적인 일화

마케팅 캠페인 으로 SOA나 개념은 현실보다는 마케팅과 더 관련이 깊다.

참조