日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Lindorm泛時序數據一站式分析與洞察

方案總覽

方案概述

泛時序數據廣泛應用于車聯網、工業物聯網、金融交易、股票分析等多個業務場景。隨著業務規模的增長,數據量急劇增加,如何高效獲取和分析這些數據成為業務洞察和決策的關鍵挑戰。以車聯網場景為例,傳統的數據處理通常涉及多個數據組件的整合,運維難度高、數據存儲及開發成本高。Lindorm作為阿里云自研的云原生多模數據庫,不僅具備低成本存儲、彈性高可用的特點,還集數據存儲和分析功能于一體,支持存儲車輛行駛軌跡、車輛狀態、精準定位等車聯網關鍵數據,并提供實時或批量數據處理能力。

本方案以車輛網場景為例,引導您使用云原生多模數據庫 Lindorm的多種引擎,實現泛時序數據的高并發實時查詢和寫入,幫助您高效構建車機數據上報、物流軌跡跟蹤、實時定位調度等場景服務。

方案架構

解決方案完整版本

方案優勢

  • 一體化:一體化操作,開發效率高,多種數據一個入口,統一SQL操作。相比于傳統的多個產品支撐一個場景的方案,架構更加簡單,易于開發。

  • 低成本:低成本存儲,支持百PB級存儲,支持自適應壓縮和表級別的冷熱分離,您可以根據數據處理需求自由選擇行存儲或列存儲,最多可節省約50%的成本

  • 高性能:高并發讀寫,支持千萬級并發和毫秒級延遲,可滿足車聯網大規模數據的在線存儲與查詢需求。豐富的檢索能力,通過寬表引擎和搜索引擎組合,使用SQL一鍵在所需數據列上建立搜索(倒排)索引,提供在線搜索服務。搜索引擎支持多維檢索、全文檢索、地理位置檢索等多種高級檢索能力。

  • 彈性:云原生彈性,靈活擴展,Lindorm計算引擎具備Serverless特性,可按需分配計算資源,進行高效的交互式分析和批處理。

部署流程

image

適用場景

  • 車聯網:使用Lindorm存儲車聯網中的行駛軌跡、車輛狀況、精準定位等重要數據,提供低成本、彈性、靈活可靠的能力,幫助您構建高效的網約車、物流運輸、新能源車檢測等場景服務;集成Ganos時空數據庫引擎,高效支撐車聯網軌跡數據時空分析與挖掘等相關應用場景。

  • 物聯網:使用Lindorm存儲來自工業物聯網場景下的海量異構IT&OT數據,將數據進行同構、匯聚、融合,打破工業場景IT數據和OT數據割裂的“信息孤島”;通過Lindorm計算引擎提供的低成本、高性能、穩定可靠的分布式計算能力,滿足您在數智化生產、交互式數據探索分析、AI/ML數據處理和大規模圖計算等場景中的計算需求。

  • 交易賬單:使用Lindorm存儲金融交易中的海量訂單記錄,金融風控中的用戶事件、畫像特征、規則模型、設備指紋等重要數據,提供低成本、高并發、靈活可靠的能力,幫助您構建高效的金融交易與風控服務。

部署準備

開始部署前,請按以下指引完成賬號申請、賬號充值、RAM用戶創建和授權。

費用說明

完成本方案的部署及體驗,預計產生費用不超過30元。該費用僅為購買本方案示例的資源規格,且使用時長不超過1小時的預估費用。如果您調整了資源規格,或執行了本方案以外的其他操作,可能會導致費用有所變化。請以控制臺顯示的實際價格和最終賬單為準。

本方案以華東1(杭州)地域為例,以下為本方案涉及資源的華東1(杭州)地域單價,僅供參考。

產品

計費項

規格配置

預估費用參考

云原生多模數據庫 Lindorm

寬表節點規格

規格:4核16 GB

寬表節點數量:2

2.500元/小時

搜索節點規格

規格:4核16 GB

搜索節點數量:2

2.500元/小時

LTS節點規格

規格:4核8 GB

LTS節點數量:1

1.053元/小時

流節點規格

規格:4核16 GB

流節點數量:2

2.500元/小時

彈性計算資源

不涉及

2.436元

存儲空間

160 GB

0.157元/小時

集群固定費用

不涉及

1.875元/小時

云服務器ECS

實例

規格:ecs.e-c1m4.2xlarge

1.35元/小時

系統盤

存儲空間:40 GiB(ESSD Entry)

0.02916元/時

專有網絡VPC

免費

步驟一:準備賬號

  1. 如果您還沒有阿里云賬號,請訪問阿里云賬號注冊頁面,根據頁面提示完成注冊。阿里云賬號是您使用云資源的付費實體,因此是部署方案的必要前提。

  2. 為阿里云賬號充值。本方案默認采用按量付費的方式創建資源,請確保賬戶余額大于等于100元。

  3. 創建用于方案部署的RAM用戶。

    1. 創建1個RAM用戶。具體操作,請參見創建RAM用戶

    2. 為RAM用戶授予以下云服務的訪問權限以完成方案部署。具體操作,請參見為RAM用戶授權

      云服務

      需要的權限

      描述

      云原生多模數據庫 Lindorm

      AliyunLindormFullAccess

      管理云原生多模數據庫 Lindorm的權限。

      云服務器ECS

      AliyunECSFullAccess

      管理云服務器服務ECS的權限。

      專有網絡VPC

      AliyunVPCFullAccess

      管理專有網絡VPC的權限。

步驟二:申請使用權限

在部署資源之前,請先加入釘釘群(群號:78080001631),申請流引擎購買權限。

