티스토리 뷰

Amazon 데이터베이스 서비스 정리하기 전에 참고하면 좋을 내용

 

* 데이터(Data)

- 어떤 이론을 세우는데 기초가 되는 자료

- 문제와 숫자, 그림, 영상 등의 형태로 된 단위

 

 

* 정보(Information)

- 이런 데이터를 특정 목적에 따라 가공하고 이론을 세워 의미와 가치를 부여한 결과

 

 

* 데이터베이스(Database)

- 데이터를 하나에 모아 두는 것으로, 간단히 데이터를 모아 두는 집합이라고 정의

 

 

* DBMS(DataBase Management System)

- 데이터에 대해 사용자의 논리적 명령을 해석하고 필요한 데이터를 찾아 주는 시스템

 

 

* 데이터베이스 모델 유형

1) 계층형(Hierarchical) 데이터베이스 모델

 - 트리(tree) 구조를 기반으로 하며, 데이터는 1:N으로 상하 종속 관계 구조로 되어 있음

 - 데이터에 빠르게 접근이 가능하지만, 구조 변경에 대한 유연성이 부족하다는 단점 존재

 

2) 네트워크형(Network) 데이터베이스 모델

 - 계층형 데이터베이스의 정형화된 구조를 해결하기 위해 1:N 뿐만 아니라 1:1, N:N형태의 구조를 가질 수 있음

 - 하위 개체는 다수의 상위 개체를 가질 수 있어 형태가 조금 더 자유로움

 - 다양한 개체 간 연결에 따라 복잡성은 높아짐

 - 위 이유로 인해 데이터베이스 전반의 구조를 이해하는 데 어려움이 있음

 

3) 관계형(Relational) 데이터베이스 모델

 - 데이터의 논리적 관계를 초점을 둔 모델

 - 특정 개체 정보를 이용해 열과 행으로 된 테이블이라는 최소 단위로 구성됨

 - 계층형과 네트워크형 데이터베이스 모델은 데이터가 변화하면 상관관계에 따라 모든 데이터를 변경해야 함

 - 관계형 데이터베이스 모델은 데이터가 변화하면 쉽게 적용할 수 있다는 장점이 있음

 - 시스템 자원을 많이 차지해서 상대적으로 느리다는 단점 있음

 - 계속 하드웨어가 발전하면서 느리다는 단점은 해소 되어 감

 - 현재 가장 많이 사용하는 데이터베이스 모델

 - SQL이라는 프로그래밍 언어를 사용해 손쉽게 데이터베이스를 읽고 쓰고 해석함

 

4) 객체(Object-oriented) 지향형 데이터베이스 모델

 - 모든 데이터를 테이블로 구성하는 관계형 데이터베이스 모델과 달리 객체라는 형태의 최소 단위로 표현함

 - 객체 집합을 정의하고 연결 구조를 확립하여 복잡한 객체 구조도 즉각적으로 표현할 수 있음

 - 사용자 정의 데이터, 멀티미디어 등 비정형 데이터도 지원함

 - 보편적으로 사용하는 관계형 데이터베이스의 호환성 문제와 복잡성에 따른 문제가 있음

 - 현재 객체 지향형 데이터베이스 모델은 특수한 전문 분야가 아니면 잘 사용하지 않음

 

 

* 관계형 DBMS의 SQL 데이터 정의/조작/제어

1) 정의

 - CREATE : 테이블을 구성하고 속성에 대한 제약을 정의하는 명령어

 - ALTER : 생성된 테이블 속성을 정의하고 변경하는 명령어

 - DROP : 생성된 테이블을 삭제하는 명령어

 

2) 조작

 - SELECT : 테이블에 있는 정보를 가져오는 명령어

 - INSERT : 테이블에 새로운 데이터를 삽입하는 명령어

 - UPDATE : 테이블에 있는 데이터를 수정하는 명령어

 - DELETE : 테이블에 있는 기존 데이터를 삭제하는 명령어

 

3) 제어

 - GRANT : 테이블에 대한 권한을 허용하는 명령어

 - DENY : 테이블에 대한 권한을 차단하는 명령어

 - REVOKE : 테이블에 대한 권한을 회수하는 명령어

 

 

* DBMS 종류

- 다양한 회사에서 만든 DBMS 제품들이 있는데, 대표적으로 Oracle, MySQL, PostgreSQL 등 있음

출처:https://db-engines.com/en/ranking


 

* 데이터베이스 유형별 AWS 데이터베이스 서비스

데이터베이스 유형 AWS 데이터베이스 서비스 주요 특징 사용 사례
관계형 Amazon RDS
Amazon Aurora
참조 무결성, 안전한 트랜잭션 수행 ERP, CRM, 전자상거래
키-값 Amazon DynamoDB 빠른 응답 시간, 처리량 대규모 트래픽의 웹 서비스
게임 APP
문서형 Amazon DocumentDB 각종 문서 저장 인덱싱 콘텐츠 관리, 카탈로그, 프로필
인-메모리 Amazon ElastiCache 메모리 저장, 1밀리초 응답 시간 캐싱, 세션 관리
그래프형 Amazon Neptune 쉽고 빠른 데이터 관계 생성 및 탐색 소셜 네트워킹, 추천 엔진
시계열 Amazon Timestream 순차적 데이터 수집, 저장, 처리 DevOps, 산업용 텔레메트리
원장 Amazon QLDB 모든 변경에 대한 불변, 검증 기록 유지 레코드 시스템, 은행 거래

 

 

* Amazon RDS(Relational Database Service)

- 클라우드 환경에서 관계형 데이터베이스를 간편하게 설정하고 운영할 수 있는 서비스

