Running CRATE with Docker on Google Cloud Platform (3)
- Sample 데이타를 이용한 실습
- 테스트 마무리
Sample 데이타를 이용한 실습
이제 Twitter 에서 데이터를 가져오자.
두 번째 메뉴인 GET STARTED 로 가서 제일 밑의 “Import tweets for testing.” 을 클릭하자.
- Twitter 에서 가져온 tweets 는 tweets 라는 TABLE 에 데이터를 저장한다.
- TABLES 메뉴를 클릭하면 테이블 상태와 저장된 레코드 수를 확인할 수 있다.
- CONSOLE 메뉴를 클릭해서 직접 SQL 을 입력할 수 있다.
어느 정도 데이타를 가져왔으면 “SELECT text FROM tweets LIMIT 100” 을 입력해서 결과를 확인해보자.
100만건 이상이 저장된 상태에서 조회한 결과로써 상당히 빠른 속도를 보여주고 있다.
< 그림6. Limit 100 Query 결과 > [ 출처: Flickr, gongjak1 ]
< 그림7. Limit 1000 Query 결과 > [ 출처: Flickr, gongjak1 ]
< 그림8. Limit 10000 Query 결과 > [ 출처: Flickr, gongjak1 ]
테스트 마무리
지금까지 지내오면서 Database 를 선택함에 있어서 대부분 선택의 폭이 없는 경우를 많이 봤다. 이유라면…
- database 는 무조건 Oracle 이다.
- 개발자가 알고 있고 사용할 수 있는 database 가 xxxx 뿐이다.
- dba 가 다른 database 는 모른다.
- 지금까지 사용해온 것을 그냥 사용하겠다.
- 이미 개발이 끝나서 이제는 못 바꾼다.
본인은 Database 를 선택함에 있어서 서비스에 맞춰서 골라야 한다고 생각하는데, 이런 현실적인 이유로 인해 서비스 성격에 맞지 않게 database 를 사용하는 경우를 많이 봤다.
물론 서비스는 잘 운영될 리가 없다. 종종 장애가 발생하고, 서비스 로직이 복잡해져 성능이 떨어지고, 담당자는 뒤처리를 위해 사무실에서 떠날 수 있는 날이 없는 경우를 많이 봤다.
요즘의 추세로 본다면 RDBMS + NoSQL 의 조합으로 사용해야 할 서비스들이 많을 것이다. RDBMS 운영이 결코 쉽지만은 않다는 것은 잘 알 것이고, DBA 들이 NoSQL 까지 운영하기에는 지금까지의 NoSQL 들이 너무 복잡하고, 표준 SQL 이 아닌 나름의 방식을 다시 배워야 했다. 또한 많은 NoSQL 들이 시스템과 직접적으로 연관되어 있고, DBA 들이 할 일은 많이 없었다. 하지만 CRATE 는 매우 쉽게 배울 수 있어서 NoSQL 을 서비스에 사용함에 있어 조금은 거리감을 줄일 수 있으리라 생각한다.
DB의 노드 증설 작업은 매우 어려운 일인데, NoSQL 장점을 최대한 살려서 서비스에서 필요에 따라 container 로 database node 를 쉽게 늘리고 줄이는 모습을 조만간 볼 수 있기를 기대해 본다.