データベースの選択に関しては 新しいプロジェクトまたは既存のプロジェクトで作業中のプロジェクトを置き換える場合、 オプションを見つけるのに最適なウェブサイトは DBエンジン, そこにはたくさんのデータベースがあり、その存在すら知らなかったと思います。
しかし、メイントピックに移ると、 本日お話しするこの記事では、パフォーマンスを犠牲にすることなく大量のデータを処理するための優れたオプションであるInfluxDBについて説明します。
InfluxDBは時系列データ用に最適化されたデータベースであることを知っておく必要があります オンプレミスのデータセンターで使用することも、Microsoft Azure、Amazon Web Services(AWS)、Google CloudComputingのクラウドソリューションとして使用することもできます。
時系列データベース (TSDB)は、クラウドにサーバーがなくても、データセンターに独自のサーバーがある場合でも運用できます。。 データベースは、アメリカの会社 Influxdata によって開発されています。
InfluxDBは、科学分野で大量のデータを保存することに重点を置いています センサーから送信されたデータ。 InfluxDB 従来のデータベースよりもはるかに高速です 時系列の保存と管理に関しては。 Javascriptに基づく内部クエリ言語Fluxを使用してデータをクエリするだけでなく、リアルタイム処理も可能です。
これは、ポート8086とInfluxDBでリッスンするSQLクエリ言語というよりもプログラミング言語のように見えます。 外部依存関係がなく、データ構造をクエリするための時間重視の組み込み関数があります メジャー、シリーズ、ポイントで構成されています。 各ポイントは、フィールドセットとタイムスタンプと呼ばれるいくつかのキーと値のペアで構成されます。 タグ セットと呼ばれるキーと値のペアのセットでグループ化すると、シリーズが定義されます。 最後に、シリーズは文字列識別子によってグループ化され、メジャーを形成します。
値は、64ビット整数、64ビット浮動小数点、文字列、およびブール値にすることができます。 ポイントは、時間とタグセットによってインデックスが付けられます。 保持ポリシーはメトリックで定義され、データの削減方法と削除方法を制御します。 継続的なクエリは定期的に実行され、結果をターゲットメトリックに保存します。
時系列をデータベースに保存する場合、たとえばモノのインターネットインフラストラクチャを使用する場合、 InfluxDBを使用して、タイムスタンプなどのセンサー情報を保存できます。 InfluxDBではタイミングが重要な役割を果たすため、内部タイミングサービスにより、InfluxDBクラスター内のすべてのノードが同期して実行されます。 もちろん、InfluxDBは企業ネットワークに監視データを保存するのにも適しています。
InfluxDBのデータベースは複雑である必要はなく、数十の列を提供します。 たとえば、センサーからの特定の測定値を時間の関数として保存する必要がある場合は、数列だけで使用するのが理にかなっています。
センサーの場合など、多くのソースからのデータを並行して受信および処理する必要がある場合は、関連するデータベースがこれらの並列クエリを迅速に処理できる必要があります。 データはリアルタイムで受信されることが多いため、データベースの書き込みパフォーマンスはそれに応じて調整する必要があります。 さらに、センサーからの測定データが常に正確に書き込まれ、定義されているとは限らないという課題があります。 時系列データベースは、引き続きこのデータを保存して利用できるようにすることができます。
さらに、 時系列データが保存されると、後で更新する必要はほとんどありません。。 したがって、このために時系列データベースを最適化する必要はありません。 また、不要になった古いデータを削除または圧縮するために必要な機能があります。 これらのタスクは、迅速な時系列データ処理の一部でもあります。
InfluxDB は、Linux および macOS で使用可能な少数のコンポーネントのみで構成されています。 すべての機能が XNUMX つのファイルに含まれているため、インストールと操作が簡単です。
最後に、それについてもっと知りたい場合は、次のことができます。 以下のリンクで詳細を確認してください。