SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Timestream
시계열 데이터 전용 데이터베이스 소개
AWSKRUG 변규현
스타트업 재직중
AWSKRUG 서버리스 그룹
관심사
DevOps
Serverless
AWS
Well architected service
Node.js
공부중...
Machine Learning
BlockChain(Ethereum)
발표자:
BYUN KYUHYUN
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Time Series Data?
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
데이터 베이스의 종류를 알아봅시다
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
RDS
(RDB)
DynamoDB
(Key-Value)
ElasticCache
(In-memory)
Neptune
(Graph DB)
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Time Series Data?
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Time Series Data
==
시간에 따라 인덱싱된 데이터
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
시간에 따라 변하는 데이터, 그리고
우리 주변에 있는 것들을 분석하는데
아주 중요한 역할을 수행한다.
- 위키디피아
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
이전에는
Time Series Data를
어떻게 저장했을까?
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Relational Database?
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
ERD, DDL, DML
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Row와 Column으로 저장
엄격한 데이터 스키마
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
RDB는
Time Series Data에
적합하지 않다.
시간은
타임시리즈 데이터에서
최우선으로 두는 단하나의 축
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Time Series Data는
시간과 하나 이상의 속성으로 이루어진다.
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Amazon Timestream
Fast, Scalable, and Fully Managed Time-Series Database
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
RDB와 비교하여
1000배의 속도
1/10의 가격
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
매일 수조개의 이벤트 처리
==
초당 천만 단위의 이벤트 처리
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Time Series Data에 최적화된 분석
평활화, 어림셈, 보간과 같은 내장 분석 기능
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Memory / Magnetic / SSD
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
무엇보다도,
Amazon Time Stream은
Serverless !
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
그럼,
Time stream은 어디서 사용할까요?
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Monitoring
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
https://cdn-images-1.medium.com/max/1600/1*8QsfWUfDHva1479lHFTNBQ.png
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
IoT sensors
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
source: http://basho.com/wp-content/uploads/2015/05/internet-of-things.png
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
https://www.civitaslearningspace.com/wp-content/uploads/cls_signal.jpg
https://cdn.lynda.com/course/427473/427473-636216277052024388-16x9.jpg
https://images.chesscomfiles.com/uploads/v1/article/17004.0a8085a4.630x354o.a667c1e081cc.jpeg
https://www.edx.org/sites/default/files/course/image/promoted/courseimages_0002_finance_378x225.jpg
http://file.mk.co.kr/meet/neds/2018/01/image_readtop_2018_26518_15157127063169375.jpg
https://www.infoplease.com/sites/infoplease.com/files/inline-images/Astronomy_0.jpg
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Statictics Signal Processing Pattern recognition
Finance Weather forecasting Astronomy
Amazon Time Stream
가격정책
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
가격정책
Metric Price
Write 1 million writes of 1KB size $0.50
Memory Store Price per GB stored per hour $0.036
SSD Store Price per GB stored per hour $0.0004167 ($0.01 per GB-day)
Magnetic Store Price per GB stored per hour $0.0000411 (~$0.03 per GB-month)
Query 1 TB of data scanned $10
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Metric Price
Data Transfer IN ALL $0.00 per GB
Data Transfer OUT
Up to 1 GB / Month $0.00 per GB
Next 9.999 TB / Month $0.09 per GB
Next 40 TB / Month $0.085 per GB
Next 100 TB / Month $0.07 per GB
Greater than 150 TB / Month $0.05 per GB
가격정책
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
- https://en.wikipedia.org/wiki/Time_series
- https://aws.amazon.com/ko/timestream/
- https://aws.amazon.com/ko/timestream/pricing/
References
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun
Thank you!
2019.01.25 | AWSKRUG Community Day | Amazon Timestream | Byun Kyuhyun

More Related Content

Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019