部署資源

1. 創建專有網絡VPC和交換機

  1. 登錄專有網絡管理控制臺,創建1個專有網絡和1臺交換機。

  2. 填寫相關配置,具體說明如下:

    項目

    說明

    示例值

    專有網絡

    地域

    選擇專有網絡VPC所在地域,請選擇華東1(杭州)地域。

    華東1(杭州)

    名稱

    專有網絡VPC的名稱。命名規則:長度為2~128個字符,以英文大小字母或中文開頭,可包含數字、下劃線(_)和短劃線(-)。

    vpc_lindormk3uu

    IPv4網段

    在創建VPC時,您必須按照無類域間路由塊(CIDR block)的格式為您的專有網絡劃分私網網段。阿里云VPC支持的網段信息請參見專有網絡組成部分

    在網絡規劃時可以按照管理網段-開發網段-測試網段-生產網段等規則做好規劃。網段一旦投入使用,調整過程復雜,因此規劃十分重要。

    192.168.0.0/16

    交換機

    名稱

    虛擬交換機名稱。命名規則:長度為2~128個字符,以英文大小字母或中文開頭,可包含數字、下劃線(_)和短劃線(-)。

    vsw_lindomk3uu

    可用區

    在規劃的地域內選擇1個可用區。

    說明

    請確保交換機所屬的可用區的ECS和Lindorm等資源處于可用狀態。

    可用區 G

2.創建云服務器ECS

  1. 登錄ECS實例創建頁

  2. 按以下規劃配置ECS相關配置項。

    配置項

    說明

    付費類型

    選擇按量付費

    地域

    選擇華東1(杭州)

    網絡及可用區

    選擇之前規劃的專有網絡VPC和專有網絡交換機。

    實例

    選擇規格ecs.e-c1m4.2xlarge(8 vCPU 32 GiB)。

    鏡像

    選擇CentOS 7.7 64位

    系統盤

    選擇ESSD Entry類型,容量配置為40 GiB

    安全組

    選擇已有安全組或根據頁面提示創建新的安全組。安全組規則說明請參見安全組規則

    登錄憑證

    選擇自定義密碼,方便后續登錄機器安裝服務環境。

  3. 勾選服務協議,單擊確認下單

3.創建云原生多模數據庫Lindorm

  1. 登錄Lindorm實例創建頁

  2. 在購買頁面,按以下規劃配置Lindorm相關配置項。

    1、商品屬性及網絡配置

    image

    選項

    說明

    商品類型、付費方式、部署方案(分別對應圖示①、②、③)

    請按照圖中選項配置。

    地域(對應圖示④)

    選擇華東1(杭州)

    網絡相關(對應圖示⑤)

    選擇之前規劃的VPC、交換機及交換區所在可用區。

    2、數據引擎配置

    請按照下圖所示進行配置。

    image

  3. 單擊立即購買跳轉至訂單頁,勾選服務協議并單擊立即開通

配置資源

配置ECS

請根據以下步驟在ECS實例上部署相關開發環境和Lindorm客戶端。

步驟一:部署開發環境

流引擎客戶端的運行依賴Java,同時,本方案將使用Python腳本文件模擬生成車機原始數據,因此您需要在ECS實例上部署Java和Python環境。

  1. 登錄ECS實例。

    登錄云服務器ECS管理控制臺,在目標實例的操作列單擊遠程連接,使用root權限通過Workbench遠程登錄。image

  2. 執行以下命令,安裝JDK 1.8和Python環境。

    # 安裝JDK 1.8
    yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
    
    # 安裝Python
    yum install python3 -y
    
    # 安裝Python運行時依賴的庫
    pip3 install cryptography==3.4.8
  3. 環境驗證。

    # 驗證Java環境是否安裝成功
    java -version
    
    # 驗證Python環境是否安裝成功
    python3 --version

步驟二:安裝Lindorm客戶端

Lindorm-cli和Lindorm-sqlline是Lindorm提供的簡易命令行工具,在本方案中分別用于連接Lindorm寬表引擎和流引擎。

  1. 下載客戶端安裝包(Linux操作系統安裝包)。

    • Lindorm-cli:下載地址,請參見安裝Lindorm-cli

    • Lindorm-sqlline:

      wget https://hbaseuepublic.oss-cn-beijing.aliyuncs.com/lindorm-sqlline-2.0.2.tar.gz
  2. 解壓安裝包。

    # 解壓Lindorm-cli安裝包
    tar zxvf lindorm-cli-linux-latest.tar.gz
    
    # 解壓Lindorm-sqlline安裝包
    tar zxvf lindorm-sqlline-2.0.2.tar.gz

配置Lindorm

  1. 登錄Lindorm管理控制臺(杭州地域),單擊目標實例ID,進入實例詳情頁。

  2. 設置Lindorm白名單,將ECS實例的主私網IP添加至組內白名單,保證ECS與Lindorm之間的連通性。image

    說明

    如何查看ECS實例的主私網IP地址,請參見查看IP地址

  3. 開通搜索索引。搜索索引是寬表引擎與搜索引擎深度融合的特性,更適合復雜的多維查詢場景。

    imageLTS規格請按照下表進行配置:

    配置項

    說明

    LTS數據同步Core規格

    選擇4核8 GB

    LTS節點數量

    配置為1個。

  4. 請加入釘釘群(群號:78080001631),申請開通列存索引。

    說明
    • 列存索引可以增強寬表中海量數據的分析計算能力,更適合車聯網與物聯網的設備信息統計、電商領域的數據分析、物流行業的訂單統計等場景。

    • 如果在部署準備階段已開通該權限,可跳過此步驟。

