본문 바로가기

Cloud/Oracle Cloud Infrastructure

25. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 데이터베이스 (데이터베이스구성)

2019/01/17 - [Cloud/Oracle Cloud Infrastructure] - 24. OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 - 데이터베이스 (DB 시스템)

 5단계. 데이터베이스 구성

 

참조. OCI 데이터베이스

OCI 데이터베이스는 현재 5가지 서비스로 제공되고 있다.


사용자 관리 오라클 데이터베이스 서비스

오라클 데이터베이스를 베어 메탈, 가상 머신, 또는 엑사데이터(Exadata) 머신에서 PaaS 형태로 서비스한다. AWS AZure 등의 다른 클라우드 벤더와 차별점으로 가상 머신 데이터베이스 서비스와 엑사데이터 서비스의 경우 오라클 Real Application Cluster(RAC), Data Guard, Active Data Guard, Multitenant 등을 지원한다.

 

Exadata

베어 메탈 데이터베이스

가상 머신 데이터베이스

확장

Quarter, Half, Full Rack 내에서 CPU 확장 가능.  스토리지는 확장 불가

CPU 확장 가능. 가용 스토리지 양은 변경 불가

스토리지 확장 가능. CPU 코어 수는 변경 불가

Multi 오라클홈, DB 지원

지원

지원. 하나의 Edition 가능. 11g, 12c 여러 DB 버전 가능

불가. 단일 오라클 , DB 가능

스토리지

로컬 디스크와 NVMe 플래시 카드

로컬 NVMe 디스크

블록 스토리지

Real Application Cluster (RAC)

지원

불가

2-node RAC 지원

Data Guard

지원

지원

불가

 

네트웍 관점에서는 OCI VCN 내에 위치해서 프라이빗 IP 할당, 서브넷, 라우트 테이블, 시큐리티 리스트 설정 등의 VCN 관리를 데이터베이스에도 적용할 있다. 예를 들면 OCI 컴퓨트 인스턴스와 같은 서브넷에 위치하여 프라이빗 IP 서로 통신할 있다.

데이터 기본값으로 암호화가 적용된다. 데이터베이스가 생성될 뒤에서 설명할 데이터베이스 에디션에 상관없이 오라클 데이터베이스 암호화 옵션인 Transparent Data Encryption(TDE) 기본값으로 설정된다.

현재 OCI에서 지원되는 오라클 데이터베이스 버전은 11.2.0.4, 12.1.0.2, 12.2.0.1, 18.1.0.0 이렇게 네가지가 있다. 데이터베이스 버전과 함께 데이터베이스를 생성할 네가지 소프트웨어 에디션 Standard Edition, Enterprise Edition, Enterprise Edition High Performance, Enterprise Edition Extreme Performance 하나를 선택해야 한다. 에디션에 따라 과금되는 비용이 다른고, 포함하고 있는 데이터베이스 옵션이 각각 다르다. 예를 들어 RAC 옵션을 사용하려면 Enterprise Edition Extreme Performance 사용해야한다.

데이터베이스 에디션

데이터베이스 옵션

Standard Edition

오라클 데이터베이스 Standard Edition 패키지

Enterprise Edition

오라클 데이터베이스 Enterprise Edition 패키지, Data Masking and Subsetting Pack, Diagnostics and Tuning Packs, and Real Application Testing

Enterprise Edition High Performance

Enterprise Edition +

Multitenant, Partitioning, Advanced Compression, Advanced Security, Label Security, Database Vault, OLAP, Advanced Analytics, Spatial & Graph, Database Lifecycle Management Pack, and Cloud Management Pack for Oracle Database

Enterprise Edition Extreme Performance

Enterprise Edition High Performance +

Real Application Clusters (RAC), In-Memory Database, and Active Data Guard

 

 

참고. RAC 노드 물리적 위치

RAC 단일 Availability Domain에서 작동하지만, 노드는 물리적으로 다른 (Rack) 위치하는 방식으로 가용성을 높인다.

 

 

아래는 서비스가 제공하는 Shape이다. 신규 배포가 되지 않고 이미 배포된 데이터베이스에 대한 서포트만 지원하거나, X5 머신 기반의 Shape 아래 목록에 포함시키지 않았다. 가상 머신 데이터베이스 서비스의 OS 오라클 리눅스 6.9이다.

가상 머신 Shape

Shape

Core/OCPU

메모리

블록 스토리지

네트웍 대역폭

VM.Standard.2.1

