- 데이터베이스는 엔티티가 아니고 세부사항이라서 아키텍처의 구성요소 수준으로 끌어올릴 수 없다
- 데이터베이스는 데이터에 접근할 방법을 제공하는 유틸리티
- 뛰어난 아키텍트라면 저수준의 메커니즘이 시스템 아키텍처를 오염시키는 일을 용납하지 않는다
관계형 데이터베이스
- 관계형 데이터베이스의 기술이 얼마나 뛰어나든 그저 세부사항임일 뿐
- 데이터를 테이블에 행 단위로 배치한다는 관계형 데이터베이스의 특징은 전혀 중요 X
- 이는 오직 아키텍처의 외부 원에 위치한 최하위 수준의 유틸리티 함수만 알아야 한다
- 많은 데이터 접근 프레임워크가 테이블과 행이 객체 형태로 여기저기 돌아다니는데 이는 잘못된 설계
데이터베이스 시스템은 왜 이렇게 널리 사용되는가?
- 데이터베이스 시스템이 널리 장악할 수 있었던 것은 '디스크' 때문
- 디스크의 데이터 구조 때문에 시간 지연을 완화하기 위해 색인, 캐시, 쿼리 계획 최적화가 필요해졌다
- 이러한 시스템은 파일 시스템과 관계형 데이터베이스 관리 시스템
- 파일 시스템은 문서 기반이고, 데이터베이스 시스템은 내용 기반
- 각 시스템은 데이터를 빠르게 조작할 수 있도록 결국 관련있는 데이터를 RAM으로 가져온다
디스크가 없다면 어떻게 될까?
- 디스크는 점차 사라지며 RAM으로 대체되고 있다
- 이러면 데이터를 다양한 자료구조로 체계화할 것이며, 접근할 때는 포인터나 참조를 사용할 것이다
세부사항
- 데이터베이스가 세부사항이라고 말하는 이유는 바로 이러한 현실 때문
- 데이터베이스는 그저 메커니즘에 불과하며, 디스크 표면과 RAM 사이에서 데이터를 이리저리 옮길 때 사용할 뿐