Spanner Omni 개요

Spanner Omni는 온프레미스 데이터 센터, 퍼블릭 클라우드, 노트북에 Google의 분산 데이터베이스 기술을 배포할 수 있는 Spanner의 다운로드 가능 버전입니다. Paxos 기반 복제, 자동 샤딩, 소프트웨어 정의 TrueTime API를 사용하여 수평 확장성, 고가용성, ACID 규정 준수, 강력한 외부 일관성을 비롯한 핵심 Spanner 기능을 제공합니다.

Spanner Omni는 관계형, 그래프, 벡터, 키-값 데이터 모델을 전체 텍스트 및 운영 분석 기능과 통합합니다. Spanner와 마찬가지로 Spanner Omni는 GoogleSQL, PostgreSQL, Spanner 그래프 언어를 지원합니다. 다양한 환경에서 교차 환경 복원력, 애플리케이션 이식성, 일관된 개발 스택을 달성할 수 있습니다. Spanner Omni는 다음을 포함한 배포 옵션을 지원합니다.

  • 가상 머신
  • Linux 컨테이너
  • Kubernetes 클러스터

Spanner Omni 미리보기 버전 제한사항

Spanner Omni의 미리보기 버전에는 다음과 같은 주목할 만한 예외를 제외하고 Spanner의 핵심 기능이 포함되어 있습니다.

  • 엔터프라이즈 보안 기능과 TLS 암호화는 지원되지 않습니다.

  • 배포를 만든 후 90일이 지나면 Spanner Omni에서 데이터 쓰기를 중지합니다.

  • 백업복원은 지원되지 않습니다.

전체 기능을 갖춘 버전을 사전 체험하려면 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 포드당 vCPU 4개, RAM 16GB
개발자 (노트북, 데스크톱) macOS (M1, M2, M3) 4GB RAM, 10GB 디스크 공간

저장소의 경우 ext4 파일 시스템이 있는 전용 솔리드 스테이트 드라이브 (SSD) 스토리지를 사용하는 것이 좋습니다.

연결 및 개발

Spanner Omni에 연결하여 애플리케이션을 개발하려면 다음 도구를 고려하세요.

  • 클라이언트 라이브러리: Spanner Omni 엔드포인트를 지정하여 Java 및 Go용 기존 Spanner 클라이언트 라이브러리를 사용할 수 있습니다. 예를 들어 Java에서는 setExperimentalHost("http://localhost:15000")를 설정합니다.

  • PGAdapter: 이 프록시를 사용하면 기존 PostgreSQL 애플리케이션이 표준 PostgreSQL 유선 프로토콜을 사용하여 Spanner Omni PostgreSQL 언어 데이터베이스에 연결할 수 있습니다.

  • 진단: 전용 spanner admin diagnostics create 명령어가 문제 해결을 위해 로그, 트레이스, 스레드 스택을 수집합니다.