數據導入

在實際的業務場景中,車機上傳的字段有上百甚至上千種,本部署方案篩選了其中一部分作為測試數據:

單擊展開字段說明

字段名

類型

備注

vin

STRING

車輛識別號(Vehicle Identification Number),是每一輛車的唯一標識。

sampletime

BIGINT

數據采樣的時間點,通常為一個時間戳,表示數據記錄的具體時刻。

DriverStateLinkStatus

INT

駕駛員狀態監控設備的連接狀態。0表示已連接,1表示已斷開。

AirBagSystemStatus

INT

安全氣囊系統狀態。0表示關閉,1表示開啟。

HODHandoffmonitorValid

INT

手部脫離方向盤監測系統的合法性狀態。0表示合法,1表示非法。

BodyCtrlModRollCounter

INT

車身控制模塊的滾動計數器。

VehicleSpeed_kmph

INT

車輛當前行駛速度,單位為千米/小時(km/h)。

SteeringAngle_Deg

DOUBLE

方向盤當前的角度,單位為度(°)。

BatterySOC_Percent

DOUBLE

電池剩余電量,以百分比表示,即電池的SOC(State of Charge)。

BrakePedalStatus

INT

制動踏板的狀態,表示是否有制動操作。0表示不制動,1制動。

RegenBrakingLevel

INT

能量回收制動的級別,表示再生制動的強度。

AcceleratorPedalPos_Percent

DOUBLE

加速踏板的位置,以百分比表示。

CoolantTemperature_C

INT

冷卻液溫度,單位為攝氏度(-°C)。

AEB_Activation

INT

自動緊急制動的激活狀態,表示是否觸發了AEB功能。 0表示未啟動,1表示已啟動。

LaneAssistanceStatus

INT

車道保持輔助系統的狀態,表示該功能是否有效。0表示無效,1表示有效。

CruiseControlSpeedSet_kmph

INT

設定的巡航控制速度,單位為千米/小時(km/h)。

ParkingAssistEngaged

INT

泊車輔助系統激活狀態,表示是否啟用了自動泊車功能。0表示無效,1表示有效。

RainSensorStatus

INT

雨量傳感器狀態,表示是否檢測到雨水。0表示未檢測到,1表示檢測到了雨水。

TirePressure_FL_psi

DOUBLE

前左輪胎壓力,單位為磅每平方英寸(psi)。

TirePressure_FR_psi

DOUBLE

前右輪胎壓力,單位為磅每平方英寸(psi)。

TirePressure_RL_psi

DOUBLE

后左輪胎壓力,單位為磅每平方英寸(psi)。

TirePressure_RR_psi

DOUBLE

后右輪胎壓力,單位為磅每平方英寸(psi)。

LaneDepartureWarningActive

INT

車道偏離警告系統激活狀態,表示系統是否在監控和警告駕駛員關于無意識的車道變換。0表示關閉,1表示激活 。

BatteryStateOfHealth_Percent

DOUBLE

電池的健康狀態。即當前電池相對于全新電池的容量百分比,該數值越接近100%,表示電池越健康。

BatteryTemperature_Avg_C

INT

電池組中所有電池單元的平均溫度,單位為攝氏度(-°C)。溫度監控對電池的管理和壽命至關重要。

BatteryMaxCellVoltage_V

DOUBLE

電池組中單個電池單元的最大電壓,單位為伏特(V)。高電壓可能表明電池充電狀態良好或單體電壓不均。

BatteryMinCellVoltage_V

DOUBLE

電池組中單個電池單元的最小電壓,單位為伏特(V)。低電壓可能表明電池放電狀態過深或出現電池老化。

EvBatteryTemperature_C

DOUBLE

電動車電池的溫度,單位為攝氏度(-°C)。

