실시간 차트 – 스무디(smoothie)

스무디(smoothie.js)를 사용하여 스트리밍 데이터에 대한 실시간 차트를 그려보자.

실시간 차트가 무엇인지 먼저 보고 싶다면, 아래의 링크를 보자.

http://smoothiecharts.org/examples/example1.html

스무티 차트(Smoothie Chart)는 실시간으로 라인 차트를 부드럽게 표시할 수 있는 라이브러리로, 사용법이 매우 간단한다.

먼저 smoothie.js를 다운로드 하여 자신의 웹 프로젝트로 추가하자.

smoothie.js를 자바스크립트에 포함한다

canvas 객체를 생성한다

canvas에 SmoothieChart 객체를 연결한다

데이터를 추가한다

TimeSeries.append(timestamp, value)

  • timestamp
    데이터를 표시할 시간(X축)
  • value
    데이터의 값(Y축). 임의의 숫자값.
    value의 최소값과 최대값을 기반으로 차트를 자동으로 축소/확대한다.

지연시간 추가

지금까지 만든 차트에는 약간의 문제가 있다. 다음 번 데이터의 값을 알기 전까지는 차트에 표시할 수 없다. 따라서 차트가 연속적으로 움직인다기 보다는, 약간 점프하는 것 처럼 보인다.

이 문제를 해결하기 위해, 차트에 약간의 지연시간을 추가하자. 따라서 라인을 다음 번 데이터가 전달된 후 라인을 그리도록 만들어 보자.

지연 시간은 SmoothieChart.streamTo()를 호출할 때 추가할 수 있다.

색깔 지정하기

스무디는 라인과 배경의 스타일을 변경할 수 있는 API 또한 제공한다.

실행하기

여기에서는 표시할 수 없지만. 실행 해보면 아래와 같은 차드가 움직이는 것을 확인할 수 있다.

smoothie

 

[독후감] 빅 데이터 세상으로 떠나는 간결한 안내서, NoSQL

NoSQL 데이터베이스를 학습하던 중에, 다양한 NoSQL 데이터베이스간의 차이점을 정리한 내용이 필요하던 차에 이 책을 발견했다. 후회하지 않을 마틴 파울러씨의 새 책이, 믿고 사는 인사이트에서 번역되었다.

martinfowler_nosql

이전의 UML Distilled가 그랬듯이 이 책 또한 말 그대로 간결하다. 하지만 내용마저 간결하다는게 흠이라면 흠이다. 늘 그렇듯 일단 개념정리부터 하고보는 저자의 성격답게 “1부 기본 개념”에서는 NoSQL 관련 서적에서는 깊이 다루지 못했던 데이터베이스와 관련된 기본 개념을 충실히 설명한다. 중요한 내용을 꽤 쉽게 설명하여 지금까지 이해했던 내용들을 엮는데 도움이 되었다. 다만 저자가 쓴 PoEAA를 읽지 못헀던 독자라면 이해하기가 상당히 버거울 수 있다는 생각은 든다.

또한 NoSQL을 이 책을 통해 처음 접하는 독자라면 오히려 뜬 구름만 잡을 수도 있겠다. 차라리 몽고 DB나 HBase와 같은 특정 NoSQL 데이터베이스를 조금 접했던 독자에게 더 유익하리라고 본다.

“2부 적용”에서는 1부에서 정의한 기본 개념이 각 NoSQL 데이터베이스 솔루션에서 어떻게 구현되었는지에 대해 패턴 형식으로 기술한다. 이 떄부터 각 솔루션별 API를 가지고 설명을 하는데 읽기가 상당히 버거웠다. 이 역시도 해당 솔루션을 이미 알고 있는 독자라면 장/단점을 일목요연하게 이해하는데 도움이 더 될 듯 하다.

결론적으로 책 두께는 간결하지만 내용은 그렇게 간단하지 않다. 하지만 저자의 다른 책과 마찬가지로 핵심 내용을 잘 짚었으며 NoSQL에 대해 약간의 지식이 있는 사람에게는 꽤 유용하리라고 본다. 다만 각 솔루션별로 설명하는 내용은 너무 간략하여 내용을 습득하기가 어렵다는 게 조금 아쉽다.

이와 유사한 책으로는 이 책보다 먼저 나온 “빅 데이터 시대를 위한 NoSQL 핵심 가이드”가 있다.

nosql_guide

다양한 NoSQL 데이터베이스 솔루션 별로 설치 부터 사용까지, 활용 위주로 비교한 책이다. 실제 NoSQL 솔루션을 직적 사용해야 하는 독자라면 이 책 역시 유용하리라고 본다.