

# SQL에서 NoSQL로 전환하는 방법 알아보기
<a name="SQLtoNoSQL"></a>

애플리케이션 개발자라면 RDBMS(관계형 데이터베이스 관리 시스템) 및 SQL(Structured Query Language)을 사용한 경험이 어느 정도 있을 것입니다. Amazon DynamoDB 작업을 시작해 보면 비슷한 점도 많겠지만 다른 점도 상당히 많습니다. *NoSQL*은 가용성과 확장성이 높고 고성능에 최적화된 비관계형 데이터베이스 시스템을 설명하는 데 사용되는 용어입니다. NoSQL 데이터베이스(예: DynamoDB)는 관계형 모델 대신 키 값 페어나 문서 스토리지 같은 대체 모델을 데이터 관리에 사용합니다. 자세한 내용은 [NoSQL이란 무엇입니까?](https://aws.amazon.com/nosql)를 참조하세요.

Amazon DynamoDB는 오픈 소스 SQL 호환 쿼리 언어인 [PartiQL](https://partiql.org/)을 지원합니다. 이 언어를 사용하면 데이터가 저장되는 위치 또는 형식과 관계없이 데이터를 효율적으로 쿼리할 수 있습니다. PartiQL을 사용하면 관계형 데이터베이스의 구조화된 데이터, 개방형 데이터 형식의 반정형 및 중첩 데이터, 행에 따라 다른 속성을 지정할 수 있는 NoSQL 또는 문서 데이터베이스의 스키마 없는 데이터까지도 손쉽게 처리할 수 있습니다. 자세한 내용은 [PartiQL 쿼리 언어](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html)를 참조하세요.

다음 섹션에서는 SQL 문을 그에 상당하는 DynamoDB 작업과 비교 대조하면서 공통 데이터베이스 작업에 대해 설명합니다.

**참고**  
이 섹션의 SQL 예제는 MySQL RDBMS와 호환됩니다.  
이 섹션의 DynamoDB 예제는 DynamoDB 작업의 이름과 함께 JSON 형식의 해당 작업 파라미터를 보여 줍니다.

**Topics**
+ [관계형(SQL)과 NoSQL 중에서 선택](SQLtoNoSQL.WhyDynamoDB.md)
+ [관계형(SQL) 데이터베이스 및 DynamoDB 액세스 비교](SQLtoNoSQL.Accessing.md)
+ [테이블 생성 시 관계형(SQL) 데이터베이스 및 DynamoDB 비교](SQLtoNoSQL.CreateTable.md)
+ [관계형(SQL) 데이터베이스 및 DynamoDB에서 테이블 정보 가져오기 비교](SQLtoNoSQL.GetTableInfo.md)
+ [테이블에 데이터를 쓸 때의 관계형(SQL) 데이터베이스와 DynamoDB 비교](SQLtoNoSQL.WriteData.md)
+ [테이블에서 데이터를 읽을 때의 관계형(SQL) 데이터베이스와 DynamoDB 비교](SQLtoNoSQL.ReadData.md)
+ [인덱스 관리 시 관계형(SQL) 데이터베이스와 DynamoDB 비교](SQLtoNoSQL.Indexes.md)
+ [테이블에서 데이터를 수정할 때 관계형(SQL) 데이터베이스와 DynamoDB 비교](SQLtoNoSQL.UpdateData.md)
+ [테이블에서 데이터를 삭제할 때 관계형(SQL) 데이터베이스와 DynamoDB 비교](SQLtoNoSQL.DeleteData.md)
+ [테이블 제거 시 관계형(SQL) 데이터베이스와 DynamoDB 비교](SQLtoNoSQL.RemoveTable.md)