1.創建Lindorm寬表

  1. 登錄云服務器ECS管理控制臺,在目標實例的操作列單擊遠程連接,使用root權限通過Workbench遠程登錄。image

  2. 跳轉至Lindorm-cli.exe所在目錄,連接Lindorm寬表引擎。

    ./lindorm-cli -url <jdbc url> -username <username> -password <password>

    參數說明

    參數

    獲取方法

    jdbc url

    寬表引擎的Lindorm寬表SQL地址。獲取方法請參見訪問實例

    username

    連接寬表引擎的默認用戶名和默認初始密碼。獲取方式請參見訪問實例

    password

  3. 創建表dwd_vehicle_tbox,用于存儲車機數據。

    CREATE TABLE dwd_vehicle_tbox (
      `vin` VARCHAR,
      `sampletime` bigint,
      `DriverStateLinkStatus` INT,
      `AirBagSystemStatus` INT,
      `HODHandoffmonitorValid` INT,
      `BodyCtrlModRollCounter` INT,
      `VehicleSpeed_kmph` INT,
      `SteeringAngle_Deg` DOUBLE,
      `BatterySOC_Percent` DOUBLE,
      `BrakePedalStatus` INT,
      `AcceleratorPedalPos_Percent` DOUBLE,
      `RegenBrakingLevel` INT,
      `CoolantTemperature_C` INT,
      `AEB_Activation` INT,
      `LaneAssistanceStatus` INT,
      `CruiseControlSpeedSet_kmph` INT,
      `ParkingAssistEngaged` INT,
      `RainSensorStatus` INT,
      `TirePressure_FL_psi` DOUBLE,
      `TirePressure_FR_psi` DOUBLE,
      `TirePressure_RL_psi` DOUBLE,
      `TirePressure_RR_psi` DOUBLE,
      `LaneDepartureWarningActive` INT,
      `BatteryStateOfHealth_Percent` DOUBLE,
      `BatteryTemperature_Avg_C` INT,
      `BatteryMaxCellVoltage_V` DOUBLE,
      `BatteryMinCellVoltage_V` DOUBLE,
      `EvBatteryTemperature_C` DOUBLE,
       PRIMARY KEY (vin,sampletime)
      );
  4. 可選)驗證表dwd_vehicle_tbox結構是否正確。

    DESCRIBE TABLE dwd_vehicle_tbox;

    返回結果:

    單擊展開返回結果

    +--------------+------------------+------------------------------+---------+----------------+------------+-------------------+-----------------+
    | TABLE_SCHEMA |    TABLE_NAME    |         COLUMN_NAME          |  TYPE   | IS_PRIMARY_KEY | SORT_ORDER | IS_AUTO_INCREMENT | IS_LOCAL_UNIQUE |
    +--------------+------------------+------------------------------+---------+----------------+------------+-------------------+-----------------+
    | default      | dwd_vehicle_tbox | vin                          | VARCHAR | true           | ASC        | false             | false           |
    | default      | dwd_vehicle_tbox | sampletime                   | BIGINT  | true           | ASC        | false             | false           |
    | default      | dwd_vehicle_tbox | DriverStateLinkStatus        | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | AirBagSystemStatus           | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | HODHandoffmonitorValid       | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BodyCtrlModRollCounter       | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | VehicleSpeed_kmph            | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | SteeringAngle_Deg            | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BatterySOC_Percent           | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BrakePedalStatus             | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | AcceleratorPedalPos_Percent  | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | RegenBrakingLevel            | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | CoolantTemperature_C         | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | AEB_Activation               | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | LaneAssistanceStatus         | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | CruiseControlSpeedSet_kmph   | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | ParkingAssistEngaged         | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | RainSensorStatus             | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | TirePressure_FL_psi          | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | TirePressure_FR_psi          | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | TirePressure_RL_psi          | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | TirePressure_RR_psi          | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | LaneDepartureWarningActive   | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BatteryStateOfHealth_Percent | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BatteryTemperature_Avg_C     | INT     | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BatteryMaxCellVoltage_V      | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | BatteryMinCellVoltage_V      | DOUBLE  | false          | none       | false             | false           |
    | default      | dwd_vehicle_tbox | EvBatteryTemperature_C       | DOUBLE  | false          | none       | false             | false           |
    +--------------+------------------+------------------------------+---------+----------------+------------+-------------------+-----------------+

2.創建流表

  1. 使用組合鍵Ctrl+D斷開寬表引擎的連接,跳轉至lindorm-sqlline-2.0.2目錄,執行以下命令連接流引擎。

    ./bin/lindorm-sqlline -url <jdbc url>

    參數說明

    參數

    獲取方法

    jdbc url

    流引擎的Lindorm Stream SQL地址。獲取方法:在Lindorm管理控制臺左側導航欄,選擇數據庫連接 > 流引擎

  2. 創建流表dwd_vehicle_tbox_stream,用于處理上游的報文數據。

    CREATE STREAM dwd_vehicle_tbox_stream (
      `vin` VARCHAR,
      `sampletime` BIGINT,
      `DriverStateLinkStatus` INT,
      `AirBagSystemStatus` INT,
      `HODHandoffmonitorValid` INT,
      `BodyCtrlModRollCounter` INT,
      `VehicleSpeed_kmph` INT,
      `SteeringAngle_Deg` DOUBLE,
      `BatterySOC_Percent` DOUBLE,
      `BrakePedalStatus` INT,
      `AcceleratorPedalPos_Percent` DOUBLE,
      `RegenBrakingLevel` INT,
      `CoolantTemperature_C` INT,
      `AEB_Activation` INT,
      `LaneAssistanceStatus` INT,
      `CruiseControlSpeedSet_kmph` INT,
      `ParkingAssistEngaged` INT,
      `RainSensorStatus` INT,
      `TirePressure_FL_psi` DOUBLE,
      `TirePressure_FR_psi` DOUBLE,
      `TirePressure_RL_psi` DOUBLE,
      `TirePressure_RR_psi` DOUBLE,
      `LaneDepartureWarningActive` INT,
      `BatteryStateOfHealth_Percent` DOUBLE,
      `BatteryTemperature_Avg_C` INT,
      `BatteryMaxCellVoltage_V` DOUBLE,
      `BatteryMinCellVoltage_V` DOUBLE,
      `EvBatteryTemperature_C` DOUBLE
      );
  3. (可選)執行以下語句,驗證表結構。

    DESCRIBE dwd_vehicle_tbox_stream;

    返回結果:

    單擊展開返回結果

    +---------------------------------------------------------------------------+
    |                                  Result                                   |
    +---------------------------------------------------------------------------+
    |  name                       | type   | null | key    | extras | watermark |
    ----------------------------------------------------------------------------+
    |vin                          | STRING | TRUE | <NULL> | <NULL> |   <NULL>  |
    |sampletime                   | BIGINT | TRUE | <NULL> | <NULL> |   <NULL>  |
    |DriverStateLinkStatus        | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |AirBagSystemStatus           | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |HODHandoffmonitorValid       | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BodyCtrlModRollCounter       | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |VehicleSpeed_kmph            | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |SteeringAngle_Deg            | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BatterySOC_Percent           | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BrakePedalStatus             | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |AcceleratorPedalPos_Percent  | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |RegenBrakingLevel            | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |CoolantTemperature_C         | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |AEB_Activation               | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |LaneAssistanceStatus         | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |CruiseControlSpeedSet_kmph   | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |ParkingAssistEngaged         | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |RainSensorStatus             | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |TirePressure_FL_psi          | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |TirePressure_FR_psi          | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |TirePressure_RL_psi          | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |TirePressure_RR_psi          | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |LaneDepartureWarningActive   | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BatteryStateOfHealth_Percent | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BatteryTemperature_Avg_C     | INT    | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BatteryMaxCellVoltage_V      | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |BatteryMinCellVoltage_V      | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    |EvBatteryTemperature_C       | DOUBLE | TRUE | <NULL> | <NULL> |   <NULL>  |
    +---------------------------------------------------------------------------+

