Joo's
article thumbnail

데이터베이스(DB)란? 

  • 데이터의 집합 및 저장소
  • 데이터 기반의 혁신, Big Data
  • 체계적으로 구조화된 데이터의 집합

데이터베이스관리시스템(DataBaseManagementSystem)

  • 데이터베이스를 운영하고 관리하는 소프트웨어
  • (ex. MySQL, 오라클(Oracle), SQL 서버, MariaDB 등 )

데이터베이스관리시스템(DataBaseManagementSystem)의 종류

DBMS 제작사 작동 운영체제 기타 
MySQL Oracle Unix, Linux, Windows, Mac 오픈 소스(무료), 상용
MariaDB MariaDB Unix, Linux, Windows 오픈 소스(무료), MySQL 초기 개발자들이 독립해서 만듦
PostgreSQL PostgreSQL Unix, Linux, Windows, Mac 오픈 소스(무료)
Oracle Oracle Unix, Linux, Windows 상용 시장 점유율 1위
SQL Server Microsoft Windows 주로 중/대형 급 시장에서 사용 
DB2 IBM Unix, Linux, Windows 메인 프레임 시장 점유율 1위
Access Microsoft Windows PC용
SQLite SQLite Android, iOS 모바일 전용, 오픈 소스(무료)

DBMS의 분류

계층형 DBMS

  • 트리 형태의 계층 구조
  • 변경이 힘들고 비 효율적

망형 DBMS

  • 계층형 DBMS 개선
  • 모든 구조를 이해해야 함

관계형 DBMS (Relational DBMS – RDBMS)

  • 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)으로 이루어 짐

SQL : DBMS 언어

SQL (Structured Query Language)

  • 관계형 데이터베이스에서 사용되는 언어

네이버 클라우드 플랫폼의 데이터베이스 개요

관리형 클라우드 DBMS의 이해

관리형 클라우드 DBMS (Cloud SQL)

  • 데이터베이스 관리 시스템(Database Management System)의 클라우드 기반 서비스

비관리형(Non-Managed)

  • 사용자가 직접 DBMS 관리
  • 인프라 운영, OS 설치 및 운영, 데이터베이스 솔루션 설치 및 운영까지 모두 담당

완전관리형(Fully-Managed)

  • CSP(클라우드 벤더)사가 모두 관리
  • CSP에서 제공하는 RDS 솔루션을 이용하는 경우
  • 장비 운영, OS 설치 및 운영, 데이터베이스 솔루션 설치 및 운영까지 CSP에서 모두 담당

완전관리형(Fully-Managed) DBMS운영의 장점

  • 시간과 비용을 절약
  • 쉬운 구축과 운영
  • 장애 시 자동 Fail-over(이중화)를 통해 서비스 중지 시간 최소화 가능
  • DB의 읽기 요청이 많아 읽기 전용 DB를 마련했을 때 높은 효율성을 가짐
  • DB백업과 디스크 용량 증설 등이 자동으로 진행되어 관리 포인트가 줄어듬
  • DB전문가가 없는 경우에도 운영 가능

Cloud DB for MySQL

자동 Fail-Over 지원 및 사용자 환경에 맞는 구성 가능

  • 최대 32vCPU에 256GB 메모리 지원, 6TB 자동 디스크 확장
  • 자동 Fail-Over를 지원하며 최대 10대까지 복제 Slave ( Read Only ) 확장 가능
  • Private Load Balancer를 이용해서 Read 부하 분산 가능
  • 자동 백업 주기를 설정할 수 있으며, 최대 30일 백업 파일 보관
  • 원하는 시간을 선택하여 DB 자동 복원
  • 성능 모니터링 및 알람 기능 제공
  • Multi-Zone 구성을 통해 가용성 유지
  • Cloud DB for MySQL은 Standard 타입과 High-memory타입으로 제공(Classic)
  • VPC 환경에서는 High CPU, Standard, High-memory 타입 제공
  • 데이터 스토리지는 HDD,SSD 중 선택 가능
    • 데이터 스토리지는 데이터베이스 데이터(테이블, 인덱스, 로그 등)의 데이터를 저장하는 스토리지
    • 기본 10GB부터 10GB 단위로 최대 6000GB까지 자동 증가
  • 고가용성이 지원되는 스펙과 Stand alone 형태로 생성 가능
  • Public domain 부여를 통해 외부에서 접근 가능
  • Secure zone 내 생성 가능 - Classic
    • Secure zone에 생성된 Cloud DB for MySQL 서버는 Public domain을 제공하지 않음

Master DB Failover

  • 콘솔에서 수동(Manual)으로 Failover를 실행 할 수 있습니다.
  • 서비스 오픈 전에 Master DB 장애로 Failover가 발생하는 상황을 재현하여 Application에 영향이 없는지 사전에 점검을 할 수 있습니다.

