普段の業務並びに趣味の一環として、サーバのモニタリング環境の調査や改善に取り組んでいます。そこで本稿では、モニタリングのコンポーネントの一つとして外すことが出来ない、時系列データベースの基礎知識に関して紹介します。そもそも時系列データ・時系列データベースとは?時系列データというのは、特定の時間ごとに何らかの値を取得した際の、取得した一連の値を指します。以下のようなフォーマットをしたデータなどは時系列データにあたるでしょう。timestamp1,key,value1timestamp2,key,value2timestamp3,key,value3:時系列データベースとは、上記のような時系列データの保存・処理に特化したデータベースです。インフラストラクチャーの文脈では、サーバのメトリクス等が時系列データにあたります。様々な会社や組織で独自の時系列データベースが開発されているという事情があります。数年前の時系列データベース最近の時系列データベースの話をする前に、数年前の時系列データベース界隈の状況を少しだけ振り返ってみます。これらの時系列データベースはシンプルであるため、時系列データベースの基本的な機能を知るには有用です。様々な問題点があるのも事実です。時系列データの作成・更新・グラフの作成をする際にコマンドラインでオプションを複数指定する必要があります。標準化された書式などではなく、一部の習熟したエンジニアのみが扱える状況でした。更新や、複雑な解析をした場合に掛かる時間が線形的に増えていき、要求を満たせないという問題点がありました。関しては、現在でも非常に安定して動いており、様々な会社で採用されている優れた時系列データベースと言えそうです。開発されていたり、様々な分散構成の資料がカンファレンスなどで公開されています。書き込むことが出来る時系列データベースが新たに開発されている程度には普及しています。数秒単位でデータを書き込み続けた場合に、高性能なストレージを複数用意する必要があるなどの、いくつかの課題が未だに残っているような状態です。等を時系列データベースとして利用するケースも増えてきています。統計手法として扱うことが出来るという特色があります。頻繁に解析を行うためには、メモリを多く確保する必要がある等の問題点があることがあります。上記のような都合から、更に時系列データの取り扱いや、時系列データの統計的解析のみに更に特化したデータベースを開発するという流れが発生してきていました。ストレージ容量の節約や、解析時に使用するメモリ量の削減などの効果を上げることに成功しています。等をベースにしたデータ解析の方法が用意されているという特色もあります。呼ばれるような、時系列データ内の差分を利用した符号化方法は、最近の多くの時系列データベースで使用されています。論文にありますが、簡単に説明します。時系列データのタイムスタンプが等間隔に配置される事に着目し、タイムスタンプ値の符号化を行う方法です。具体的には、次のように計算された値を使用して、タイムスタンプ値として実際に格納する値を決定します。番目の時系列データのタイムスタンプ値とします。値によって決まります。具体的には次のようなルールになります。そのまま書き込むため、単一ビットのみの容量で済みます。