3.創建數據入庫任務

  1. 執行以下語句創建數據入庫任務,使流表不斷傳輸數據到寬表。

    -- 創建數據入庫任務,后續可以通過該CQ名稱查詢任務的狀態.
    CREATE CQ dwd_vehicle_tbox_stream_job ;
    
    -- 建立關聯,如果您只需要抽取一部分數據,可以根據需求調整SQL語句.
    INSERT INTO lindorm_table.`default`.dwd_vehicle_tbox
    SELECT * FROM dwd_vehicle_tbox_stream;
  2. (可選)查看入庫任務狀態。

    DESCRIBE dwd_vehicle_tbox_stream_job;

    返回結果:

    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    |                                                                              Result                                                                                 |
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    |  Query ID                    | Job ID                           | Status  | Is Stoppable | Start time    | End time | Duration | Max Parallelism | DelayMs   |  Sql |
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    |  dwd_vehicle_tbox_stream_job | 2112c72ef3c3aeab587438f95013135c | RUNNING | false        | 1720174064325 | -1       | 57912    | -1              | 3321553.0 | IA== |
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------+

4.導入數據

  1. 使用組合鍵Ctrl+D斷開流引擎的連接,執行以下命令安裝Python依賴。

    python3 -m pip install kafka-python
  2. 創建Python腳本文件demo.py,執行以下命令編輯文件。

    vim demo.py
  3. 編寫完整代碼,使用Python腳本模擬生成車機原始數據導入流表dwd_vehicle_tbox_stream

    # -*- coding: UTF-8 -*-
    import csv
    import random
    import datetime
    import json
    from kafka import KafkaProducer
    
    
    def random_string(length=32):
        return ''.join(random.choices('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', k=length))
    
    
    def random_int(min_val, max_val):
        return random.randint(min_val, max_val)
    
    
    def random_double(min_val, max_val):
        return random.uniform(min_val, max_val)
    
    
    def generate_vehicle_tbox_row(vin=None, current_time=None):
        """給定一個 VIN 和當前時間,生成一行車輛 T-Box 數據。"""
        vehicle_tbox_row_dict = {
            "vin": vin,
            "sampletime": (current_time - random.randint(0, 365 * 24 * 60 * 60 * 1000)),
            "DriverStateLinkStatus": random_int(0, 1),
            "AirBagSystemStatus": random_int(0, 1),
            "HODHandoffmonitorValid": random_int(0, 1),
            "BodyCtrlModRollCounter": random_int(8, 60),
            "VehicleSpeed_kmph": random_int(0, 300),
            "SteeringAngle_Deg": random_double(-720, 720),
            "BatterySOC_Percent": random_double(0, 100),
            "BrakePedalStatus": random_int(0, 1),
            "AcceleratorPedalPos_Percent": random_double(0, 100),
            "RegenBrakingLevel": random_int(0, 5),
            "CoolantTemperature_C": random_int(0, 100),
            "AEB_Activation": random_int(0, 1),
            "LaneAssistanceStatus": random_int(0, 1),
            "CruiseControlSpeedSet_kmph": random_int(0, 300),
            "ParkingAssistEngaged": random_int(0, 1),
            "RainSensorStatus": random_int(0, 1),
            "TirePressure_FL_psi": random_double(0, 3),
            "TirePressure_FR_psi": random_double(0, 3),
            "TirePressure_RL_psi": random_double(0, 3),
            "TirePressure_RR_psi": random_double(0, 3),
            "LaneDepartureWarningActive": random_int(0, 1),
            "BatteryStateOfHealth_Percent": random_double(0, 100),
            "BatteryTemperature_Avg_C": random_int(10, 70),
            "BatteryMaxCellVoltage_V": random_double(3, 8),
            "BatteryMinCellVoltage_V": random_double(3, 8),
            "EvBatteryTemperature_C": random_double(10, 70)
        }
        return vehicle_tbox_row_dict
    
    
    def create_kafka_producer(bootstrap_servers='localhost:9092'):
        """創建并返回 Kafka 生產者實例"""
        producer_config = {
            'bootstrap_servers': bootstrap_servers,  # Kafka集群地址
            'value_serializer': lambda v: json.dumps(v).encode('utf-8'),  # 設置值的序列化器為JSON
            'batch_size': 16384,  # 批處理大小限制(字節數),到達這個大小后會發送批量數據
            'linger_ms': 10,  # 毫秒,數據滯留時間(即使batch.size未滿,linger.ms時間到了也會發送數據)
            'acks': 'all'  # 確認設置,等待所有副本節點的確認
        }
        producer = KafkaProducer(**producer_config)
        return producer
    
    
    if __name__ == "__main__":
        count = 200000  # 記錄行數
        vin_count = 10  # 車輛數量
        bootstrap_servers = "ld-bp1n18l34fefk****-proxy-stream.lindorm.rds.aliyuncs.com:30080"  # 中間件連接地址
        topicName = "-LINSTREAM-default.dwd-vehicle-tbox-stream"  # 根據實際情況設置
        vins = [random_string() for _ in range(vin_count)]
        producer = create_kafka_producer(bootstrap_servers=bootstrap_servers)
        insert_number = 0
        start_time = datetime.datetime.now().timestamp()
        insert_vins = set()
        for _ in range(count):
            vin = random.choice(vins)
            insert_vins.add(vin)
            row_json = generate_vehicle_tbox_row(vin, datetime.datetime.now().timestamp() * 1000)
            producer.send(topicName, row_json)
            insert_number = insert_number + 1
            if insert_number == 10000:
                print("insert row 10000")
                producer.flush()
                insert_number = 0
        producer.flush()
        producer.close()
        print("insert " + str(count) + ", cost " + str(datetime.datetime.now().timestamp() - start_time) + " s.\n")
        print("insert vins is " , insert_vins)

    參數說明

    參數

    說明

    bootstrap_servers

    Lindorm中間件連接地址。獲取方式:在Lindorm管理控制臺左側導航欄,選擇數據庫連接 > 消息引擎

    topicName

    topic名稱,格式為-LINSTREAM-+ Database名+“.”+流表名。

  4. 執行以下命令運行腳本文件,將模擬車機原始報文數據批量導入。

    python3 demo.py
  5. 可選)驗證數據導入結果。

    1. 再次使用Lindorm-cli連接寬表引擎。

      ./lindorm-cli -url <jdbc url> -username <默認用戶名> -password <默認初始密碼>
    2. 執行以下命令驗證導入結果。

      SELECT * FROM dwd_vehicle_tbox LIMIT 10;

