< Optimizing Databases for the Cloud >
Microservice architectures are the trend when developing cloud-native applications
마이크로서비스 아키텍처는 클라우드 네이티브 애플리케이션을 개발할 때 트렌드
- 대규모 애플리케이션을 더 작고 단순한 독립 서비스로 분할
- 각 분할된 마이크로 서비스는 자체 데이터에 대한 책임을 가짐
- 서비스를 설계하여 서비스 간의 종속성을 최소화하기 위해서는 마이크로 서비스 간의 결합을 느슨하게 결합하여
한 서비스가 세부 정보를 이해하지 않고도 다른 서비스를 사용할 수 있게 함 - 서비스는 단순히 JSON 또는 XML 형식의 텍스트
- 독립적으로 배포 및 버전 관리가 될 수 있어야 함
Optimizing for the cloud might require splitting large applications
and databases into smaller ones
클라우드에 최적화하려면 대규모 애플리케이션과 데이터베이스를 더 작은 애플리케이션으로 분할해야 할 수 있음
- 애플리케이션이 클라우드 데이터베이스에 최적화되어 있을 때 각 마이크로 서비스가 자체 데이터를 담당하므로
여러 개의 작은 조각으로 분할되어야 함 - 마이크로서비스는 각각에 따라 데이터베이스 유형을 선택할 수 있으므로
일부 서비스의 경우 각 개별 서비스에 가장 적합한 데이터베이스 사용
Choose the right storage type for each microservice
각 마이크로 서비스에 적합한 스토리지 유형 선택
- 관계형 데이터베이스 사용
- 온라인 트랜잭션 처리
- 강력한 스키마와 강력한 일관성이 필요한 경우 - NoSQL 데이터베이스 사용
- 관계형 데이터베이스 시스템보다 간단하고 저렴
- 스키마 구조 데이터베이스를 허용 - 웨어하우스 (BigQuery, Cloud Storage와 같은 데이터 검색 솔루션)
- 빅데이터 분석 또는 개체 스토리지를 위한 더 높은 수준의 유연성이 필요한 경우
- 매우 저렴하고 무제한 데이터를 지원
Databases-as-a-service products reduce administrative overhead and cost
서비스로서의 데이터베이스 제품은 관리 오버헤드와 비용을 줄임