1

15 GB

256 GB - 40 TB

1 Gbe

VM.Standard.2.2

2

30 GB

256 GB - 40 TB

2 Gbe

VM.Standard.2.4

4

60 GB

256 GB - 40 TB

4 Gbe

VM.Standard.2.8

8

120 GB

256 GB - 40 TB

8 Gbe

VM.Standard.2.16

16

240 GB

256 GB - 40 TB

16 Gbe

VM.Standard.2.24

24

320 GB

256 GB - 40 TB

25 Gbe

 

베어 메탈 데이터베이스 서비스는 단일 베어 메탈 장비에 오라클 리눅스 6.9 올라가고 로컬에 NVMe 스토리지가 장착되어 데이터베이스를 서비스한다. 서버에 장애가 발생하면 다른 인스턴스를 생성하고, 백업본으로 데이터베이스를 복구하는 방식으로 가용성을 보장한다. 아래는 X7 머신 기반 Shape이다.

베어 메탈 Shape

Shape

Core / OCPU

메모리

스토리지 타입

Raw 스토리지

스토리지 - 2중화

스토리지 - 3중화

BM.DenseIO2.52

2-36

768 GB

NVMe

51.2 TB

16 TB

9 TB

 

엑사데이터 서비스는 오라클 데이터베이스 엔지니어드 시스템(소프트웨어와 하드웨어가 결합되어 미리 패키징된 형태로 제공되는 시스템) 엑사데이터 장비의 오라클 데이터베이스 서비스이다. 고성능, 인피니밴드(InfiniBand) 네트웍, 엑사데이터 전용 스토리지 소프트웨어 등을 특징으로 하며, Quarter, Half, Full Rack Shape 따라 컴퓨트 노드, 스토리지 노드 수가 다르다. X6 X7 머신 두가지 버전의 머신으로 서비스가 제공되는데, X6 머신의 경우 최초 Enable되는 최소 CPU 코어가 있는 반면, X7 머신의 경우에는 그러한 제약이 없다.

엑사데이터 Shape

 

Quarter Rack

Half Rack

Full Rack

X6

X7

X6

X7

X6

X7

컴퓨트 노드

2

4

8

Enable 해야하는 최소 CPU 코어 (전체)

22

0

44

0

88

0

Enable되는 최대 CPU 코어 (전체)

84

92

168

184

336

368

전체 메모리 용량

1440 GB

2880 GB

5760 GB

엑사데이터 스토리지 서버

3

6

12

전체 Raw 플래쉬 스토리지 용량

38.4 TB

76.8 TB

76.8 TB

153.6 TB

153.6 TB

307.2 TB

전체 Raw 디스크 스토리지 용량

288 TB

360 TB

576 TB

720 TB

1152 TB

1440 TB

전체 사용 가능 스토리지 용량

84 TB

106 TB

168 TB

212 TB

336 TB

424 TB

 











가상 머신 데이터베이스 서비스의 경우, 데이터는 블록 스토리지에 저장되며, 처음 데이터베이스를 만들때 블록 스토리지 크기를 지정하게 되어 있다. 블록 스토리지에 오라클의 Automatic Storage Management(ASM)으로 파일 시스템이 관리되어서 데이터는 “DATA”영역에, 백업 관련 파일은 “RECO” 영역에 저장되게 된다. NVMe SSD 장착된 베어 메탈 데이터베이스, 엑사데이터 서비스 모두 가상 머신 데이터베이스와 저장장치 유형은 다르지만 ASM 기반으로 파일 시스템이 관리되고 있다.


데이터에 대한 백업에 대해서는 어디에 받을지, 어떤 방식으로 받을 지를 선택할 있다. 먼저 백업을 어디에 받을지부터 살펴보면, ①로컬 스토리지의 RECO 영역 (정확히는 Fast Recovery Area 설정한 영역) 받을 수도 있고, ②오브젝트 스토리지에 원격으로 받을 수도 있다. 보통 장애로 인한 리스크를 분산하는 차원에서 로컬에 백업을 받는 보다는 원격 오브젝트 스토리지에 백업을 받는 것이 보다 권장되고 있다. 아래는 베어 메탈과 가상 머신 데이터베이스에서의 백업 방법을 정리한 표이다. 현재 OCI에서는 데이터베이스 시스템에 블록 스토리지를 추가로 Attach 하는 것을 지원하지 않기 때문에 Network Attached 볼륨에 백업을 수는 없다. 데이터베이스 생성 함께 만든 로컬 스토리지 또는 오브젝트 스토리지에 백업을 받아야 한다. 오브젝트 스토리지로 백업을 받을 백업 데이터는 암호화되어 있지만, 인터넷 게이트웨이를 통해 백업 데이터가 나가는 부분에 대한 보안상 염려가 있을 있다. 그래서 인터넷 게이트웨이를 통하지 않고, 별도 경로를 통해 나가도록 설정할 있다. 이를 서비스 게이트웨이라고 하는데 2장에서 서비스 게이트웨이를 설정을 테스트해 보았다. 