通過計算引擎進行復雜查詢

創建列存索引

在進行復雜查詢之前,您需要創建列存索引來增強數據分析計算能力,從而實現高效的數據查詢。

  1. 通過Lindorm-cli連接寬表引擎。

    ./lindorm-cli -url <jdbc url> -username <username> -password <password>
  2. 創建列存索引column_index_dwd_vehi

    CREATE INDEX column_index_dwd_vehicle_tbox USING COLUMNAR
    ON dwd_vehicle_tbox(*)
    PARTITION BY ENUMERABLE (bucket(128, vin))
    WITH (`lindorm_columnar.user.index.database` = 'vehicle_db', `lindorm_columnar.user.index.table` = 'dwd_vehicle_tbox_column_idx');
  3. 可選)驗證索引信息和狀態。

    SHOW INDEX FROM dwd_vehicle_tbox;

    返回結果:

    +--------------+------------------+-------------------------------+-------------+----------------+------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------------------+
    | TABLE_SCHEMA |    DATA_TABLE    |          INDEX_NAME           | INDEX_STATE | INDEX_PROGRESS | INDEX_TYPE | INDEX_COVERED |                                                                                                                                                                                                                                                                                         INDEX_COLUMN                                                                                                                                                                                                                                                                                          | INDEX_TTL |            INDEX_DESCRIPTION            |
    +--------------+------------------+-------------------------------+-------------+----------------+------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------------------+
    | default      | dwd_vehicle_tbox | column_index_dwd_vehicle_tbox | ACTIVE      |                | COLUMNAR   | NA            | vin,sampletime,DriverStateLinkStatus,AirBagSystemStatus,HODHandoffmonitorValid,BodyCtrlModRollCounter,VehicleSpeed_kmph,SteeringAngle_Deg,BatterySOC_Percent,BrakePedalStatus,AcceleratorPedalPos_Percent,RegenBrakingLevel,CoolantTemperature_C,AEB_Activation,LaneAssistanceStatus,CruiseControlSpeedSet_kmph,ParkingAssistEngaged,RainSensorStatus,TirePressure_FL_psi,TirePressure_FR_psi,TirePressure_RL_psi,TirePressure_RR_psi,LaneDepartureWarningActive,BatteryStateOfHealth_Percent,BatteryTemperature_Avg_C,BatteryMaxCellVoltage_V,BatteryMinCellVoltage_V,EvBatteryTemperature_C |           | index table:                            |
    |              |                  |                               |             |                |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | vehicle_db.dwd_vehicle_tbox_column_idx; |
    |              |                  |                               |             |                |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | task id:                                |
    |              |                  |                               |             |                |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | 8e60fb75-f01d-4a17-b1fc-9fb50ddc25a8;   |
    |              |                  |                               |             |                |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | partition by: [hash(128,vin)];          |
    |              |                  |                               |             |                |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | attributes: []                          |
    +--------------+------------------+-------------------------------+-------------+----------------+------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------------------+

    INDEX_STATEBUILDING變為ACTIVE時,表示索引已創建完成,此過程大概需等待3分鐘。