- 원하는 성능 요구에 따라 다양한 데이터베이스 인스턴스 유형을 선택할 수 있음

- Amazon Aurora, PostgreSQL, MariaDB, Oracle Database 등등 관계형 데이터베이스 엔진 선택 가능

- 관계형 데이터베이스 모델 유형으로 행과 열로 구성됨

- 관계형 데이터베이스 엔진을 사용하기 때문에 SQL 언어 기반으로 데이터베이스를 손쉽게 제어 가능

- 사용 편의성이 높고, 모니터링 및 지표와 이벤트 알람을 이용하여 높은 관리 효율성을 보장함

- 비용도 상대적으로 매우 저렴하며, 간편한 복제 기능을 이용해 워크로드의 가용성과 확장성을 확보할 수 있음

 

 

* Amazon RDS 데이터 복제

1) Multi-AZ 복제 방식

 - 기본적으로 Active-Standby 형태로 동작함

 - Primary DB가 활성 상태이며, 보조의 Standby Replica가 대기 상태임

 - Primary DB에 문제가 발생하면 Standby Replica를 Primary DB로 승격해 동적으로 유지함

 - 데이터 정합성을 유지하는 것이 가장 중요함

   ► 데이터 정합성 : 데이터가 서로 일관되게 일치하는 것
                                이를 위해 동기식 복제로 다른 가용 영역에 있는 데이터베이스와 데이터 동기화하는 것

 - 동기식 복제 방식을 따르는 고가용성 유지가 목적임

 

2) Read Replica 복제 방식

 - 원본 데이터를 Primary DB에 저장함

 - 읽기 전용의 복제 데이터를 Read Replica 데이터베이스에 생성하여 유지함

 - 읽기 전용 복제 데이터가 있는 Read Replica 데이터베이스는 확장이 가능하며, 데이터 읽기 처리 속도를 높일 수 있음

 - Amazon RDS는 최대 다섯 개의 Read Replica 데이터베이스를 복제할 수 있음

 - Amazon RDS는 다른 리전까지 Read Replica 데이터베이스를 가질 수 있음

 - 읽기 전용의 복제를 생성하여 성능을 확장하는 것이 목적

 

 

* Amazon Aurora

- AWS 관계형 데이터베이스 서비스는 Amazon RDS를 이용해 MySQL, PostgreSQL, Oracle 등 데이터베이스 엔진을 주로 사용하다 Amazon Aurora라는 AWS 자체의 클라우드 데이터베이스 엔진을 개발함

- Amazon Aurora는 엔터프라이즈 수준의 관계형 데이터베이스 엔진으로 안정적이고 고성능의 데이터베이스 처리 가능

- 오픈 소스를 기반으로 다른 관계형 데이터베이스와 호환성이 우수하며, 비용 효율이 높다는 장점 가지고 있음

- Amazon RDS에서 관리하며 프로비저닝, 패치, 백업, 복원, 장애복구 등 작업 수행

- 다른 관계형 데이터베이스 엔진보다 스토리지 내결함성이 우수함

 

[복제 방식]

MySQL 데이터베이스 엔진은 데이터베이스 인스턴스에 EBS 스토리지가 연결되어 서로 다른 가용 영역으로 동기식 복제가 되지만, Amazon Aurora 데이터베이스 엔진은 공유 스토리지를 통해 최소 세 개의 가용 영역에서 두 개씩 총 여섯 개의 복제 데이터를 가지고 있어 더욱 안정적으로 서비스할 수 있음

 

 

* Amazon DynamoDB

- 비관계형 데이터베이스로, 키-값(Key-Value) 메소드를 사용하는 키-값 데이터베이스

- 비관계형 데이터베이스는 관계형 데이터베이스와 다르게 데이터가 서로 연결되지 않는 개별 형태로 저장하여 복잡하고 구조화되지 않은 데이터 유형에 적합한 데이터베이스

- SQL문을 사용하지 않으며 키를 데이터의 고유한 식별자로 사용하고, 값은 유형의 제한이 없어 단순한 개체 뿐 아니라 복잡한 집합체까지 무엇이든 가능한 비정형 데이터를 입력할 수 있음

- 키와 값을 쌍으로 집합해서 저장함

- 구조가 단순하여 빠른 처리 가능하며, 대규모 환경에서도 일관되게 10밀리초 미만의 처리 성능을 제공함

- 프로비저닝, 패치, 소프트웨어 설치가 필요 없고 용량에 따라 테이블을 자동으로 확장 및 축소해서 관리 편의성이 높음

 

 

* Amazon ElastiCache

- 인-메모리 데이터베이스로, 데이터를 메모리에 저장하는 형태로 동작함

- 데이터가 메모리상에 위치하여 데이터를 빠르게 처리할 수 있다는 장점 존재

- 데이터 양이 많다면 데이터 처리가 느려질 수 있기 때문에 대용량 데이터에는 적합하지 않고 주로 데이터를 빠르게 자주 접근해야 할 때 사용함

- Memcached 방식과 Redis 두 가지로 구분됨

 

1) Amazon ElastiCache for Memcached

  - Memcached는 보편적으로 사용하는 메모리 객체 캐싱 시스템

  - 인-메모리 데이터베이스 서비스

  - Memcached와 호환하여 자주 접근할 데이터를 메모리에 놓고 빠르게 처리 가능함

 

2) Amazon ElastiCache for Redis

  - Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열 용도로 사용되는 인-메모리 데이터베이스 서비스

  - 오픈 소스인 Redis 기반으로 구축되고 Redis API와 호환하여 개방형 Redis 데이터 형식으로 저장함

  - 실시간 애플리케이션을 지원할 수 있도록 1밀리초 미만의 지연으로 빠른 데이터를 처리할 수 있음

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함