많은 관심을 끌어온 AWS Aurora에서의 PostgreSQL 호환이 프리뷰 과정을 거쳐 공식적인 출시를 앞두면서 Oracle과의 경쟁 구도가 한층 두터워졌습니다.
데이터베이스 시장이 향후에 어떻게 변화하게 될 지 함께 살펴봅시다.
Amazon은 클라우드 서비스를 통해 다양한 기업과 제품의 플랫폼 역할을 하는 데 집중하고 있습니다.
이러한 운영방식은 단기적인 성과보다는 장기적인 성과에 집중하는 것으로, Amazon의 데이터베이스 사업이 바로 대표적인 예입니다.
지난 가을 Oracle Open World와 Amazon re:Invent 이후, 두 기업은 서로 완전한 경쟁 상대로 자리 매김했습니다.
바로 Amazon의 Aurora에서 PostgreSQL 호환이 가능한 베타 버전을 출시하면서 두 기업 간의 경쟁이 가열되었기 때문입니다.
이번 출시는 Amazon이 PostgreSQL의 매니지드 서비스를 제공하는 것뿐만 아니라
Aurora(Amazon이 클라우드 환경에 맞게 재구성한 데이터베이스)에서 PostgreSQL의 호환이 완전히 가능해졌다는 것을 의미합니다.
PostgreSQL 오픈 소스 커뮤니티와 달리 EnterpriseDB와 같은 공급자들은
PostgreSQL을 이미 오랫동안 Oracle의 대체 상품으로 여겨왔습니다.
Aurora에서의 PostgreSQL 호환이 발표된 지 몇 달 되지 않아서, Oracle은 Amazon RDS에서의 해당 데이터베이스 운영 가격을 2배로 높였습니다.
따라서, 기업들이 Oracle 데이터베이스를 사용하는 데 있어서 Oracle 클라우드가 가장 저렴하고 또한 새로운 버전을 가장 먼저 지원받을 수 있는 최적의 장소가 된 것입니다.
한편, Amazon은 Database Migration Service(DMS)를 통해 기업이 사용 중인 데이터베이스를 거의 무료로 이전 시킬 수 있도록 길을 닦았습니다.
TByte당 단 3달러로 기존의 사용중인 Oracle, SQLServer, MySQL, MariaDB 등 여러 인기 있는 데이터베이스를 Amazon RDS의 엔진 또는 Aurora 데이터베이스로 이전할 수 있습니다.
해당 서비스는 출시한 지 18개월 만에 무려 34,000개의 데이터베이스를 이전시켰습니다.
데이터베이스를 마이그레이션 시키는 것은 만만치 않은 일입니다.
각 관계형 데이터베이스는 고유의 SQL 언어가 있으며 저장절차(Stored procedures) 또는 구체화 뷰(Materialized view)와 같은 기능들을 다르게 사용하기 때문에
임피던스 불일치(Impedance mismatches)라는 충돌 문제가 생길 수 있습니다.
따라서, DMS 뿐만 아니라 Amazon은 리포트 기능을 지원하는 오프라인 Schema Conversion Tool(SCT)을 통해
각 기업이 사용 중인 스키마를 쉽게 Aurora 스키마로 변환할 수 있도록 돕습니다.
DMS는 다른 데이터베이스로의 전환을 위해 사용될 뿐만 아니라 동일 데이터베이스의 새로운 버전으로 이전하는 데도 사용할 수 있습니다.
이는 Amazon에서만 제공하는 서비스가 아닙니다.
그러나 Amazon은 더 많은 고객을 확보하고 이를 통한 시너지효과를 얻기 위해 다른 업체들보다 훨씬 저렴하게 해당 서비스를 제공합니다.
2016년 말 Amazon의 발표 이후로 Aurora에서의 PostgreSQL이 제한된 버전에서 완전하 베타 버전으로 바뀌면서
상당한 수의 고객이 시험하는데 참여했을 정도로 많은 관심을 끌었습니다. 이제 정식버전 출시가 머지 않았다고 합니다.
Amazon으로 데이터베이스를 이전한 고객 중 24TByte 크기의 판매 데이터베이스를 보유한 유통 고객도 있습니다.
이들은 AWS를 통해 기존의 대형 데이터를 보존하고 활용하면서 좋은 성과를 이루고 있습니다.
일반적인 기업이 이전하는 데이터베이스의 최대량이 1 또는 2 TBytes라고 봤을 때, 해당 기업은 상당히 방대한 양의 데이터베이스를 운영한다고 볼 수 있습니다.
Aurora에서 PostgreSQL의 호환이 되기 이전에 MySQL은 업데이트 기간 동안 사용하지 않는 기존 데이터를 지워야 했습니다.
반면에 PostgreSQL의 경우, 추가만 가능한 시스템으로 클라우드에 적합한 Multi-Version Concurrency Control(MVCC)를 사용하여
읽기와 쓰기 연산에 충돌하지 않고 버전 업데이트를 관리할 수 있습니다.
MVCC는 탄력성(Resiliency)을 위해 최소 6개의 데이터 복사본을 가지는 Aurora와 같이 복제된 클라우드 데이터베이스에 딱 맞는 방식입니다.
Aurora에서의 PostgreSQL은 10월에 PostgreSQL 10버전 출시를 앞두고 있으며 Declarative Partitioning이라는 기능이 추가 됩니다.
이로써 Oracle과의 격차를 좁히는 데 힘을 보탤 것으로 보입니다.
Amazon의 향후 계획이 뚜렷하게 알려지진 않았습니다.
그러나 Aurora가 실시간 데이터를 다루는 트랜잭션(Transaction) 데이터베이스이기 때문에
이러한 통합이 Kinesis streaming service와의 시너지를 불러일으킬 수 있을 것으로 예상됩니다.
또한, Amazon의 다양한 데이터베이스와 스토리지 포트폴리오를 활용하여 적절한 위치, 시기, 비용으로 데이터를 다룰 수 있도록
자동화 티어링(Tiering) 기능이 추가되길 기대합니다.
위에서 다룬 것처럼 다양한 SQL 관계형 데이터베이스는 서로 꽤나 큰 차이를 가집니다.
그리고 Aurora는 Amazon의 독보적인 상품이기 때문에 Aurora를 도입하는 고객들은 데이터베이스를 전환하는 데 있어서 몇몇 전환 절차를 밟아야 합니다.
MySQL 또는 PostgreSQL 같이 비슷한 소스들은 큰 어려움 없이 전환할 수 있습니다.
하지만 Oracle 데이터베이스를 전환하는 경우, 데이터베이스 간의 차이점을 명확히 파악하고 성공적인 전환을 이룰 수 있도록 베스트 프랙티스를 적용해야 합니다.
기업 내 주요 데이터베이스 이전, 베스핀글로벌의 클라우드 DBA(DB Administration)팀에 문의하세요.
PostgreSQL 전문가가 여러분을 기다립니다.