데이터베이스 유형
관계형 데이터베이스(RDBMS) : 엑셀처럼 행과 열로 나뉘어 깔끔하게 정리되어 있음
비관계형 데이터 베이스(NoSQL) : JSON 형식 비정혁적이거나 반정형저깅ㄴ 데이터를 다루는데 유용 RDBMS 보다 유연하게 데이터를 저장
AWS에서는 자체 서비스에 RDS(Relational Database Service)가 있음
RDS 서비스가 하는 일
- AWS 클라우드에서 관계형 데이터베이스를 운영하고 규모를 조정
- 시간이 많이 소요되는 관리 작업을 자동화
- 데이터를 안전하게 저장 및 전송 -> https 로 암호화 통신만 가능 http x
AWS가 이미 기능을 만들어 두었기 때문에 사용만 하면 됨 -> 백업, 용량 결정 할 필요 x
우리나라는 모든 공공기관에서 보편적으로 Oracle 사용.
RDS 데이터베이스 엔진
- Amazon Aurora: AWS에서 개발한, MySQL 및 PostgreSQL과 호환되는 고성능 데이터베이스.
- PostgreSQL: 널리 사용되는 오픈 소스 객체 관계형 데이터베이스 시스템.
- MySQL: 인기 있는 오픈 소스 관계형 데이터베이스.
- MariaDB: MySQL의 포크로 만들어진 오픈 소스 관계형 데이터베이스.
- Oracle Database: 엔터프라이즈급 데이터베이스.
- SQL Server: Microsoft의 관계형 데이터베이스 시스템.
RDS 다중 AZ 배포
가용 영역 1 -> 프라이머리 DB 인스턴스 -> 대기 DB인스턴스(동기화)
가용 영역 2 -> 프라이머리 DB 인스턴스 -> 대기 DB인스턴스(동기화)
프라이머리 DB가 고장나면 대기 DB가 프라이머리로 승격해 고객에게 끊기지 않는 서비스를 제공. -> 고가용성
고가용성을 유지 방법
-> 3개의 가용 영역에 6개의 클러스터 볼륨이 생성 (아래 사진 참고)


비관계형 데이터베이스
JSON 형식 행과 열이 아닌 구조를 사용해 데이터 구성
예) 키-값 페어는 데이터가 항목(키)으로 구성되고 항목은 속성(값)을 가짐
DB 특성에 따른 특징
관계형 -> 엄격, 정형, 기밀성, 정립성, 무결성, 데이터 중복 x
비관계형 -> 대량 data처리, 빠름, 비정형
서로 간에 전환은 안되지만
비관계형 DB로 모든 data를 저장하고 관계형 DB를 사용해 데이터를 깔끔하게 정리하는 것은 가능.
데이터분석에서 데이터 추출시 비관계형 DB 사용하지 않음.
대표적인 AWS 비관계형 DB -> DynamoDB
- Amazon DynamoDB는 서버리스 키-값 데이터베이스
- 용량 변경에 따라 자동으로 확장/축소되어 일관된 성능 유지
- 하루에 10조 개 이상의 요청을 처리
DynamoDB 사용 사례 1
플레이어 프로파일 페이지
DynamoDB 용량 및 크기 조정
- DynamoDB는 읽기 용량 단위 (RCU)로 읽기 용량을 측정 -> 최대 4KB 크기 항목에 대한 읽기 요청
- DynamoDB는 쓰기 용량 단위 (WCU)로 쓰기 용량을 측정 -> 최대 1KB 크기 항목에 대한 초당 쓰기 요청
다이나모디비 두 가지 용량 관리 옵션
온디맨드 (왼)
프로비저닝 (오)

DynamoDB 일관성 옵션
DynamoDB는 일관적으로 1초 내에 한 리전 내 3개의 가용 영역에 걸쳐 테이블 데이터를 복제
최종적으로 일관된 읽기 -> 읽기 용량 단위 0.5 사용
강력한 읽기 일관성 -> 읽기 용량 단위 1 사용
DynamoDB 글로벌 테이블
글로벌 테이블은 리전 간 복제를 자동화함.
AWS Database Migration Service
관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터스토어를 마이그레이션

Amazon RDS 및 Amazon DynamoDB
각 시나리오에서 사용해야 하는 서비스는 Amazon RDS입니까, 아니면 Amazon Dynamo DB 입니까?
|
키워드
key value 얘기 나오면 NoSQL
SQL 얘기 나오면 RDS
추가 데이터베이스 서비스
- Amazon Redshift - 데이터 웨어하우스에서 데이터를 쿼리 및 분석
- Amazon DoucumentDB - 문서 데이터베이스 서비스에서 mongoDB워크로드를 실행
- Amazon Neptune - 고도로 연결된 데이터세트를 사용하는 애플리케이션을 실행
- Amazon QLDB - 애플리케이션 데이터의 전체 변경 내역을 검토
- Amazon Managed Blockchain - 분산형 원장 데이터베이스를 실행 -> 비트코인이랑은 다름 블록체인은 기술을 의미
- Amazon ElastiCache - 캐싱 계층을 추가하여 데이터베이스 읽기 시간을 향상
Amazon DynamoDB Accelerator
DynamoDB 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상

Blockchain 특징
원장 데이터베이스를 해킹하려면 하나의 고객정보가 아닌 구성된 구성원까지 모두 뚫어야함 -> 보안 강화
Blockchain 거래 방식
P2P -> 개인대 개인으로 거래를 하면 아무도 추적 못함
-
특징:개인 간 직접 거래(Peer-to-Peer) 방식으로, 블록체인 네트워크에 참여한 다른 개인(노드)들이 공동으로 거래 기록을 검증하고 저장
-
장점:중개인 없이 개인 간 거래가 가능하여 비용을 절감할 수 있고, 탈중앙화된 시스템을 통해 높은 보안성과 투명성을 확보할 수 있음
-
작동 방식:암호화폐 소프트웨어를 실행하는 많은 사용자들이 각자의 컴퓨터에서 서버 역할을 하며, 이들이 거래를 검증하고 블록체인 장부에 기록
-
용어:'공공 거래장부', '분산 거래장부'라고도 불리며, 모든 사용자가 거래 내역을 보유하고 확인가능
거래소
-
종류:
- 중앙화 거래소(CEX): 편리하지만 해킹 위험이 있고, 사용자가 자산을 직접 관리하지 못하는 단점이 있음
- 탈중앙화 거래소(DEX): 모든 거래가 블록체인에 기록되어 투명성이 높고, 사용자가 자산을 직접 관리할 수 있음
-
장점:다양한 디지털 자산을 쉽게 거래하고 시장 가격을 확인할 수 있음
-
보안:거래소 이용 시 가장 중요한 요소이며, 사용자는 셀프 커스터디(개인 자산 관리) 전략을 통해 보안을 강화할 수 있음
쇼핑몰 앱 -> 블록체인 기술 사용