Spanner Omni는 Spanner의 다운로드 가능한 버전으로, 온프레미스 데이터 센터, 퍼블릭 클라우드, 노트북에 Google의 분산 데이터베이스 기술을 배포할 수 있습니다. Paxos 기반 복제, 자동 샤딩, 소프트웨어 정의 TrueTime API를 사용하여 수평 확장성, 고가용성, ACID 규정 준수, 강력한 외부 일관성을 비롯한 핵심 Spanner 기능을 제공합니다.
Spanner Omni는 관계형, 그래프, 벡터, 키-값 데이터 모델을 전체 텍스트 및 운영 분석 기능과 통합합니다. Spanner 와 마찬가지로 Spanner Omni는 GoogleSQL, PostgreSQL, Spanner Graph Language를 지원합니다. 다양한 환경에서 교차 환경 복원력, 애플리케이션 이동성, 일관된 개발 스택을 달성할 수 있습니다. Spanner Omni는 다음을 포함한 배포 옵션을 지원합니다.
- 가상 머신
- Linux 컨테이너
- Kubernetes 클러스터
Spanner Omni 미리보기 버전 제한사항
Spanner Omni의 미리보기 버전에는 다음과 같은 주목할 만한 예외를 제외하고 Spanner의 핵심 기능이 포함되어 있습니다.
엔터프라이즈 보안 기능 및 TLS 암호화는 지원되지 않습니다.
Spanner Omni는 배포를 만든 후 90일이 지나면 데이터 쓰기를 중지합니다.
전체 기능이 포함된 버전을 사용해 보려면 Google에 문의하세요.
주요 특징
Spanner Omni는 다음과 같은 기능을 제공합니다.
배포 유연성: Linux 또는 macOS에서 Spanner Omni를 실행합니다. Spanner Omni는 퍼블릭 클라우드 환경(예: Google Cloud (Google Kubernetes Engine(GKE) 및 Cloud Storage) 및 Amazon Elastic Kubernetes Service(Amazon EKS) 및 Amazon Elastic Compute Cloud(Amazon EC2)), 온프레미스, 노트북을 지원합니다.
높은 확장성: Spanner Omni는 데이터를 자동으로 샤딩하고 샤드를 분산하여 읽기 및 쓰기를 위한 탄력적 확장을 달성할 수 있습니다.
고가용성: Spanner Omni는 여러 배포 토폴로지를 제공합니다. Spanner Omni는 영역 또는 클러스터 장애 발생 시 고가용성을 제공하기 위해 다중 영역 및 다중 클러스터 배포를 제공합니다.
강력한 외부 일관성: Spanner Omni는 모든 환경에 배포할 수 있는 소프트웨어 기반 TrueTime을 사용하여 전역 트랜잭션 일관성을 제공합니다.
상호 운용 가능한 멀티 모델: Spanner Omni는 여러 데이터 모델 (관계형, 키-값, 그래프, 벡터)과 기능 (전체 텍스트 검색, 분석 처리)을 지원하며 다양한 데이터 모델에서 교차 모델 쿼리 및 ACID 규정 준수 트랜잭션을 제공합니다.
익숙한 인터페이스: 대화형 쿼리를 위한 SQL 셸이 포함된 Spanner CLI를 사용하여 데이터와 상호작용합니다. Spanner Omni는 기존 애플리케이션을 마이그레이션할 수 있는 GoogleSQL, PostgreSQL 언어, GQL을 지원합니다.
배포 토폴로지
Spanner Omni는 리전, 영역, 서버의 계층 구조를 사용하여 배포 구성을 정의합니다. Spanner Omni는 다음과 같은 배포 구성을 제공합니다.
단일 서버 - Spanner Omni는 단일 머신에서 실행됩니다. 이 토폴로지는 단일 머신에서 실행되므로 로컬 개발에 적합한 옵션입니다. 이 토폴로지를 업그레이드하면 다운타임이 발생합니다.
단일 영역 (또는 영역별) - 모든 Spanner Omni 서버는 하나의 영역에 속합니다. 이 배포 구성에는 서버를 3개 이상 사용합니다. 최적의 가동시간을 위해 이 토폴로지는 단일 영역 장애로 인해 중단이 발생할 수 있으므로 가용성 목표가 낮습니다.
다중 영역 (또는 리전) - Spanner Omni는 여러 영역에 서버를 분산합니다. 모든 영역은 단일 위치에 있습니다. 다중 영역 배포의 경우 영역을 3개 이상 사용합니다. 각 영역에는 서버가 하나 이상 있어야 합니다. 각 영역에서 서버 3개를 사용하는 것이 좋습니다. 이 배포 구성은 단일 영역 배포보다 가용성이 높습니다.
다중 클러스터 (또는 멀티 리전) - Spanner Omni 서버는 여러 클러스터의 여러 영역에 있습니다. 고가용성을 위해 2개 이상의 클러스터에서 3개의 영역을 사용하고 각 영역을 3개 이상의 서버로 구성합니다.
시스템 요구사항
성능을 최적화하려면 서버 배포에 다음 최소 권장 요구사항을 사용하세요.
| 환경 | OS 또는 플랫폼 | 하드웨어 권장사항 |
|---|---|---|
| 온프레미스 | Linux (RHEL 9, Ubuntu 22) | vCPU당 4GB RAM, 20GB 이상의 디스크 공간 |
| 클라우드 (Google Cloud 및 AWS) | VM 또는 Kubernetes 포드 | VM 또는 Kubernetes 포드당 4개의 vCPU, 16GB RAM |
| 개발자 (노트북, 데스크톱) | macOS (M1, M2, M3) | 4GB RAM, 10GB 디스크 공간 |
스토리지의 경우 ext4 파일 시스템이 있는 전용 솔리드 스테이트 드라이브 (SSD) 스토리지를 사용하는 것이 좋습니다.
연결 및 개발
Spanner Omni에 연결하고 애플리케이션을 개발하려면 다음 도구를 고려하세요.
클라이언트 라이브러리: Spanner Omni 엔드포인트를 지정하여 기존 Spanner 클라이언트 라이브러리(Java 및 Go)를 사용할 수 있습니다. 예를 들어 Java에서
setExperimentalHost("http://localhost:15000")를 설정합니다.PGAdapter: 이 프록시를 사용하면 기존 PostgreSQL 애플리케이션이 표준 PostgreSQL 유선 프로토콜을 사용하여 Spanner Omni PostgreSQL 언어 데이터베이스에 연결할 수 있습니다.
진단: 전용
spanner admin diagnostics create명령어 는 문제 해결을 위해 로그, 트레이스, 스레드 스택을 수집합니다.