Spring Boot で時系列データベースを使用するための 1 つのトリックを教えます
最も一般的に使用されるリレーショナル データベースとキャッシュに加えて、Spring Boot で MongoDB と LDAP ストレージを構成して使用する方法の例を以前に紹介しました。次に、別の特別なデータベースの紹介を続けます。それは、Spring Boot での時系列データベース InfluxDB の使用です。
InfluxDB の概要
時系列データベースとは何ですか?正式名称は時系列データベースです。時系列データベースは、主に時間タグ付き(時間順に変化する、つまり時系列化)なデータを処理するために使用され、時間タグ付きデータは時系列データとも呼ばれます。
時系列データは主に、電力業界や化学業界などのさまざまな種類のリアルタイム監視、検査、分析装置によって収集および生成されます。これらの産業データの典型的な特徴は次のとおりです。 (監視ポイントごとに 1 つ)、複数のデータを数秒以内に生成できます)、収集時間に大きく依存します (各データは固有の時間に対応する必要があります)、測定ポイントが多く、大量のデータが存在します。 (従来のリアルタイム監視システムは数千の監視ポイントを持ち、毎秒データが生成され、毎日数十ギガバイトのデータが生成されます)。リレーショナル データベースも時系列に基づいてデータを保存できますが、ストレージ構造の欠点により、これらのデータは高頻度の保存とクエリ統計を効率的に実現できません。そのため、時系列の保存と最適化に特化した新しい手法が生まれました。より高い効率要件を満たすために。
InfluxDB は、現在人気のあるオープン ソースの時系列データベースです (公式 Web サイトのアドレス: https://www.influxdata.com/)。より一般的な使用シナリオは、時間に関連する高頻度のデータ レコードと統計です。たとえば、データ ストレージとクエリの監視が必要です。
次の実践セッションに進む前に、まず InfluxDB のいくつかの重要な用語を理解しましょう:
データベース: データベース
-
測定: リレーショナル データベースのテーブル (テーブル) に似ています
ポイント: リレーショナル データベースの行 (データの行) に似ています
そのうち、Point は 3 つの部分で構成されます:
time: タイムスタンプ
- ##fields: 記録された値
- タグ: インデックス属性
<dependency> <groupId>org.influxdb</groupId> <artifactId>influxdb-java</artifactId> </dependency>
spring.influx.url=http://localhost:8086 spring.influx.user=admin spring.influx.password=
@Service @AllArgsConstructor @Slf4j public class Monitor { private InfluxDB influxDB; @Scheduled(fixedRate = 5000) public void writeQPS() { // 模拟要上报的统计数据 int count = (int) (Math.random() * 100); Point point = Point.measurement("ApiQPS") // ApiQPS表 .tag("url", "/hello") // url字段 .addField("count", count) // 统计数据 .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS) // 时间 .build(); // 往test库写数据 influxDB.write("test", "autogen", point); log.info("上报统计数据:" + count); } }
$ influx
> show databases
> create database "test"
2021-08-03 01:52:47.732 INFO 94110 --- [ main] c.d.chapter63.Chapter63Application : Started Chapter63Application in 2.326 seconds (JVM running for 3.027) 2021-08-03 01:52:47.764 INFO 94110 --- [ scheduling-1] com.didispace.chapter63.Monitor : 上报统计数据:25 2021-08-03 01:52:52.736 INFO 94110 --- [ scheduling-1] com.didispace.chapter63.Monitor : 上报统计数据:30 2021-08-03 01:52:57.737 INFO 94110 --- [ scheduling-1] com.didispace.chapter63.Monitor : 上报统计数据:38 2021-08-03 01:53:02.739 INFO 94110 --- [ scheduling-1] com.didispace.chapter63.Monitor : 上报统计数据:51 2021-08-03 01:53:07.739 INFO 94110 --- [ scheduling-1] com.didispace.chapter63.Monitor : 上报统计数据:31
> select * from ApiQPS order by time desc; name: ApiQPS time count url ---- ----- --- 1627926787730000000 31 /hello 1627926782730000000 51 /hello 1627926777729000000 38 /hello 1627926772727000000 30 /hello 1627926767728000000 25 /hello
以上がSpring Boot で時系列データベースを使用するための 1 つのトリックを教えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

Java は、初心者と経験豊富な開発者の両方が学習できる人気のあるプログラミング言語です。このチュートリアルは基本的な概念から始まり、高度なトピックに進みます。 Java Development Kit をインストールしたら、簡単な「Hello, World!」プログラムを作成してプログラミングを練習できます。コードを理解したら、コマンド プロンプトを使用してプログラムをコンパイルして実行すると、コンソールに「Hello, World!」と出力されます。 Java の学習はプログラミングの旅の始まりであり、習熟が深まるにつれて、より複雑なアプリケーションを作成できるようになります。