復雜查詢

  1. 可選)車輛的電池健康數據按照一定時間頻率上傳至Lindorm,在執行復雜查詢之前您可以先使用簡單的查詢語句查看表中數據。

    例如,查詢某一時間段內的10條電池數據。

    SELECT  vin,BatteryStateOfHealth_Percent FROM  lindorm_columnar.vehicle_db.dwd_vehicle_tbox_column_idx WHERE sampletime >= 1686585600000 AND BatteryStateOfHealth_Percent <= 80 LIMIT 10;

    返回結果:

    單擊展開返回結果

    +----------------------------------+------------------------------+
    |               vin                | BatteryStateOfHealth_Percent |
    +----------------------------------+------------------------------+
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 23.764850669436843           |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 6.215661473439549            |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 12.852751497229441           |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 8.332735748118846            |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 19.596259310247877           |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 17.621117691572984           |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 66.77781508961095            |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 77.56923806011324            |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 25.969897299920774           |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 | 71.45633174979432            |
    +----------------------------------+------------------------------+
  2. 查詢每輛車最后一次上報的記錄,并根據電池健康程度排序,查詢電池健康度最低的前10輛汽車和電池信息。

    SELECT vin,BatteryStateOfHealth_Percent FROM (SELECT *,ROW_NUMBER() OVER (PARTITION BY vin ORDER BY sampletime DESC) AS rn FROM lindorm_table.`default`.dwd_vehicle_tbox WHERE sampletime >= 1686585600000) AS tmp WHERE rn=1 ORDER BY BatteryStateOfHealth_Percent ASC LIMIT 10;

    返回結果:

    單擊展開返回結果

    +----------------------------------+------------------------------+
    |               vin                | BatteryStateOfHealth_Percent |
    +----------------------------------+------------------------------+
    | j878HLSbLco8jSVVyTY8CMUZqfkUs28v | 20.652739801362372           |
    | echVK3CaoAYBSPoKxbaCrMEW8y4BTpmg | 21.518064804363355           |
    | SLJ1mkIbwBaiSLZO9xc1gy0cbUK69ULc | 23.388871500485052           |
    | DgBXmx0idrLeSVq08RobnYPxl45sYchb | 27.994995362735676           |
    | 4pJpua6dn1jzTevlI0NsruBe91rVVix9 | 30.321789199354043           |
    | CgO3PchAjoKprtBrFbyCG5kK3UGkBcpQ | 31.9348912927222             |
    | 3gP6BebgBxACvguf0de6juIiwdoCWvWB | 33.72344917241882            |
    | iMJY8rDr08tFe4BHFQtkalhQ5KSdyOMD | 36.89775232730048            |
    | Dsn9Wzr65FVZWaq1ajeV6uH7rFLYOH8h | 44.50827494756204            |
    | Yxoi4mTxvWJB7hKmlPkCnbgK9nUY7Ba2 | 66.27943854842643            |
    +----------------------------------+------------------------------+

通過搜索引擎進行多維檢索

通過搜索索引執行多維檢索耗時更短效率更高。您可以根據以下步驟,對比針對同一查詢條件時使用搜索索引和無搜索索引的查詢效率。

未創建搜索索引

基于電池健康和胎壓兩個維度,查詢過去一年中電池健康程度低(小于50)并且胎壓過低(胎壓指標小于2) 的車輛。

-- 1686585600000 = 2023-06-13 0:0:00
SELECT DISTINCT(vin) FROM dwd_vehicle_tbox WHERE  sampletime >= 1686585600000 AND BatteryStateOfHealth_Percent < 50 AND (TirePressure_FL_psi < 2 OR TirePressure_FR_psi < 2 OR TirePressure_RL_psi < 2 OR TirePressure_RR_psi < 2);

返回結果:

單擊展開返回結果

+----------------------------------+
|               vin                |
+----------------------------------+
| 0JImIThOLvmYbKmhCP1Mact83E7XvF6s |
| 4spNfR8OhEsDXXaZADS3jivPQUGPXUQo |
| 59ydPuK3xdCvBV8wB1Y5UHsmWfO2aNQj |
| 5Kq9BkgTzNSexZ3fd3XL7AaF56NNVXHu |
| EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 |
| EwB2929l43ttvFNudMZDogppzbXfzYJ1 |
| FaXdxPwK0An7LbaeUV0r8PmqPoBz7Tn9 |
| KDx9AF9qrr4zhJR3sXsuEmVIANjTj8wg |
| LsvywOyn1lLjbrzEghQlHk3aXHfVr8Py |
| SivBFi3uzuUQT9bjO4jrIO7NEd9PYd55 |
| YC6zOBs7h57aqjIGZddDtzZ2YXfREnG2 |
| hkCS5GQ5sHBy2uyPEj7ifGXs21L4EUHu |
| k0kXqJMvx4gyOWfFUIHG6d4N2K8GFdDP |
| mHFfXFIGeItuZM4G9WYyqrEwyMrumsrZ |
| mXtpBVucRZVdKC2FH9MfP0i3MJCOsXXn |
| nH5YV2MAh3EDA14r2efpIHtIMp3AdsH4 |
| rXVDXz7JZ0PpvBgWu79bsKBWmcykxbnJ |
| rfsvhAgRbikInQ6O7gHDztLNWwQnZjVl |
| xU6qTtaDesFrSlQVLkZDe0vQE15gd5VE |
| yWuGjDH9fyRNAlF7k7HUe4GQFHHzSh9Y |
+----------------------------------+
20 rows in set (94912 ms)

該查詢為全表掃描,總耗時為94912 ms。

