< Traditional Database Architectures >
Client-server databases have been a standard since the 1980s
클라이언트-서버 데이터베이스는 1980년대부터 표준
- 클라이언트 서버 데이터베이스용으로 설계된 것은 수년동안 표준이었음
- 클라이언트 서버 데이터베이스는 고도로 정규화되는 경향이 있음
- 비즈니스 로직은 클라이언트가 아닌 데이터베이스 서버 자체에서 제공되는 경향
- 필드 및 테이블 간의 관계에 대한 제약 조건을 사용하여 구현
- 저장 프로시저 및 트리거 클라이언트는 클라이언트 서버 아키텍처에서 데이터베이스 클라이언트에 직접 연결됨
Three-tier architectures pulled the business logic
from the database into the application tier
3계층 아키텍처는 데이터베이스에서 애플리케이션 계층으로 비즈니스 로직을 가져옴
- 비즈니스 로직와 트랜잭션 관리를 인티어 아키텍처 데이터베이스가 아닌 애플리케이션의 도메인이어야 한다고 주장
- 비즈니스 로직을 애플리케이션 코드에 넣으면 데이터베이스는 더 많은 저장소 계층이 되고,
중간 계층은 복잡성을 처리하고 저장 프로시저가 있는 경우 더 적은 수의 저장 프로시저가 되도록 함 - 이 아키텍처에서는 클라이언트는 데이터베이스에 연결하지 않고 애플리케이션 서버에 직접 연결
Service-oriented architectures expose the application logic over the internet
서비스 지향 아키텍처는 인터넷을 통해 애플리케이션 로직을 노출
- 인터넷이 성장하고 더 다양한 유형의 클라이언트가 등장함에 따라
중개 애플리케이션 서버를 통해 연결해 서비스 지향 아키텍처로 가는 경향 - 데이터베이스는 방화벽 뒤에 있으며 서비스 뒤에 캡슐화되거나 숨겨져 있어 네트워크를 통해 기능 제공
- 클라이언트는 데이터베이스의 세부 사항에 대해 알 필요가 없어짐
- 클라이언트는 HTTP로만 서비스에 연결한 다음 텍스트 기반 형식을 사용해 데이터를 전달
In the real world, you'll find a mix of all these architectures
실제 세계에서는 이러한 모든 아키텍처가 혼합되어 있음
- 시간이 지남에 따라 새로운 기능과 데이터가 추가되면 단일 데이터베이스와 함께 아키텍처가 혼합
Understanding the target database architecture is important
when planning a database migration
데이터베이스 마이그레이션을 계획할 때 대상 데이터베이스 아키텍처를 이해하는 것이 중요