베하 ~! 😊
오늘은 'Cloud Spanner'에 대해 알아보겠습니다.
Cloud Spanner
Google Cloud Platform (GCP)에서 제공하는 분산형 데이터베이스 서비스로, 관계형 데이터베이스의 기능과 비 관계형 수평 확장성을 결합한 데이터베이스 서비스 및 스토리지 솔루션
- 글로벌 규모에서 데이터를 효과적으로 관리하고 조회할 수 있는 고성능 및 고가용성 제공
- NewSQL (NewSQL = RDB(ACID지원) + NoSQL(Scale-out지원))
여기에 몇 가지 주요 특징을 살펴보겠습니다.
특징
(1) 분산 데이터베이스의 효율적인 활용
- Cloud Spanner는 분산 데이터베이스로서, 데이터를 여러 위치에 분산 저장하여 높은 가용성과 성능을 보장
- ⇒ 글로벌 규모에서 어떤 지역에서든 데이터에 빠르게 액세스할 수 있습니다.
(2) 수평 확장성과 자동 샤딩
- 수평 확장 가능하며, 데이터 양이 증가하면 자동으로 샤딩을 수행하여 성능 유지
- ⇒ 데이터베이스의 용량을 증가시키면서도 성능에 영향을 미치지 않게 해줍니다.
(3) 트랜잭션의 일관성과 ACID 속성
- 전역 분산 트랜잭션을 지원하며, ACID(원자성, 일관성, 고립성, 지속성) 속성 제공
- ⇒ 데이터베이스의 안정성과 일관성을 보장하여 신뢰성 있는 데이터 관리를 가능
(4) 다중 데이터 센터 간의 데이터 복제
- Cloud Spanner는 글로벌 서비스로써, 여러 데이터 센터 간에 데이터를 실시간으로 복제하여 가용성 향상
- ⇒ 장애 발생 시에도 데이터의 손실 없이 서비스를 유지 가능
(5) SQL 호환성
- 기존의 관계형 데이터베이스와 호환되는 SQL을 사용하여 데이터를 쿼리 및 관리 가능
- ⇒ 사용자들이 익숙한 쿼리 언어를 사용하여 쉽게 마이그레이션할 수 있도록 도와줌
Cloud Spanner Architecture
(1) 다중 리전 아키텍처
- 여러 지역과 데이터 센터에 걸쳐 다중 리전 아키텍처 제공
- 데이터의 안정성과 가용성 보장
- 전 세계 어디에서나 접근 가능한 글로벌 데이터베이스 형성
Cloud Spanner 인스턴스는 한 region 내에 있거나 여러 regions에 걸쳐있을 수 있는 N 개의 클라우드 zones에서 데이터를 복제합니다. 데이터베이스 배치는 구성 가능하므로 데이터베이스를 배치할 지역을 선택할 수 있습니다. 이 아키텍처는 고 가용성 및 global 배치를 허용합니다.
(2) 노드와 인스턴스
- 여러 노드로 구성된 클러스터를 사용 (이러한 노드들로 수평적 확장 가능)
- 각 노드는 데이터베이스 인스턴스를 호스팅함
(3) 분산 트랜잭션 처리
- 전역 분산 트랜잭션 지원
- 여러 지역에서 동시에 발생한 트랜잭션 관리 가능 => ACID 속성을 유지 및 글로벌 규모에서의 일관성 보장
- 자동 샤딩: Cloud Spanner는 데이터의 양이 증가함에 따라 자동으로 데이터를 분산시켜 성능을 최적화하는 샤딩을 수행합니다. 이는 수평 확장이 가능하게 하며, 사용자는 추가적인 구성이나 관리 없이도 안정적인 성능을 유지할 수 있습니다.
- 백업 및 복제: 데이터의 안정성을 보장하기 위해 Cloud Spanner는 다중 데이터 센터 간에 데이터를 실시간으로 백업하고 복제합니다.(동기식 복제) 이를 통해 장애 발생 시에도 데이터의 손실 없이 서비스를 지속할 수 있습니다.
추가로 Cloud Spanner 인스턴스에 간단하게 db생성만 하고 끝내겠습니다 !
Create Cloud Spanner
(1) Cloud Spanner 인스턴스, db 생성
(2) DDL 생성
(3) 데이터 삽입
그럼 다음 시간에 봐요 ~
베빠 ~ 😊
'Database' 카테고리의 다른 글
Pub/Sub (0) | 2023.12.15 |
---|---|
Parquet 데이터 수정하기 (2) | 2023.12.08 |
Redis란 (0) | 2023.11.10 |
Transactional 애노테이션 상황별 commit, rollback 전략 (0) | 2023.10.27 |
[Database] AQueryTool 사용 방법(1) (0) | 2023.10.24 |
댓글