이 Codelab 정보
1. 개요
최종 업데이트: 2020년 7월 23일
Cloud Spanner란 무엇인가요?
Google Cloud Spanner는 복제본, 샤딩, 트랜잭션 처리를 자동으로 처리하는 전 세계에 분산된 ACID 호환 데이터베이스로, 사용 패턴에 맞게 신속하게 확장하여 제품의 성공을 보장할 수 있습니다.
주요 기능
- 확장성을 고려하여 설계된 관계형 데이터베이스: 고객이 관계형 데이터베이스에서 기대하는 모든 기능(스키마, SQL 쿼리, ACID 트랜잭션)에 대해 철저한 테스트를 거쳤으며 글로벌 단위로 확장할 준비가 되었습니다.
- 99.999% 가용성: Cloud Spanner는 멀티 리전 인스턴스에 업계 최고의 99.999% 가용성을 제공하여 99.99% 가용성에 비해 다운타임 발생이 10배 더 적으며 리전 및 멀티 리전 구성에서 투명한 동기식 복제를 제공합니다.
- 자동 샤딩: Cloud Spanner는 요청 부하 및 데이터 크기에 따라 데이터를 자동으로 샤딩하여 성능을 최적화합니다. 따라서 데이터베이스를 확장하는 방법을 고민하는 시간을 줄이고 비즈니스 확장에 집중할 수 있습니다.
학습할 내용
- Google Cloud 콘솔을 사용하여 Cloud Spanner 인스턴스 만들기
- Cloud Spanner 인스턴스에 새 데이터베이스를 만듭니다.
- sampledb를 사용하여 샘플 데이터를 로드하고 쿼리합니다.
- Cloud Spanner 인스턴스 삭제
2. 설정 및 요구사항
자습형 환경 설정
아직 Google 계정 (Gmail 또는 Google Apps)이 없으면 계정을 만들어야 합니다. Google Cloud Platform Console ( console.cloud.google.com)에 로그인하고 새 프로젝트를 만듭니다.
모든 Google Cloud 프로젝트에서 고유한 이름인 프로젝트 ID를 기억하세요(위의 이름은 이미 사용되었으므로 사용할 수 없습니다). 이 이름은 나중에 이 Codelab에서 PROJECT_ID로 참조됩니다.
그런 다음 Google Cloud 리소스를 사용하려면 Cloud 콘솔에서 결제를 사용 설정해야 합니다.
이 codelab을 실행하는 과정에는 많은 비용이 들지 않지만 더 많은 리소스를 사용하려고 하거나 실행 중일 경우 비용이 더 들 수 있습니다(이 문서 마지막의 '삭제' 섹션 참조).
Google Cloud 신규 사용자는 300달러 상당의 무료 체험판을 사용할 수 있습니다.
3. Cloud 콘솔에서 Spanner 열기
Google Cloud 콘솔에서 화면 왼쪽 상단의 메뉴 아이콘을 클릭하여 왼쪽 탐색을 엽니다.
아래로 스크롤하여 'Spanner'를 선택합니다.
이제 Cloud Spanner UI가 표시됩니다. 아직 Cloud Spanner API를 사용 설정하지 않은 프로젝트를 사용 중인 경우 API를 사용 설정하라는 대화상자가 표시됩니다. API를 이미 사용 설정한 경우 이 단계를 건너뜁니다.
계속하려면 '사용 설정'을 클릭합니다.
4. 인스턴스 만들기
먼저 Cloud Spanner 인스턴스를 만듭니다. UI에서 '인스턴스 만들기'를 클릭하여 새 인스턴스를 만듭니다.
'인스턴스 만들기'를 클릭하면 인스턴스를 만들 수 있는 페이지로 이동합니다. 인스턴스 이름을 입력하고 구성을 선택합니다.
리전 또는 멀티 리전 설정을 선택할 수 있습니다. 지역 설정에는 모든 복제본이 동일한 리전에 있고, 멀티 리전 설정에는 여러 리전에 읽기 복제본이 생성됩니다. '리전 구성 비교'를 클릭하여 구성을 비교할 수 있습니다.
구성을 선택하면 요약이 오른쪽 패널에 표시됩니다.
나중에 노드 수를 늘려 인스턴스에 더 많은 리소스를 제공하거나 인스턴스에 추가 리소스가 필요하지 않은 경우 노드 수를 줄일 수 있습니다.
'만들기'를 클릭하여 인스턴스를 만듭니다.
이제 Cloud Spanner 인스턴스를 사용할 수 있습니다.
5. 데이터베이스 만들기
새 데이터베이스를 만들려면 '데이터베이스 만들기'를 클릭합니다.
새 데이터베이스의 이름을 입력합니다. 원하는 경우 이 시점에서 스키마를 제공할 수도 있습니다.
이 단계에서는 스키마 제공을 건너뛰고 '만들기'를 클릭하여 빈 데이터베이스를 만듭니다.
'만들기'를 클릭하면 새 데이터베이스가 생성됩니다.
6. 샘플 데이터 로드 및 쿼리
이 Codelab에서는 sampledb를 사용하여 샘플 데이터를 로드하고 쿼리합니다. Sampledb에는 다양한 데이터 세트가 포함되어 있으며 기존 데이터베이스에 데이터를 가져올 수 있습니다.
Google Cloud Shell에서 프로그램을 실행합니다. 이 프로젝트에 Google Cloud Shell을 처음 사용하는 경우 상단 탐색 메뉴에 Google Cloud Shell 로고가 표시됩니다. Cloud Shell을 눌러 활성화합니다.
활성화되면 하단에 콘솔이 표시됩니다.
콘솔에서 sampledb 저장소를 클론하고 안내에 따라 종속 항목을 설치합니다.
$ git clone https://github.com/cloudspannerecosystem/sampledb.git
저장소를 클론한 후 새 디렉터리로 이동하여 가상 환경을 만들고 필요한 요구사항을 설치합니다.
$ cd sampledb $ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
종속 항목이 설치되면 sampledb를 실행하여 샘플 데이터가 포함된 새 데이터베이스를 만들 수 있습니다.
$ python batch_import.py my-first-instance my-sample-db
완료되면 두 개의 새 테이블 (댓글 및 스토리)이 포함된 'my-sample-db'가 표시됩니다.
샘플 데이터 세트에는 Hacker News의 기사와 댓글이 포함되어 있습니다. '쿼리'를 클릭하여 데이터 쿼리 및 탐색을 시작할 수 있습니다.
7. 삭제
이 단계는 선택사항입니다. Cloud Spanner 인스턴스를 계속 실험하려면 지금은 삭제하지 않아도 됩니다. 하지만 사용 중인 프로젝트에는 인스턴스에 대한 요금이 계속 청구됩니다. 이 인스턴스가 더 이상 필요하지 않다면 요금이 청구되지 않도록 지금 삭제해야 합니다.
왼쪽 상단의 'my-first-instance'를 클릭하여 인스턴스 페이지로 돌아갑니다.
'삭제' 버튼을 클릭하여 인스턴스를 삭제합니다.
인스턴스를 삭제하면 되돌릴 수 없습니다. 해당 인스턴스의 데이터는 복구할 수 없습니다. 실수로 잘못된 인스턴스를 삭제하지 않도록 하려면 확인 대화상자에 인스턴스 이름을 입력하여 삭제를 확인해야 합니다.
인스턴스 이름을 입력하고 '삭제'를 누릅니다.
8. 축하합니다.
새 Cloud Spanner 인스턴스를 만들고, 빈 데이터베이스를 만들고, 샘플 데이터를 로드하고, 원하는 경우 Cloud Spanner 인스턴스를 삭제했습니다.
학습한 내용
- Google Cloud 콘솔을 통해 Cloud Spanner 인스턴스 만들기
- Cloud Spanner 인스턴스에 새 데이터베이스를 만듭니다.
- sampledb를 사용하여 샘플 데이터를 로드하고 쿼리합니다.
- Cloud Spanner 인스턴스 삭제
자세히 알아보기
- Google Cloud Spanner 문서를 참고하세요.
- Google Cloud Spanner API 및 클라이언트 라이브러리에 관해 알아보세요.