DB Process 모니터링

  • DB Server 연결하여 수행 중인 Query를 확인할 수 있습니다.
  • Slow Query로그 외에도 특정 시점에 어떤 Query가 수행 중인지 확인할 수 있어 DB 상태를 점검하는데 도움을 받을 수 있습니다.

Stand Alone 백업

  • Stand Alone 서버도 DB 백업을 사용 할 수 있습니다.
  • 데이터가 삭제되어도 백업 보관일 설정 내에서 백업으로 데이터를 복구 할 수 있습니다.
  • Stand Alone 일 경우 Slave 서버 생성 불가능, 고가용성 경우에만 Slave 서버 생성 가능

멀티존 지원

  • Master DB 서버 2대를 서로 다른 Zone에 생성하여 높은 가용성 제공
  • Master DB 서버는 같은 속성의 Subnet에 위치

  • Public Subnet과 Private Subnet에 구성하는 것의 차이
    • Public Subnet에 구성하는 경우 Public 도메인을 구성할 수 있으나 Private Subnet은 구성 불가

Cloud DB for MS-SQL

  • 네이버 서비스에서 검증된 최적화된 설정을 통해 안정적으로 운영되며, 장애가 발생하면 자동으로 복구
  • 설치 후 즉시 MSSQL과 OS 모니터링을 이용 가능
  • MSSQL의 동작 상황을 그래프를 통해 손쉽게 확인 가능
  • 1분 단위의 쿼리 레벨 성능 분석을 지원하여 서비스 성능과 안정성을 향상
  • 안정적인 서비스 제공을 위해 장애 발생 시 자동 Fail-over 기능 제공 (Principal DB와 Mirror DB 총 2대 생성)
    • Master, Standby와 같은 개
  • 자동 백업(최대 30일)
  • Standard 타입과 High-memory 타입을 제공(Classic)
  • VPC 환경에서는 High CPU, Standard, High-memory 타입 제공
  • 데이터스토리지는 HDD,SSD 에서 선택
    • 데이터스토리지는 Cloud DB 생성 이후, 변경 불가능
    • 데이터스토리지는 10GB부터 2TB까지 10GB씩 자동 확장
  • 고가용성이 지원되는 타입과 Stand-alone 타입 선택 가능
    • Stand-alone 타입으로 생성하였다가 고가용성 지원 타입으로 변경 가능
  • 1분 단위의 쿼리 레벨 성능 분석 제공
  • 자동 Fail-over 지원
    • 기본적으로 Principal DB와 Mirror DB를 생성하여 Principal DB 서버 장애 시 Mirror DB로 자동 Fail-over
  • Slave DB는 5대까지 추가 가능

Cloud DB for Redis

Redis 란?

  • Remote Dictionary Server를 나타내는 Redis는 오픈 소스 기반의 NoSQL 데이터베이스 시스템
  • 다양한 데이터 구조를 지원하고 메모리 내에서 데이터를 저장하여 빠른 속도와 성능을 제공하는 비관계형 데이터베이스

Redis의 성능

  • 모든 Redis 데이터는 메모리에 상주하므로 데이터 액세스의 대기 시간을 낮추고 높은 처리량 보유
  • 기존 데이터베이스와 달리 디스크로의 이동이 필요하지 않기 때문에 엔진 대기 시간이 줄어듬.
  • 인 메모리 데이터 스토어는 더 많은 작업을 처리하고 더 빠른 응답 시간을 지원할 수 있습니다.

자동 복구를 통해 안정적으로 운영되는 완전 관리형 클라우드 인메모리 캐시 서비스

  • Redis Cluster 제공
  • VPC 내 Private Subnet에 구성
  • 샤드 최소 3개 ~ 최대 10개, Shard 당 Slave node 구성은 최대 4개
  • Config Group을 통해 설정 적용
  • 고가용성 구성 지원
  • CPU는 기본 4core만 제공
  • 자동 Fail-over 기능을 독자적으로 개발하여 제공함으로써 장애발생 시에도 안정적인 서비스 제공
  • 설치 후 Redis와 OS모니터링을 이용할 수 있으며 장애 또는 이벤트 발생 시 사용자의 메일, SMS로 장애 알람
  • 자동 백업(최대 7일) 및 백업 데이터로 새로운 Redis 서비스 생성 가능
  • 기본 포트 : TCP 6379

Cloud DB for MongoDB

NoSQL의 대표적인 MongoDB를 쉽고 간편하게 사용할 수 있는 완전관리형 서비스 (VPC Only)

  • MongoDB 데이터베이스를 Sharding 과 Replica Set 방식으로 선택하여 손쉽게 구축하고 운영할 수 있는 상품
  • 2TB 자동 디스크 확장
  • 설치 과정 중 Sharding Cluster 와 Replica Set 방식 선택이 가능
  • 최대 7대까지 Replica Set 확장 가능, 읽기 부하분산 기능 제공
  • 설치 후 장애 또는 이벤트 발생 시 사용자의 메일, SMS로 장애 알람

 

profile

Joo's

@JooJY

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!