Editor's Notes

  1. 먼저 간단히 저에 대해서 소개해드리겠습니다. 현재 스타트업에서 개발을 하고 있습니다. 데브옵스, 서버리스, AWS,Well architected service에 관심을 가지고 있습니다. 또한 모든 서버를 Typescript를 도입한 Node.js로 운영하고 있습니다. 뿐만 아니라 머신러닝, 블록체인에도 관심을 갖고 공부하고 있습니다. 부족함이 많아 성장하기 위해 노력하고 있습니다.
  2. 시작하기에 앞서서, 타임시리즈 데이터는 무엇일까요? 우리 드라마 10부작 20부작, 이런 것들을 시리즈라고 하죠? 시간의 10부작, 20부작 이런식으로 시간을 중점으로 나열되어 있는 데이터가 타임시리즈 데이터입니다.
  3. 타임시리즈 데이터를 기반으로 데이터 베이스가 나온 이유는 기존의 데이터베이스로 표현하는데 한계점 또는 어려운 점을 느꼈기 때문입니다. 그렇다면 기존의 데이터베이스들은 어떤 데이터 형식으로, 그리고 어떤 목적으로 이루어졌는지 알아보아야 합니다.
  4. 우리가 보통 사용하는 데이터베이스의 형태들은 다음과 같습니다. 관계형 데이터베이스는 참조에 특별한 능력을 지니고 있습니다. 외래키, 조인이 가능한 점이 하나의 특징입니다. 또한 ACID(Atomicicy, Cosistency, Isolation, Durability)를 보장하고 있습니다. 그렇기 때문에, 아주 작은 단 하나의 데이터의 문제도 일으키지 않기 위해 트랜잭션과 같은 많은 기능들이 내장되어 있습니다. 또한 생성된 테이블의 스키마에 따른 데이터만 다룰 수 있습니다. 데이터를 다루기 위해 공부하는 정보가 많습니다. DynamoDB와 같이 Key-value형식의 데이터 베이스는 어떨까요? 거의 무한에 가까운 확장이 가능합니다. 다이나모디비는 저장하는 양에대해서는 한계가 없다고 볼 수 있습니다. 그리고 다양한 데이터 타입을 저장할 수 있습니다. 하지만 이러한 속도를 보장하기 위한 설계 구조는 빠르게 통계값을 산출해 내는데 용이하지는 않습니다. Redis와 같은 In-memory기반의 데이터 베이스는 속도는 가장 빠릅니다. 하지만 서버가 리부팅시 메모리에 있는 데이터는 어떻게 될까요? 메모리에 있었으니 데이터가 없어지겠죠? 짧은 기간동안 유지해야하는 데이터에 적합합니다. Neptune과 같은 그래프데이터베이스도 있습니다. 하지만 이는 관계를 분석하는데 더욱 용이한 데이터베이스입니다. 이밖에도 새로운 데이터베이스 QLDB와 같은 Ledger원장 데이터베이스는 모든 히스토리를 검증할 수 있는 데이터 베이스입니다. 이 또한 시간에 따른 분석에 용이하지는 않습니다.
  5. 네 그럼 다시 돌아와서! 타임시리즈 데이터는 무엇일까요?
  6. 시간에 따라 인덱싱된 데이터들을 타임시리즈 데이터라고 합니다.
  7. 위키디피아를 찾아보면 시간에 따라 변하는 데이터를 타임시리즈데이터라고 말합니다. 우리 주변에 있는 것들을 분석하는데 아주 중요한 역할을 하고 있습니다. 분석해야하는 데이터들은 대부분 시간에 의존성이 있기 때문입니다.
  8. AWS의 타임스트림이 나오기 전까지는 이와같은 데이터 베이스를 기반으로 타임시리즈 데이터베이스를 구축하였습니다. 많은 분들이 influxDB, Prometheus, 또는 ElasticSearch로 모니터링 시스템을 구축하였습니다. Grafana나 Kibana와 같은 시각화 도구로 InfluxDB 또는 ElasticSearch와 같은 데이터베이스를 연동하였습니다.
  9. 그럼 이런 데이터베이스들이 나오기 전에 타임시리즈 데이터를 어떻게 저장했을까요?
  10. 모두들 데이터를 저장한다고 생각하면 MySQL, PostgreSQL 과 같은 RDB를 가장 먼저 생각하실겁니다. 그래서 타임시리즈 데이터를 관계형데이터베이스로 저장한다고 가정하겠습니다. 관계형 데이터 베이스에 저장하면 어떤 일�� 진행해야할까요?
  11. Entity Relationship Diagram, Data Definition Language, Data Manipulation Language RDB에 데이터를 넣기 전에는 ERD, DDL을 그리고 데이터를 조작하기 위해선 DML이 필요합니다. 객체들의 관계구조를 파악하고 ERD를 그립니다. 그리고 테이블의 형태를 갖추면 Create table과 같은 명령어로 DDL을 사용합니다. 이렇게 하나하나 진행하는 과정은 많은 시간을 필요로 합니다.
  12. 또한 관계형 데이터베이스에서 생성된 스키마는 유연하지 않습니다. 넣는 데이터가 다양해질 때마다 Alter Table과 같이 DDL이 필요하기 때문입니다.
  13. RDB는 타임시리즈 데이터를 넣는데 효율적이지 않습니다. 우리는 타임시리즈 데이터를 효과적으로 지원해줄 데이터베이스가 필요합니다.
  14. 이것에 집중하세요. 우리가 사용할 데이터베이스에서 시간은 데이터 모델이서 가장 중요한 단하나의 축입니다. RDB와 달리 Indexing이 필요한 데이터는 시간 뿐이라는 것에 대해서 집중해야합니다. 4/ Time-series data has specific characteristics such as: •Data typically arrives in a time order from a number of sources, •Data is append-only, and •Queries are always over a time interval.
  15. 타임시리즈 데이터에서 데이터 포인트는 타임스탬프와 하나 이상의 속성으로 구성됩니다. 시간이 지남에 따라 상황이 어떻게 변하는지 측정하고 실시간 의사 결정, 경고 및 대시보드를 유도하는 데에도 도움이 됩니다. 타임시리즈 데이터베이스에서는 생성되는 데이터들의 순서가 중요한 것이 아닌 데이터가 생성된 시간이 중요합니다. RDB처럼 Update Delete작업이 빈번한 작업에는 어울리지않습니다. Time series 데이터베이스는 Insert와 Read에 성능이 중점적으로 몰려있습니다.
  16. 발표를 준비하며 하나의 예시를 만들어보았습니다. 타임 시리즈 데이터를 통해 구현한 대시보드입니다. 시간에 따른 온도분포, pH, 그리고 하루동안 가장 많이 머물러 있던 온도와 일교차까지. 한눈에 볼 수 있습니다. 왼쪽 상단의 히트맵을 보면 최고 온도와 최저 온도 근처에 대부분 분포되어있는 것을 확인할 수 있습니다. RDB로도 이와 같은 대시보드 구성이 가능하죠. 하지만 이는 효율적이지 않습니다. 타임시리즈 데이터베이스는 시간 추이에 대한 분석에 적합한 구조이기 때문에 데이터의 통계치를 출력하는데 매우 효율적입니다.
  17. 그래서 AWS에서 새로운 데이터베이스를 출시하였습니다. 이번 re:Invent를 통해 새로 발표된 데이터베이스로 아마존 타임스트림입니다. 타임시리즈 데이터를 지원해줄 강력한 데이터베이스입니다.
  18. 관계형 데이터베이스 비용의 10분의 1로 1,000배 더 빠른 쿼리 성능을 제공합니다. Timestream은 데이터를 시간 간격에 따라 구성하므로 쿼리 답변을 위해 검색해야 하는 데이터 양이 줄어듭니다. 우리가 원하는 범위의 시간 만큼만 스캔을 하기 때문입니다. 또한 별도의 계층에서 삽입 및 쿼리를 실행하기 때문에 리소스 경합이 없어 성능이 향상됩니다.
  19. Timestream은 매일 수조 개의 이벤트를 처리할 수 있는 규모와 속도를 제공합니다. 이는 곧 초당 천만 단위의 이벤트를 처리할 수 있는 데이터베이스라고 볼 수 있습니다.
  20. 평활화, 어림셈 및 보간과 같은 내장 분석 기능으로 시계열 데이터를 빠르게 준비하고 분석합니다. 평활화란 어떤 부드러운 곡선을 기준으로 패턴을 찾아내는 방법입니다. 어림셈은 자릿수가 많은 수를 계산할 때 결과의 대략적인 값을 구하는 셈을 말합니다 보간은 약해진, 혹은 수신 누락된 단위 길이의 신호 요소를 회복하는 것을 말합니다. 즉, 버릴 것은 버리고, 취할 것은 취하여 빠른 분석을 가능하게 합니다. 그리고 Timestream의 적응형 쿼리 처리 엔진은 밀리초, 마이크로초 및 나노초와 같은 다양한 시간 간격에 맞게 최적화되어 시계열 데이터를 분석하기가 쉬워집니다.
  21. Timestream은 다양한 데이터 스토어를 지원합니다. 하루 또는 일주일 간의 데이터는 메모리 스토어, 자주 조회하지 않는 데이터는 Magnetic과 SSD를 활용할 수 있습니다. 만약 보통 빠른 분석이 필요하다면 Memory를 주로 사용하면 됩니다. 그리고 한번 정한 스토어로 쭉 사용하지 않아도 됩니다. Timestream의 데이터 보존 정책을 사용하여 데이터 저장 방식을 자동화할 수 있으므로 시간이 흐를수록 증가하는 데이터 관리 비용을 절감할 수 있습니다. 주기적으로 데이터의 저장공간의 대한 한계때문에 데이터를 비워주고 아카이빙하는 크론잡을 만들 필요가 없습니다.
  22. 무엇보다도 Amazon Timestream은 서버리스입니다. InfluxDB, MongoDB, RDS 등 대부분의 데이터베이스는 서버를 운영합니다. 이렇게 서버를 운영하는 것은 개발자에게 큰 짐으로 다가옵니다. 기본적으로 운영체제와 Network 지식을 요구합니다. 그렇지만 서버리스 서비스는 인프라스트럭처에서 자유를 가져다줍니다. 비지니스 로직에 더욱 집중할 수 있게 도와줍니다. 최근 AWS의 신규서비스는 서버리스형으로 지원하는 형태로 나오고 있습니다. 소프트웨어 패치, 설정, 구성과 같은 인프라에 신경을 쓰기보단, 비지니스를 성장시키기 위해 데이터를 분석하는데 시간을 더 투자할 수 있습니다.
  23. 그렇다면 어떤 곳에서 사용할 수 있을까요?
  24. 모니터링에 활용할 수 있습니다. 서버는 시간에 따라 다양한 정보를 가지고 있습니다. CPU, Memory, Disk I/O 등 호스트의 정보가 있습니다. 이뿐만 아니라 Application의 정보를 Time stream에 저장하여 분석할 수 있습니다.
  25. 이는 예시로, 데이터베이스의 모니터링 정보입니다. 실시간으로 로그인, 회원가입, 로그아웃 등의 정보를 측정할 수 있습니다. 뿐만 아니라 각 서버의 CPU, Memory 등의 정보를 빠르게 분석합니다. 머신러닝과 합쳐져서 시간 추이에 대한 데이터를 학습시키면 이상 징후를 빠르게 확인하고 대응할 수 있습니다.
  26. IoT에서도 필수적입니다. 여기서 탄성을 내시는 분들도 계실거라 생각합니다.
  27. 수많은 IoT디바이스들의 데이터들은 서버에 저장됩니다. 이는 대부분 시간에 따른 데이터들이며 이는 사용자들에게 분석 결과를 보여주는데 사용됩니다. 예를 들어, 집안의 정보를 수집한다고 가정해봅시다. 온도, 습도, 전기 사용량, 수도 사용량, 가스 사용량, 집안에서 움직임이 발생하는 시간, 빨래하는 횟수 등등 사소해보이지만 의미있는 데이터들을 수집합니다. 이뿐만 아니라 심장박동, 체중과 같이 건강데이터를 수집하는데도 사용할 수 있습니다. 이 모든 데이터는 시간을 기반으로 분석을 해야 유용한 정보를 얻을 수 있습입니다.
  28. 그밖에 타임시리즈 데이터는 다음과 같은 분야에서 적용됩니다. 통계, 신호처리, 패턴인식, 경제, 금융, 일기예보, 지진예측, 천문학 등 타임스트림은 어느 분야든 주로 시간 측정이 포함된 곳에서 사용될 수 있습니다.
  29. 비용이 많이 아껴질것이라고 하였습니다. 타임스트림의 비용구조를 확인해보겠습니다.
  30. 가격정책은 읽기에 대한 비용, 메모리, SSD, 일반적인 하드와 같은 저장장치에 대한 비용 쿼리시 데이터 스캔에 대한 비용 데이터 전송에 대한 비용이 발생합니다. 읽기는 1KB를 기준으로 100만 쓰기에 0.5$가 발생합니다. 저장장치는 Memory가 가장 가격이 나가며, SSD, Magnetic Store 순으로 가격이 책정되어 있습니다. Query는 1TB 스캔당 10달러입니다.
  31. AWS에 데이터가 들어오는 것에 대한 비용은 발생하지 않습니다. 만약 모든 인프라스트럭처가 AWS에 구축되어 있다면 타임스트림을 사용하는데 데이터 전송비용은 발생하지 않습니다. 만약 데이터를 AWS 밖으로 내보내고 싶다면 1GB이상부터 비용이 발생합니다.
  32. 참고한 자료는 다음과 같습니다.
  33. 여기까지 타임스트림에 대한 소개였습니다. 감사합니다.