데이터베이스는 로컬 호스팅이든 클라우드 호스팅이든 모든 프로그램의 핵심 구성 요소입니다.
클라우드 호스팅에 대한 요구가 증가함에 따라 일관성, 안정성 및 가용성을 제공하고 온라인 배포를 지원하는 클라우드 기반 관계형 데이터베이스에 대한 요구가 증가하고 있습니다.
클라우드 기반 데이터베이스의 예는 Google Cloud Spanner입니다.
이 문서에서 모든 기능, 사용 사례, 가격 및 기타 세부정보를 포함하여 Google Cloud Spanner를 심층적으로 살펴보겠습니다.
구글 클라우드 스패너?
NewSQL 방법론을 채택한 관계형 DBMS는 Google Cloud Spanner입니다. ACID(원자성, 일관성, 격리 및 내구성) 준수를 보장하며 특히 OLTP(온라인 트랜잭션 처리)에 적합합니다.
여전히 스케일 아웃 아키텍처를 지원하며 NoSQL 시스템과 마찬가지로 확장성이 뛰어납니다. 스케일 아웃 설계를 사용하면 기존 클러스터에 더 많은 노드를 추가하여 데이터 저장 및 계산을 분산하고 확장성을 달성하는 것이 간단합니다.
NoSQL과 NewSQL의 장점은 모두 Google Cloud Spanner에서 제공합니다.
Google의 글로벌 동기화 시계인 TrueTime은 Google Spanner 일관성의 기반입니다. Google은 모든 Google 클라우드 서비스 및 서버에서 액세스할 수 있는 널리 배포되고 가용성이 높은 글로벌 시계인 TrueTime을 만들었습니다.
TrueTime은 T1이 생성되기 전에 T2가 생성된 한 새로 생성된 타임스탬프(예: T2)가 항상 모든 타임스탬프 T1보다 높도록 합니다. 결과적으로 True-time은 단조롭게 증가하는 타임스탬프를 생성할 수 있습니다. 즉, 전체 도메인에서 지속적으로 증가할 것입니다.
그런 다음 애플리케이션은 이를 사용하여 각 트랜잭션에 고유한 상승 타임스탬프를 부여할 수 있습니다. Google Cloud Spanner에 게시된 모든 데이터는 TrueTime을 사용하여 타임스탬프를 수신하며 이 타임스탬프는 전 세계적으로 신뢰할 수 있습니다.
즉, Spanner에 보관된 각 트랜잭션에는 Spanner가 트랜잭션을 처리한 정확한 순간을 기록하는 특수 타임스탬프가 연결됩니다.
이러한 타임스탬프의 도움으로 Google Cloud Spanner는 쓰기를 방지하지 않고 전 세계 모든 지점에서 안정적인 읽기를 제공할 수 있습니다.
또한 Google Cloud Spanner는 모든 트랜잭션에 대해 엄격한 동시성 제어를 제공할 수 있습니다.
Google Cloud Spanner는 여러 위치에서 모든 트랜잭션을 수행(및/또는 복제)했을 수 있지만 외부 사용자에게는 모두 순차적으로 발생한 것처럼 보입니다. 즉, Google Cloud Spanner는 외부 사용자를 위한 단일 머신 데이터베이스로 작동합니다.
트랜잭션에서 후속 작업 및 쿼리에 사용할 수 있는 글로벌 타임스탬프 순서는 Google Cloud Spanner에서 제공합니다. 사용자는 이전 데이터베이스 시스템의 느린 성능+강력한 보증 또는 뛰어난 성능+약한 보증 사이에서 결정해야 했습니다.
그러나 Google Cloud Spanner는 강력한 보증, 높은 트랜잭션 무결성, 더 빠른 성능을 제공할 수 있습니다. 개발자는 많은 트랜잭션 간의 충돌이나 경합에 대해 걱정하기보다는 각 트랜잭션이 유효한지 확인하고 애플리케이션 논리에 신경을 써야 합니다.
특징
- 대부분의 앱은 생성, 통합 및 테스트가 간단합니다.
- NoSQL과 SQL을 모두 지원하여 기존 SQL 데이터베이스의 확장성 및 성능 문제를 해결하여 NewSQL 데이터베이스라고 할 수 있습니다.
- 원자 시계와 GPS 기술을 사용하여 시간을 동기화하기 때문에 정밀도가 상당히 뛰어납니다.
- 교차 테이블 트랜잭션이 지원됩니다.
- 백업, 복구, SLA 인스턴스 생성 기능 등을 포함한 정교한 관리 및 관리 기능이 포함되어 있습니다.
- 로컬 및 다중 지역 인스턴스의 경우 99.999% 가용성을 제공합니다.
- 방해가 거의 없이 수평으로 부드럽게 확장됩니다. 수평 확장성의 이점은 서버가 추가될 때 시스템 성능이 크게 향상된다는 것입니다.
- 단일 데이터 수명 주기를 구축하기 위해 실시간 빅 데이터 쿼리를 제공합니다.
- 요청 볼륨 및 데이터 크기에 따라 자동으로 데이터를 샤딩합니다.
- 보조 색인이 지원된다는 사실에도 불구하고 자동으로 보조 색인을 선택하지 않습니다.
- 투명한 복제는 여러 설정과 지역에서 제공됩니다.
- 정교한 분석과 데이터를 제공합니다.
- 다양한 애플리케이션의 데이터와 스토리지 시스템 동기화됩니다.
- 데이터베이스 테이블 간의 물리적 종속성이 가능합니다.
- 지속적인 데이터 복구를 위해 PITR(Point-In-Time-Recovery)을 제공합니다. 또한 마이크로초 수준까지 데이터를 검색할 수 있습니다.
- CMEK(고객 관리 암호화 키), IAM 통합, 데이터 계층 암호화 및 기타 엔터프라이즈 수준 보안 조치가 포함됩니다.
사용 사례
1. 전세계 전자상거래 사이트
제품 주문, 지불 수집 및 재고 업데이트는 모두 전자 상거래를 정의하는 트랜잭션 시스템 기능입니다. 많은 전자 상거래 웹사이트에서 국가적 또는 전 세계적인 발자국을 볼 수 있습니다.
트랜잭션 데이터베이스를 전역적으로 일관성 있게 만드는 것은 데이터 무결성을 보장하고 데이터 일관성 문제를 해결하기 위한 창의적인 소프트웨어 엔지니어링 솔루션의 필요성을 최소화하는 것을 포함하여 몇 가지 이점이 있습니다.
2. 실시간 분석 처리
Google Cloud Spanner에는 분석 처리를 용이하게 하는 수많은 첨단 기능이 포함되어 있습니다. 이러한 개선 사항에는 쿼리 속도 향상, 인덱스 분할, 데이터 로드 등이 포함됩니다. 따라서 이 RDBMS는 완전히 클라우드 기반인 전 세계 분석 처리 시스템을 위한 탁월한 옵션입니다.
3. 재해 복구(DR)
DR은 중요하지만 적용하기가 매우 어렵습니다. 특히 지역 재해로부터 보호하기 위해 멀리 떨어진 지리적 DR 위치를 사용하는 권장 관행을 고수하는 경우 더욱 그렇습니다. 실제로 많은 IT 회사에서 백업을 만들고 백업이 필요하지 않기를 바랍니다.
DR의 경우 Spanner는 실용적인 미래 경로를 제공합니다. Spanner 데이터베이스의 데이터를 원격 위치로 복제하면 백업 테이프의 데이터를 사용하여 다시 빌드할 필요 없이 애플리케이션을 복원할 수 있습니다.
다른 위치에 새 컴퓨터 리소스를 만들고 기본 사이트를 사용할 수 있게 되는 경우 백업 Spanner 데이터베이스 시스템에 연결합니다. 단순성으로 인해 DR은 이제 더 많은 IT 부서에서 액세스할 수 있습니다.
4. 응답 시간을 늘리면서 수동 개입 최소화
사용자 수가 미리 결정된 임계값 수준에 도달하면 일반적인 데이터베이스의 성능이 저하됩니다. 성능 측정 평가 및 필요에 따라 데이터베이스 확장을 포함하여 성능을 복원하는 데는 여러 단계가 필요합니다.
서버의 최대 크기가 있기 때문에 수평적 확장은 어려운 반면 수직적 확장은 간단합니다. 이러한 상황에서 Google Cloud Spanner는 개입이 거의 없이 수평적 확장을 관리하므로 실용적인 선택이 될 수 있습니다.
5. 게임 데이터베이스
온라인 게임, 특히 멀티플레이어 게임에서 플레이어의 성능과 데이터를 추적하려면 복잡한 데이터베이스 구조가 필요합니다. 샤딩이 필요한 경우가 많다는 점을 감안할 때 많은 기업이 이러한 복잡성을 성장시키고 관리하는 데 어려움을 겪고 있습니다.
또한 NoSQL 데이터베이스는 기본 데이터 모델의 변경 사항에 적응할 수 있기 때문에 게임을 위한 탁월한 옵션입니다. 중복성은 게임 소프트웨어의 중요한 구성 요소이기도 합니다.
이 모든 특성을 지원하기 때문에, Google Spanner는 게임 데이터베이스에 적합한 옵션입니다. 이러한 사용 사례를 시연하면 Google Cloud Spanner가 얼마나 다재다능한지 확인하고 귀하의 비즈니스에 적합한지 여부를 판단할 수 있을 것입니다.
6. 금융 서비스
이 부문의 규제 제한과 고객 기대치는 폭풍우입니다. 규제 기관, 은행, 핀테크 기업은 지속적이고 완벽하게 소통해야 합니다.
또한 수억 건의 거래는 지불 게이트웨이 및 온라인 뱅킹 또한 복잡한 사기 방지 및 결제 절차를 거칩니다.
과거에는 이러한 지속적인 데이터 유입을 처리하기 위해 과거 데이터베이스를 세심하게 재구성해야 했으며 불안정한 사용자 지정 솔루션을 사용했습니다. 폭풍은 Google Cloud Spanner로 쉽게 처리됩니다.
한정
그럼에도 불구하고 데이터베이스 보기를 처리할 수 없고 세분화된 권한 또는 역할 설정이 부족하며 모든 노드를 완전히 활용하기 위한 몇 가지 해결 방법이 필요한 등 특정 제한 사항이 있습니다. 선택하는 동안 이러한 제한 사항도 염두에 두십시오.
가격 정책
Spanner의 비용은 간단하고 예측 가능합니다. 데이터베이스의 테이블 및 보조 인덱스가 활용하는 스토리지(사전 프로비저닝되지 않음), 백업 스토리지, 네트워크 송신량, 인스턴스의 컴퓨팅 용량(노드 또는 처리 단위 수로 측정)에 대해서만 비용을 지불합니다.
결론
진정으로 놀라운 제품인 Google Spanner는 Google의 엄청난 기술력을 보여주는 훌륭한 예입니다.
구글이 이런 획기적인 제품을 계속 출시한다면 머지 않아 다른 클라우드를 제치고 경쟁자로 떠오를 것이다.
댓글을 남겨주세요.