오브젝트 스토리지

로컬 스토리지

콘솔

API

RMAN

dbcli

자동 증분 백업 (Automatic Incremental Backup)

1 사이클로 매주 Full 백업, 매일 증분 백업, 30 보관, 30 지난 증분 백업은 자동 삭제

 

On-Demand 전체 백업 (On-Demand Full Backup)

필요 시점에 전체 백업

데이터베이스 서비스 API 이용해서 오브젝트 스토리지로 백업 생성, 목록 조회, 삭제, 자동 백업 Enable/Disable 등의 작업을 있음.

오라클 백업/복구 유틸리티인 RMAN 이용.

오라클 데이터베이스 클라우드 백업 모듈을 설치하고, RMAN 설정하여 오브젝트 스토리지로 RMAN 백업을 보냄.

로컬 스토리지의 Fast Recovery Area 영역에 백업.

데이터베이스 CLI (dbcli) 백업 위치 지정 등의 백업 설정을 하고, 백업을 수행

베어 메탈 데이터베이스만 가능

 

 

엑사데이터 서비스도 베어 메탈 데이터베이스와 마찬가지로 오브젝트 스토리지와 로컬 스토리지에 배업을 받을 있다. 가상 머신, 베어 메탈 데이터베이스와 다른 점은 백업 설정 파일을 생성해서 백업 위치, 시점, 보관 주기 등을 먼저 설정하다는 부분이 다르다. 엑사데이터 서비스에서 백업을 로컬에 받는 경우 DATA RECO 영역은 40:60 비율로 할당이 되지만, 그렇지 않는 경우는 80:20 비율로 공간이 할당된다.

 

자율주행 데이터베이스 (Autonomous Database)

데이터베이스 생성, 백업/복구, 업그레이드/패치, 보안관리, 성능 관리 등의 데이터베이스 배포와 관리 작업을 오라클이 자율적으로 수행하는 데이터베이스 서비스이다. 2018 12 현재 처리 워크로드에 따라 두가지 유형의 자율주행 데이터베이스 서비스가 있다.

       Autonomous Data Warehouse (ADW): 데이터 웨어하우스(DW), 데이터 마트 업무에 특화된 자율주행 데이터베이스

       Autonomous Transaction Processing (ATP): OLTP 업무에 특화된 자율주행 데이터베이스

 

ADW

ATP

업무 목적

데이터 분석

트랜잭션 처리

데이터

Columnar 포맷 (Hybrid), 압축

Row 포맷, 비압축

데이터 처리 방식

Full 스캔

인덱스 스캔

동시 사용자

소수의 분석 작업자

다수의 사용자

메모리 사용

조인, 집계

디스크 IO 최소화 하기 위한 캐싱

자원 사용

병렬 처리

Serial 처리

 

 

 

작성자: 정영균


OCI를 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 시리즈

1. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Intro

2. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN

3. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN

4. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (인터넷게이트웨이)

5. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (라우트테이블)

6. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (시큐리티리스트)

7. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – VCN (서브넷)

8. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버

9. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (시큐리티 리스트)

10. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (인스턴스)

11. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (웹서버 연결)

12. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – Bastion 서버 (NAT 설정)

13. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버

14. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (rsync)

15. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정)

16. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정파일시스템)

17. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 웹서버 (NFS 설정파일시스템마운트)

18. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서

19. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (아파치웹서버)

20. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (로드밸런서생성)

21. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (백엔드서버)

22. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 로드밸런서 (리스너)

23. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스

24. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템)

25. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (데이터베이스구성)

26. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템연결)

27. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (DB 시스템연결)

28. OCI이용해서데이터베이스어플리케이션아키텍쳐구성하기 – 데이터베이스 (백업)

29. OCI 이용해서 데이터베이스 어플리케이션 아키텍쳐 구성하기 – 데이터베이스 (DR 구성)