본문 바로가기

Previous (20-22)/Development

AWS DynamoDB in Python (Boto3) - #1. 소개

이번 글에서는 Amazon Web Service(AWS) 에서 DynamoDB를 사용하는 방법을 Python을 이용해서 다루도록 하겠습니다.

처음에 AWS Python 카테고리에서 DynamoDB를 다루고자 했던 것은 아니였지만, 이번 회사에서 기술보고서를 작성하는 과정에 있어서 주제를 DynamoDB를 하다 보니까 블로그에도 같이 다루는 것이 좋을 것 같아서 올려봅니다.


DynamoDB는 Amazon에서 AWS에 최적화된 NoSQL 데이터베이스로, 당연하게도 AWS에 최적화되어 있습니다. 

하지만 DynamoDB에 대한 소개는 AWS 홈페이지나 다른 인터넷 자료에도 나와있지만, 정작 국내에서는 이와 관련된 서적을 찾지 못하였고 해외 원서로만 존재하고 있습니다. 그 이유는 DynamoDB가 별로이기 때문이 아니라, 등장한 지 오래 되지 않은 데이터베이스이기 때문으로 볼 수 있습니다.



그렇지만, AWS에서 제공하는 다른 RDS 서비스와는 다르게 별도의 카테고리를 둬서 관리한다는 것은 그만큼 DynamoDB를 AWS에서 주력으로 밀겠다는 것으로도 볼 수 있습니다.



DynamoDB의 사용은 사실 어렵지 않습니다. AWS의 다른 서비스하고는 다르게 인스턴스를 생성한다거나 복잡한 과정을 거치지 않고, AWS Console에서 Table을 생성하는 것에서부터 시작하기 때문입니다.

그러므로 AWS Console에서 Table을 생성하고 관리하는 것은 매우 간단한 절차이므로, 이 글에서는 별도로 다루지 않겠습니다.



그렇다면 DynamoDB를 실제로 사용하려면 어떻게 해야 할까요.

기존의 RDBMS와는 다른 NoSQL 유형이기 때문에 별도의 SQL Programming을 하지 않는 대신, 일반 프로그래밍 언어 상에서 DB Scheme를 설계하고 데이터를 관리할 수 있어야 합니다.

그래서 AWS에서는 DynamoDB를 사용하기 위한 SDK를 프로그래밍 언어 별로 제공하고 있습니다.


지원 언어는 다음과 같습니다.

l  Java

l  Javascript

l  Node.js

l  .NET

l  PHP

l  Python

l  Ruby


그 중에서도 저는 Python을 사용하여 DynamoDB를 구현하고 나타낼 예정이며, 이는 현재 제 블로그에서 다루고 있는 주제가 AWS Python인 것과도 일맥상통하기 때문이겠지요.

다음 글에서는 Python 언어를 사용하여 AWS DynamoDB를 어떻게 구현하는 지를 다루어 보도록 하겠습니다.