首頁
>
資源
>
產(chǎn)品發(fā)布

時序數(shù)據(jù)庫 IoTDB 集成 SpringBoot Starter,實現(xiàn)時序數(shù)據(jù)庫“零配置”接入

面對工業(yè)物聯(lián)網(wǎng)場景中高頻產(chǎn)生的設(shè)備狀態(tài)、環(huán)境指標(biāo)等海量時序數(shù)據(jù),如何在其產(chǎn)生后迅速完成采集、存儲并服務(wù)于上層應(yīng)用,是構(gòu)建實時數(shù)據(jù)驅(qū)動型業(yè)務(wù)的核心挑戰(zhàn)。

國產(chǎn)時序數(shù)據(jù)庫 IoTDB 與快速開發(fā)框架 SpringBoot Starter 的深度集成,正是為了應(yīng)對這一挑戰(zhàn),通過標(biāo)準(zhǔn)化的自動配置模式,將時序數(shù)據(jù)庫的接入流程簡化為引入單一依賴,使開發(fā)者能一鍵構(gòu)建起高性能的數(shù)據(jù)管道。

  • 簡化配置,快速集成:借助 SpringBoot Starter,開發(fā)者僅需在配置文件中添加簡單參數(shù),即可自動完成數(shù)據(jù)源配置與模板 Bean 的初始化,大幅降低了項目集成的復(fù)雜度。

  • 提升開發(fā)效率:集成后開發(fā)者可直接使用 Spring 風(fēng)格的操作模板進行時序數(shù)據(jù)的讀寫,避免了繁瑣的底層 JDBC 連接管理,讓開發(fā)者能專注于業(yè)務(wù)邏輯,顯著提升代碼質(zhì)量和開發(fā)效率。

  • 無縫融入技術(shù)體系:作為 Spring 生態(tài)的自然延伸,該集成使得 IoTDB 能夠與項目中已有的 Spring 組件協(xié)同工作,便于實現(xiàn)統(tǒng)一的資源管理、依賴注入和監(jiān)控指標(biāo)。

歡迎查看用戶手冊了解更多內(nèi)容!

01 功能簡介

SpringBoot Starter 是 SpringBoot 生態(tài)中的核心模塊化組件,通過預(yù)定義依賴集合與自動化配置機制,簡化第三方技術(shù)棧(如數(shù)據(jù)庫、消息隊列、安全框架)與 SpringBoot 應(yīng)用的集成流程。每個 Starter 封裝了特定功能所需的核心庫、默認(rèn)配置及條件化初始化邏輯,開發(fā)者僅需引入依賴即可實現(xiàn)“零配置”集成,遵循“約定優(yōu)于配置”原則。

IoTDB 官方提供的 iotdb-spring-boot-starter 是專為 SpringBoot 生態(tài)設(shè)計的標(biāo)準(zhǔn)化集成組件,幫助開發(fā)者快速實現(xiàn)時序數(shù)據(jù)庫的高效接入。開發(fā)者僅需引入依賴,即可使用 IoTDB 功能或模塊,顯著降低時序數(shù)據(jù)場景下的技術(shù)集成復(fù)雜度,適用于物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等高頻時序數(shù)據(jù)存儲與分析場景。

02 使用步驟

(1) 版本要求

  • IoTDB:>= 2.0.3

  • iotdb-spring-boot-starter:>= 2.0.3

(2) 操作流程

1. 安裝并啟動 IoTDB,可參考官網(wǎng)快速上手頁面:http://www.israel-stamps.com/docs/zh/UserGuide/latest-Table/QuickStart/QuickStart_timecho.html

2. 在項目中添加 Maven 依賴:

<dependency>
    <groupId>org.apache.iotdb</groupId>
    <artifactId>iotdb-spring-boot-starter</artifactId>
    <version>2.0.3</version>
</dependency>

3. 在 application.properties 文件中進行自定義配置:

# IoTDB 服務(wù)地址(格式:IP:Port)
iotdb.session.url=127.0.0.1:6667
# IoTDB 用戶名
iotdb.session.username=root
# IoTDB 用戶密碼
iotdb.session.password=root
# 指定連接的默認(rèn)模式
iotdb.session.sql-dialect=table
# 指定連接的默認(rèn)數(shù)據(jù)庫
iotdb.session.database=wind 
# 連接池最大連接數(shù)
iotdb.session.max-size=10

4. 通過 @Autowired 使用目標(biāo) Bean,例如:

@Autowired
private ITableSessionPool ioTDBSessionPool;

public void queryTableSessionPool() throws IoTDBConnectionException, StatementExecutionException {
    ITableSession tableSession = ioTDBSessionPool.getSession();
    final SessionDataSet sessionDataSet = tableSession.executeQueryStatement("select * from table1 limit 10");
    while (sessionDataSet.hasNext()) {
        final RowRecord rowRecord = sessionDataSet.next();
        final List<Field> fields = rowRecord.getFields();
        for (Field field : fields) {
            System.out.print(field.getStringValue());
        }
        System.out.println();
    }
}

03 使用示例

詳細(xì)的使用示例可參考 GitHub 源碼:https://github.com/apache/iotdb-extras/tree/master/examples/iotdb-spring-boot-start

更多內(nèi)容推薦:

下載時序數(shù)據(jù)庫 IoTDB 開源版

了解如何使用 SpringBoot Starter-IoTDB 集成