GCP Cloud Engineer - 42
2024-04-16
- Cloud
- GCP
Firestore
-
Cloud Firestore
개요:-
ㅁ
Cloud Firestore
는 클라우드 기반의 완전 관리형서버리스 고속 NoSQL
문서 데이터베이스입니다. -
ㅁ 모바일, 웹, IoT 앱용
데이터의 저장, 동기화, 쿼리를 간소화
합니다. -
ㅁ 실시간 동기화와 오프라인 작동 기능을 제공하는 클라이언트 라이브러리가 포함되어 있습니다.
-
ㅁ Firebase 및 GCP와의 통합을 통해 서버리스 앱 빌딩을 가속화합니다.
-
-
성능 및 보안:
-
ㅁ 자동 멀티 리전 복제와
strong consistency
로 데이터 보호와 일관성을 보장합니다. -
ㅁ ACID 트랜잭션을 지원하여, 트랜잭션의 일부 작업이 실패할 경우 전체 트랜잭션을 롤백합니다.
-
-
확장성 및 호환성:
-
ㅁ 페타바이트 규모의 데이터 및 글로벌 확장성을 지원합니다.
-
ㅁ Datastore 모드에서는 기존 Cloud Datastore와 호환됩니다.
-
ㅁ 쿼리에 대해
strong consistency
를 제공하며, 트랜잭션이 항목 그룹 수나 초당 권한 부여에 제한되지 않습니다.
-
-
아키텍처 및 옵션:
-
ㅁ 새로운 스토리지 레이어와 실시간 업데이트를 갖춘 문서 데이터 모델을 사용합니다.
-
ㅁ 기본 모드에서는 Cloud Firestore의 새로운 기능에 전적으로 액세스할 수 있으며, Datastore 모드는 이전 버전과의 호환성을 제공합니다.
-
-
적합한 시나리오:
-
ㅁ 스키마 변경이 필요하거나, 트랜잭션 일관성이 중요하지 않은 경우
Cloud Firestore
가 적합합니다. -
ㅁ 큰 규모의 확장성과 낮은 유지보수 오버헤드를 필요로 하는 애플리케이션에 이상적입니다.
-
ㅁ 트랜잭션 일관성이 필수적이지 않다면,
Cloud Bigtable
을 고려할 수 있습니다.
-
Cloud Bigtable
-
Cloud Bigtable
개요:-
ㅁ
Cloud Bigtable
은 지연 시간이 매우 짧은 페타바이트 규모의완전 관리형 NoSQL 데이터베이스
입니다. -
ㅁ Google의
검색, 애널리틱스, 지도, Gmail
등의핵심 서비스
를 지원하는 데이터베이스입니다.
-
-
확장성 및 성능:
-
ㅁ 처리량에 맞게
원활하게 확장
되며,특정 액세스 패턴에 적응
하는 방법을학습
합니다. -
ㅁ IoT, 사용자 분석, 재무 데이터 분석 등에 적합하며,
높은 읽기 및 쓰기 처리량을 지원
합니다.
-
-
통합 및 API 지원:
-
ㅁ Hadoop, Dataflow, Dataproc와 같은
빅데이터 도구와 쉽게 연동
됩니다. -
ㅁ 업계 표준의 오픈소스
HBase API
를 지원하여 개발자가 쉽게 사용할 수 있습니다.
-
-
데이터 구조 및 저장:
-
ㅁ 데이터는 정렬된
키-값 매핑
으로 구성되며,대규모로 확장 가능한 테이블
에 저장됩니다. -
ㅁ 테이블은 행과 열로 구성되며, 각 행은
row key
로 색인되고, 열은column family
로 그룹화됩니다. -
ㅁ 태블릿으로 알려진 연속된 행의
블록으로 데이터를 분할
하여쿼리 워크로드를 분산
시킵니다.
-
-
시간적 데이터 관리:
- ㅁ 각 행/열 교집합에는
서로 다른 타임스탬프
에 여러 셀 또는 버전이 포함될 수 있어,데이터의 시간에 따른 변화를 추적할 수 있습니다
.
- ㅁ 각 행/열 교집합에는
-
비용 및 클러스터 관리:
-
ㅁ 가장 작은
Cloud Bigtable
클러스터에는3개의 노드
가 있으며,초당 30,000개의 작업을 처리
할 수 있습니다. -
ㅁ 노드
사용 여부와 관계없이
노드가 작동하는 동안 해당 노드에 대해 비용을 지불
합니다.
-
Memorystore
-
Memorystore
개요:-
ㅁ
Redis용 Memorystore
는 완전 관리형 인메모리 데이터 저장소 서비스입니다. -
ㅁ 확장 가능하고 안전하며, 높은 가용성을 제공하는 Google 관리 인프라를 기반으로 합니다.
-
-
성능 및 이점:
-
ㅁ Google Cloud에서 실행되는 애플리케이션은 복잡한 Redis 배포를 관리할 필요 없이 활용 가능합니다.
-
ㅁ 성능 극대화를 위한 확장성, 가용성, 안전성을 제공합니다.
-
ㅁ 코드 작성에 더 많은 시간을 투자하여 훌륭한 앱 빌딩에 집중할 수 있습니다.
-
-
관리 및 자동화:
- ㅁ 고가용성, 장애 조치, 패치, 모니터링과 같은 복잡한 작업을 자동화합니다.
-
고가용성 및 가용성 SLA:
- ㅁ 고가용성 인스턴스는 2개의 영역에 복제되며,
99.9% 가용성의 SLA
를 제공합니다.
- ㅁ 고가용성 인스턴스는 2개의 영역에 복제되며,
-
확장성 및 처리량:
-
ㅁ 최저 등급과 최소 크기에서 시작하여 필요에 따라 인스턴스를 확장할 수 있습니다.
-
ㅁ 최대
300GB
의 인스턴스와12Gbps
의 네트워크 처리량을 지원합니다.
-
-
Redis 프로토콜 및 호환성:
-
ㅁ Redis 프로토콜과 완벽하게 호환되어, 코드 변경 없이 애플리케이션을 오픈소스 Redis에서
Memorystore
로 이전할 수 있습니다. -
ㅁ 기존 도구와 클라이언트 라이브러리가 계속 작동하므로 새로운 도구를 익힐 필요가 없습니다.
-
모르는 단어
ACID transaction
Atomicity(원자성):
트랜잭션의 모든 작업이 완전히 수행되거나, 아니면 전혀 수행되지 않아야 함을 의미합니다. 즉, 트랜잭션 중 하나라도 실패하면 전체 트랜잭션이 취소됩니다.
Consistency(일관성): 트랜잭션이 데이터베이스를 한 상태에서 다른 일관된 상태로 변환해야 함을 의미합니다. 즉, 트랜잭션 시작 전과 후에 데이터베이스의 모든 규칙이 충족되어야 합니다.
Isolation(고립성): 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 함을 의미합니다. 즉, 한 트랜잭션의 중간 결과는 다른 트랜잭션에게 보이지 않습니다.
Durability(지속성): 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 함을 의미합니다. 즉, 시스템 장애가 발생하더라도 완료된 트랜잭션의 변경 사항은 유지되어야 합니다.
스키마
데이터베이스에서 "스키마"는 데이터의 구조와 조직을 정의하는 데 사용되는 프레임워크를 의미합니다.
스키마는 테이블, 필드, 인덱스, 관계 등 데이터베이스의 모든 구조적인 세부사항을 정의합니다.
각 테이블은 어떤 필드를 가질 것인지, 각 필드의 데이터 타입은 무엇인지, 어떤 필드가 기본 키 또는 외래 키로 사용될 것인지 등을 명시합니다.
스키마 변경이 필요하다는 것은, 데이터의 구조나 조직을 변경해야 한다는 것을 의미합니다.
예를 들어, 새로운 테이블을 추가하거나, 기존 테이블의 필드를 수정하거나 삭제하거나, 필드의 데이터 타입을 변경해야 할 수 있습니다.
이러한 변경은 데이터베이스의 성능과 용량, 데이터의 일관성과 품질 등에 영향을 미칠 수 있습니다.
GCP Cloud ...
GCP Cloud ...