시계열 데이터베이스

시계열 데이터베이스(time series database, TSDB)는 '하나 이상의 시간'과 '하나 이상의 값' 쌍을 통해 시계열을 저장하고 서비스하는데 최적화된 소프트웨어 시스템이다.[1] 일부 분야에서 시계열은 프로파일, 커브, 트레이스, 트랜드로 불릴 수 있다.[2] 초기의 여러 시계열 데이터베이스들은 센서 장비(데이터 히스토리언이라고도 함)로부터 측정된 값을 효율적으로 저장할 수 있던 산업 분야와 관련되었으나 지금은 다양한 분야를 지원하는데 사용된다.

다수의 경우 시계열 데이터 저장소는 압축 알고리즘을 활용하여 데이터를 효율적으로 관리한다.[3] 각기 다른 수많은 데이터베이스 유형에서 시계열 데이터 저장이 가능하긴 하지만 시간을 키 인덱스로 가지는 이러한 시스템의 디자인은 관계형 모델의 관계형 데이터베이스와는 분명히 구별한다.[4]

시계열 데이터베이스 목록 편집

다음 데이터베이스 시스템은 시계열 데이터 관리에 기능적으로 최적화되어 있다.

이름 라이선스 언어 각주
Machbase 상용 (commercial) C [5]
큐브 아파치 라이선스[6] 자바스크립트 [7]
DalmatinerDB MIT[8] 얼랭 [7]
드루이드 아파치 라이선스 자바 [7]
eXtremeDB 상용 SQL, 파이썬, C / C++, 자바, C# [7]
InfluxDB MIT.[9] Chronograf AGPLv3, Clustering Commercial[10] Go [7][11]
인포믹스 타임시리즈 상용 C / C++ [7][12]
IRONdb 상용 C / C++ [7][13]
KairosDB 아파치 라이선스[14] 자바 [7]
Kx kdb+ 상용 Q [7]
OpenTSDB GPLv3+[15] 자바 [7]
Prometheus 아파치 라이선스 Go [7]
Riak-TS 아파치 라이선스 얼랭 [7]
RRD툴 GNU 일반 공중 사용 허가서 C [7]
TimescaleDB 아파치 라이선스 (partly/some features)[16] C [7][11][17][18]
Whisper (그래파이트) 아파치 2 파이썬 [19]

각주 편집

  1. Mueen, Abdullah; Keogh, Eamonn; Zhu, Qiang; Cash, Sydney; Westover, Brandon. “Exact Discovery of Time Series Motifs” (PDF). 《캘리포니아 대학교 리버사이드》. 2쪽. 25 May 2010에 원본 문서 (PDF)에서 보존된 문서. 31 July 2019에 확인함. Definition 2:A Time Series Database(D)is an unordered set of m time series possibly of different lengths. 
  2. Villar-Rodriguez, Esther; Del Ser, Javier; Oregi, Izaskun; Bilbao, Miren Nekane; Gil-Lopez, Sergio (2017). “Detection of non-technical losses in smart meter data based on load curve profiling and time series analysis”. 《Energy》 137: 118–128. doi:10.1016/j.energy.2017.07.008. hdl:20.500.11824/693. 
  3. Pelkonen, Tuomas; Franklin, Scott; Teller, Justin; Cavallaro, Paul; Huang, Qi; Meza, Justin; Veeraraghavan, Kaushik (2015). “Gorilla”. 《Proceedings of the VLDB Endowment》 8 (12): 1816–1827. doi:10.14778/2824032.2824078. 
  4. Asay, Matt (26 June 2019). “Why time series databases are exploding in popularity”. 《TechRepublic》. 26 June 2019에 원본 문서에서 보존된 문서. 31 July 2019에 확인함. Relational databases and NoSQL databases can be used for time series data, but arguably developers will get better performance from purpose-built time series databases, rather than trying to apply a one-size-fits-all database to specific workloads. 
  5. “Machbase System Properties”. 2020년 11월 3일에 확인함. 
  6. “cube license”. 《GitHub》. 2018년 10월 3일에 확인함. 
  7. Stephens, Rachel (2018년 4월 3일). “State of the Time Series Database Market”. 2018년 10월 3일에 확인함. 
  8. “dalmatinerdb license”. 《GitHub》. 2018년 10월 3일에 확인함. 
  9. “influxdb license”. 《GitHub》. 2016년 8월 14일에 확인함. 
  10. “influxdb clustering”. 《influxdata.com》. 2016년 3월 10일에 확인함. 
  11. Anadiotis, George (2018년 9월 28일). “Processing time series data: What are the options?”. 《zdnet.com》. 2016년 3월 10일에 확인함. 
  12. Dantale, Viabhav (2012년 9월 21일). 《Solving Business Problems with Informix TimeSeries》 (PDF). IBM Redbooks. ISBN 9780738437231. 
  13. Schlossnagle, Theo (2018년 1월 8일). “Monitoring in a DevOps World”. 2018년 10월 3일에 확인함. 
  14. “kairosdb license”. 《GitHub》. 2018년 10월 3일에 확인함. 
  15. “opentsdb license”. 《GitHub》. 2018년 10월 3일에 확인함. 
  16. “timescaledb license”. 《GitHub》. 2018년 10월 3일에 확인함. 
  17. Slabber, Martin; Joubert, Francois; Ockards, Muhammed Toufeeq (2018). “Scalable Time Series Documents Store”. 《Proceedings of the 16Th Int. Conf. On Accelerator and Large Experimental Control Systems》. ICALEPCS2017. doi:10.18429/JACoW-ICALEPCS2017-TUBPA06. 
  18. Skoviera, Martin (2017년 9월 18일). “Cyclops 3.0 release with rule engine”. 2018년 10월 11일에 확인함. 
  19. Joshi, Nishes (2012년 5월 23일). 《Interoperability in monitoring and reporting systems》 (Thesis). hdl:10852/9085.