일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 부트캠프
- DataWarehouse
- 데브코스
- 데이터엔지니어
- 웹크롤링
- 자료구조
- 알고리즘
- Service
- 관계형데이터베이스
- Amazon
- WEB
- 웹자동화
- 데이터웨어하우스
- CS
- 기술면접
- 클라우드
- 파이썬
- 취준
- 데이터엔지니어링
- 운영체제
- airflow
- 데이터베이스
- SQL
- AWS
- 에어플로우
- 프로그래머스
- 개념정리
- 개발
- 웹스크래핑
- Django
- Today
- Total
사진과 음악을 좋아하는 개발자 지망생의 블로그
[클라우드] 2. DB (SQL vs NoSQL, Amazon Relational Database Service, Amazon DocumentDB) 본문
[클라우드] 2. DB (SQL vs NoSQL, Amazon Relational Database Service, Amazon DocumentDB)
devculture309 2023. 5. 16. 11:441. SQL vs NoSQL
1) SQL (Structured Query Language)
- 관계형 데이터베이스 시스템을 기반으로 하는 데이터베이스 유형
- SQL은 데이터를 테이블 형태로 구조화하며, 데이터는 행과 열의 형태로 저장
- 해진 스키마를 따라 데이터를 저장하고, 데이터 간의 관계를 정의하고 관리하기 위해 SQL 쿼리 언어를 사용
- SQL은 ACID(원자성, 일관성, 격리성, 지속성) 원칙을 준수하여 데이터의 안정성과 일관성을 보장
- 정형화된 데이터를 다루는데 적합하며, 관계를 중심으로 데이터 간의 관계를 유지
2) NoSQL(Not Only SQL)
- 비관계형 데이터베이스 시스템을 기반으로 하는 데이터베이스 유형
- 테이블 형태로 데이터를 구조화하지 않고, 여러 가지 형식으로 데이터를 저장
- 스키마가 유연하며, 데이터의 구조와 관계를 동적으로 변경할 수 있다
- 대량의 분산 데이터 처리에 적합하며, 수평적으로 확장할 수 있는 환경에서 좋은 성능을 발휘
- 비정형 데이터나 대규모 데이터를 처리하는데 적합하며, 수평적으로 확장 가능한 구조
2. Amazon Relational Database Service (RDS)
1) RDS
- Amazon Web Services (AWS)의 관리형 관계형 데이터베이스 서비스
- RDS를 사용하면 사용자는 관계형 데이터베이스를 구축, 운영 및 확장하기 위한 복잡한 작업을 간소화할 수 있다
- 사용자는 데이터베이스 엔진의 설정과 관련된 복잡한 작업을 걱정하지 않아도 되고, 관리 작업을 AWS에게 위임
- 자동화된 백업, 복원, 패치 적용, 스케일링 등의 기능을 제공하여 데이터베이스 운영의 안정성과 확장성을 보장
2) DB 인스턴스
- DB 인스턴스는 Amazon RDS에서 생성한 관계형 데이터베이스의 특정 인스턴스
- 데이터베이스 엔진과 해당 데이터베이스의 인스턴스 유형, 스토리지 유형 등과 함께 구성
- DB 인스턴스는 여러 사용자가 만든 데이터베이스를 호스팅할 수 있는 환경을 제공하며,
하나의 DB 인스턴스에는 여러 개의 데이터베이스가 포함될 수 있다
- 이러한 데이터베이스에 액세스하기 위해서는 일반적으로 데이터베이스 관리 도구나 애플리케이션을 사용
- AWS 명령줄 도구, Amazon RDS API 작업 또는 AWS Management Console을 사용해 간단히 DB 인스턴스를 만들고
수정할 수 있다
- SSH(보안 셸) 또는 RDP(원격 데스크톱)와 같은 수준의 접속을 통해 운영 체제에 직접 로그인할 수 없다
- RDS는 서버리스(Serverless) 아키텍처를 제공하지 않는다 → RDS DB 인스턴스를 직접 관리해야 한다
3. Amazon DocumentDB(Document DB)
1) Document DB
- MongoDB와 호환되는 문서 데이터베이스 서비스 → 고가용성, 자동 백업, 자동 확장, 보안 등 다양한 관리 기능을 제공
- 스토리지와 컴퓨팅을 분리시켜 각각을 독립적으로 조정할 수 있도록 설계
- 개발자는 데이터 크기에 관계없이 지연 시간이 짧은 읽기 전용 복제본을 몇 분 내에 최대 15개까지 추가하여
읽기 용량을 초당 수백만 개의 요청으로 늘릴 수 있음
- 99.99%의 가용성을 위해 설계되었으며 6개의 데이터 복사본을 3개의 AWS 가용 영역(AZ)에 복제
- JSON 데이터를 지원
- 유연한 인덱싱 → 문서의 속성에 대한 인덱스를 생성하고 쿼리 수행 시에 이 인덱스를 활용할 수 있다
2) MongoDB
- Document 지향 Database
- 데이터 중복이 발생할 수 있지만, 접근성과 가시성이 좋다
- 스키마 설계가 어렵지만, 스키마가 유연해서 Application의 요구사항에 맞게 데이터를 수용할 수 있다
- 데이터의 확장성과 가용성을 위한 자체적인 분산 솔루션 제공으로 데이터베이스의 확장이 용이하다(Scale-out이 쉽다)
- 데이터베이스의 확장을 위해 애플리케이션을 수정하거나 변경할 필요가 없다
3) Dynamo DB
- 아마존 웹 서비스(AWS)에서 제공하는 완전 관리형 NoSQL 데이터베이스
- 자동으로 데이터를 분산하여 처리하고 확장함(Auto-Scaling) → 대량의 트래픽과 대규모 데이터를 처리하는 데 효과적
- 데이터베이스가 활동하지 않을 때(유휴 시)에도 데이터의 암호화를 제공하여 중요한 데이터 보호와 관련된
부담 및 복잡성을 제거
- 필요한 양의 데이터를 저장하고 검색할 수 있는 테이블을 생성할 수 있으며, 동시에 다양한 수준의 요청 트래픽을
처리할 수 있다
- AWS Management Console을 사용하여 리소스 사용률 및 성능 지표를 모니터링할 수 있다
- 데이터 암호화, 액세스 제어, (온디맨드)백업 및 복원 등의 보안 기능을 제공하며, 데이터의 안전성과 보호를 보장
- 테이블 생성시 스키마 생성 필요 없다
4) Document DB vs Dynamo DB
Dynamo DB | Dynamo DB Document DB | |
리전 | 모든 리전에서 사용가능 | 오하이오, 버지니아, 아일랜드, 프랑크푸르트, 오레곤 등 특정 리전에서만 사용가능 |
자격증명 | AWS Identity and Access Management(IAM)를 통해 데이터베이스에 대한 액세스를 제어 | 데이터베이스에서 User를 생성하고 관리. 자격증명이 DB에 직접 저장되기 때문에 AWS는 이 영역에 관여하지 않음. |
금액 | 최소 월 1$ 서버리스 서비스로 사용량에 따라 요금이 책정. 주요 비용은 읽기/쓰기 용량 단위. 비용을 예상하기 어려움. 스토리지 25GB를 무료로 제공 |
최소 월 200$ 노드 또는 EC2 인스턴스당 비용을 지불. 데이터베이스의 일부 인스턴스만 사용하거나 몇시간만 사용하더라도 전체 요금을 지불해야함. 스토리지는 무료로 제공되지 않음 |
백업 | 매일 백업을 사용할 수 없어 사용자가 백업을 진행. 데이터에서 지원하는 대로 필요할 때 데이터를 복구할 수 있음. |
데이터베이스 자체에서 일일 백업을 관리하고 필요할 때 마다 복구할 수 있음. 모든 유형의 백업이 지원됨. |
'개발 > 클라우드(with amazon)' 카테고리의 다른 글
[클라우드] 6. CI / CD (0) | 2023.05.17 |
---|---|
[클라우드] 5. S3 (0) | 2023.05.17 |
[클라우드] 4. IAM (0) | 2023.05.17 |
[클라우드] 3. Network (0) | 2023.05.16 |
[클라우드] 1. AWS(Amazon Web Services), EC2, Elastic Beanstalk (0) | 2023.05.15 |