使用搜索索引

  1. 再次通過Lindorm-cli連接寬表引擎。

    ./lindorm-cli -url <jdbc url> -username <username> -password <password>
  2. 創建搜索索引。

    CREATE INDEX IF NOT EXISTS dwd_vehicle_tbox_search_idx USING SEARCH ON dwd_vehicle_tbox (BatteryStateOfHealth_Percent,TirePressure_FL_psi,TirePressure_FR_psi,TirePressure_RL_psi,TirePressure_RR_psi);
  3. (可選)查詢搜索索引的狀態。

    SHOW INDEX FROM dwd_vehicle_tbox;

    返回結果:

    +--------------+------------------+-------------------------------+-------------+-------------------------------+------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------------------+
    | TABLE_SCHEMA |    DATA_TABLE    |          INDEX_NAME           | INDEX_STATE |        INDEX_PROGRESS         | INDEX_TYPE | INDEX_COVERED |                                                                                                                                                                                                                                                                                         INDEX_COLUMN                                                                                                                                                                                                                                                                                          | INDEX_TTL |            INDEX_DESCRIPTION            |
    +--------------+------------------+-------------------------------+-------------+-------------------------------+------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------------------+
    | default      | dwd_vehicle_tbox | dwd_vehicle_tbox_search_idx   | ACTIVE      | N/A                           | SEARCH     | NA            | BatteryStateOfHealth_Percent,TirePressure_FL_psi,TirePressure_FR_psi,TirePressure_RL_psi,TirePressure_RR_psi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | -1        |                                         |
    | default      | dwd_vehicle_tbox | column_index_dwd_vehicle_tbox | ACTIVE      | 2024-07-08 10:40:09.388 +0800 | COLUMNAR   | NA            | vin,sampletime,DriverStateLinkStatus,AirBagSystemStatus,HODHandoffmonitorValid,BodyCtrlModRollCounter,VehicleSpeed_kmph,SteeringAngle_Deg,BatterySOC_Percent,BrakePedalStatus,AcceleratorPedalPos_Percent,RegenBrakingLevel,CoolantTemperature_C,AEB_Activation,LaneAssistanceStatus,CruiseControlSpeedSet_kmph,ParkingAssistEngaged,RainSensorStatus,TirePressure_FL_psi,TirePressure_FR_psi,TirePressure_RL_psi,TirePressure_RR_psi,LaneDepartureWarningActive,BatteryStateOfHealth_Percent,BatteryTemperature_Avg_C,BatteryMaxCellVoltage_V,BatteryMinCellVoltage_V,EvBatteryTemperature_C |           | index table:                            |
    |              |                  |                               |             |                               |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | vehicle_db.dwd_vehicle_tbox_column_idx; |
    |              |                  |                               |             |                               |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | task id:                                |
    |              |                  |                               |             |                               |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | 8e60fb75-f01d-4a17-b1fc-9fb50ddc25a8;   |
    |              |                  |                               |             |                               |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | partition by: [hash(128,vin)];          |
    |              |                  |                               |             |                               |            |               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |           | attributes: []                          |
    +--------------+------------------+-------------------------------+-------------+-------------------------------+------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------------------+

    INDEX_STATEBUILDING變為ACTIVE時,表示索引已創建完成。

    說明

    如果索引狀態一直沒有變為ACTIVE狀態,可以通過LTS控制臺查看搜索索引實時同步以及全量同步的執行情況。

    查看方式:在LTS控制臺左側導航欄選擇Lindorm Search > 全量同步,單擊目標任務名。如何登錄LTS,請參見登錄LTS

  4. 使用相同查詢語句查詢數據。

    基于電池健康和胎壓兩個維度,查詢過去一年電池健康程度低(小于50)且胎壓過低(胎壓指標小于2) 的車輛。

    -- 1686585600000 = 2023-06-13 0:0:00
    SELECT DISTINCT(vin) FROM dwd_vehicle_tbox WHERE  sampletime >= 1686585600000 AND BatteryStateOfHealth_Percent < 50 AND (TirePressure_FL_psi < 2 OR TirePressure_FR_psi < 2 OR TirePressure_RL_psi < 2 OR TirePressure_RR_psi < 2);

    返回結果:

    單擊展開返回結果

    +----------------------------------+
    |               vin                |
    +----------------------------------+
    | 0JImIThOLvmYbKmhCP1Mact83E7XvF6s |
    | 4spNfR8OhEsDXXaZADS3jivPQUGPXUQo |
    | 59ydPuK3xdCvBV8wB1Y5UHsmWfO2aNQj |
    | 5Kq9BkgTzNSexZ3fd3XL7AaF56NNVXHu |
    | EEL5dgXYFjra8jF3tNOUuZPFL0Imh906 |
    | EwB2929l43ttvFNudMZDogppzbXfzYJ1 |
    | FaXdxPwK0An7LbaeUV0r8PmqPoBz7Tn9 |
    | KDx9AF9qrr4zhJR3sXsuEmVIANjTj8wg |
    | LsvywOyn1lLjbrzEghQlHk3aXHfVr8Py |
    | SivBFi3uzuUQT9bjO4jrIO7NEd9PYd55 |
    | YC6zOBs7h57aqjIGZddDtzZ2YXfREnG2 |
    | hkCS5GQ5sHBy2uyPEj7ifGXs21L4EUHu |
    | k0kXqJMvx4gyOWfFUIHG6d4N2K8GFdDP |
    | mHFfXFIGeItuZM4G9WYyqrEwyMrumsrZ |
    | mXtpBVucRZVdKC2FH9MfP0i3MJCOsXXn |
    | nH5YV2MAh3EDA14r2efpIHtIMp3AdsH4 |
    | rXVDXz7JZ0PpvBgWu79bsKBWmcykxbnJ |
    | rfsvhAgRbikInQ6O7gHDztLNWwQnZjVl |
    | xU6qTtaDesFrSlQVLkZDe0vQE15gd5VE |
    | yWuGjDH9fyRNAlF7k7HUe4GQFHHzSh9Y |
    +----------------------------------+
    20 rows in set (14321 ms)

    可以從返回結果看出,在相同查詢條件下未創建搜索索引時全表查詢耗時94912 ms,使用了搜索索引后查詢耗時14321 ms,時延大幅降低。

    說明

    搜索引擎在復雜多條件的查詢下延遲更低,更適用于涉及在線查詢業務較多的場景,而計算引擎更適合做更加復雜的查詢,例如有離線分析需求的場景。