본문 바로가기
Database

Cloud Spanner

by BTC_문땅훈 2023. 11. 24.

 

 

 

 

베하 ~! 😊

 

 

오늘은 '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을 사용하여 데이터를 쿼리 및 관리 가능
  • ⇒ 사용자들이 익숙한 쿼리 언어를 사용하여 쉽게 마이그레이션할 수 있도록 도와줌

[출처] https://puzzle-puzzle.tistory.com/entry/%EA%B5%AC%EA%B8%80-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%94%8C%EB%9E%AB%ED%8F%BC-GCP-Cloud-Spanner

 

 

 

Cloud Spanner Architecture

[출처] https://information.koreainfoguide.com/entry/%EA%B5%AC%EA%B8%80-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%94%8C%EB%9E%AB%ED%8F%BC-GCP-Cloud-Spanner

 

 

(1) 다중 리전 아키텍처

  • 여러 지역과 데이터 센터에 걸쳐 다중 리전 아키텍처 제공
  • 데이터의 안정성과 가용성 보장
  • 전 세계 어디에서나 접근 가능한 글로벌 데이터베이스 형성

Cloud Spanner 인스턴스는 한 region 내에 있거나 여러 regions에 걸쳐있을 수 있는 N 개의 클라우드 zones에서 데이터를 복제합니다. 데이터베이스 배치는 구성 가능하므로 데이터베이스를 배치할 지역을 선택할 수 있습니다. 이 아키텍처는 고 가용성 및 global 배치를 허용합니다.

 

(2) 노드와 인스턴스

  • 여러 노드로 구성된 클러스터를 사용 (이러한 노드들로 수평적 확장 가능)
  • 각 노드는 데이터베이스 인스턴스를 호스팅함

(3) 분산 트랜잭션 처리

  • 전역 분산 트랜잭션 지원
  • 여러 지역에서 동시에 발생한 트랜잭션 관리 가능 => ACID 속성을 유지 및 글로벌 규모에서의 일관성 보장
  1. 자동 샤딩: Cloud Spanner는 데이터의 양이 증가함에 따라 자동으로 데이터를 분산시켜 성능을 최적화하는 샤딩을 수행합니다. 이는 수평 확장이 가능하게 하며, 사용자는 추가적인 구성이나 관리 없이도 안정적인 성능을 유지할 수 있습니다.
  2. 백업 및 복제: 데이터의 안정성을 보장하기 위해 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

댓글