SQL | NoSQL |
---|---|
Stands for Structured Query의 약자 | Not Only SQL의 약자 |
관계형 데이터베이스 관리 시스템(RDBMS) | 비관계형 데이터베이스 관리 시스템 |
미리 정의된 스키마가 있는 구조화된 데이터에 적합 | 비정형 및 반정형 데이터에 적합 |
데이터는 열과 행이 있는 테이블에 저장됩니다. | 데이터는 컬렉션 또는 문서에 저장됩니다. |
트랜잭션 관리를 위해 ACID 속성 Atomicity(원자성), Consistency(일관성), Isolation(격리), Durability(내구성)을 따릅니다. | 반드시 ACID 속성을 따르지 않습니다. |
JOIN 및 복잡한 쿼리 지원합니다. | JOIN 및 복잡한 쿼리를 지원하지 않습니다. |
정규화된 데이터 구조 사용 | 비정규화된 데이터 구조 사용 |
대량의 데이터를 처리하기 위해 수직 확장이 필요합니다. | 수평 확장을 통해 대량의 데이터를 처리할 수 있습니다. |
예: MySQL, PostgreSQL, Oracle, SQL Server, Microsoft SQL Server | 예: MongoDB, Cassandra, Couchbase, Amazon DynamoDB, Redis |
Document DB | Dynamo DB | |
---|---|---|
Region | 오하이오, 버지니아, 아일랜드등 특정 Region에서만 사용 가능 | 모든 Region에서 사용가능 |
자격증명 | 데이터 베이스에서 User를 생성하고 관리. 자격 증명이 DB에 직접 저장되기 때문에 AWS는 이 영역에 관여하지 않음. | AWS IAM을 통해 데이터베이스에 대한 액세스를 제어 |
금액 | 최소 월 200$ 노드 또는 EC2 인스턴스당 비용을 지불. 데이터베이스의 일부 인스턴스만 사용하거나 몇시간만 사용하더라도 전체 요금을 지불해야함. 스토리지는 무료로 제공되지 않음. | 최소 월 1$ 서버리스 서비스로 사용량에 따라 요금이 책정. 주요 비용은 읽기/쓰기 용량 단위 비용을 예상하기 어려움. 스토리지 25GB를 무료로 제공 |
백업 | 데이터베이스 자체에서 일일 백업을 관리하고 필요할 때 마다 복구할 수 있음. 모든 유형의 백업이 지원됨. | 매일 백업을 사용할 수 없어 사용자가 백업을 진행. 데이터에서 지원하는 대로 필요할 때 데이터를 복구할 수 있음. |