아마존 AWS RedShift
요즘 제가 사용하고 있는 기술 스택이, node.js, angularJS 그리고 AWS의 RedShift, 구글의 BigQuery 등입니다.
모두들 훌륭하지만, 그 중에서 RedShift에 많은 감동을 받고 있어요.
RedShift는 내부적으로 PostgreSQL을 사용하고 있지만 일반적인 DBMS와는 좀 다릅니다. 단순 검색을 목적으로 한다면 맞지 않습니다. 전체 데이터를 대상으로 count나 sum 등을 하는데 적합합니다. 인덱스도 없습니다.
하지만 대용량 데이터를 정말 빠르게 처리하는 것 같습니다. 그리고 구글 BigQuery도 그렇지만, 외부로 노출된 것이 SQL( 또는 SQL-like)라서 정말 쓰기 편합니다. Hadoop이 이런 일을 할 수 있지 않냐구요? 네 맞습니다. 하지만 Hadoop을 사용하려면 개발을 해야 하는데, 이런 솔루션은 SQL로 접근합니다. 그래서 일종의 SQL-on-Hadoop 솔루션이라고 해야 할까요? (구글의 빅쿼리는 SQL-on-Hadoop으로 보는게 맞는 것 같은데, RedShift도 그렇게 보는게 맞는지 잘 모르겠습니다)
다만 RedShif도 단점들은 있습니다. 아주 구버전 (8.0.2)의 PostgreSQL을 바탕으로 하고 있어 최신 PostgreSQL 기능들을 사용할 수 없으며, 따라서 PostgreSQL에서 지원해도 RedShift는 지원하지 않는 경우가 많습니다.
또한 사용자 정의함수도 지원되지 않습니다.
하지만 확장성이 뛰어난 점, 비용이 많이 높지 않은 점을 감안하면 대용량 데이터 처리시 후보로 고민해볼만 하다 생각됩니다.