InfluxDB 做為目標的時間串流 - Amazon Timestream

如需類似 Amazon Timestream for LiveAnalytics 的功能,請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間,以進行即時分析。在這裡進一步了解。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

InfluxDB 做為目標的時間串流

Amazon Timestream for InfluxDB 是 上的受管時間序列資料庫服務 AWS ,針對即時應用程式使用開放原始碼 InfluxDB APIs。它提供簡單的設定、操作和擴展,以單一位數毫秒的回應時間交付查詢。

判斷 Timestream for InfluxDB 是否為適合您使用案例的遷移目標的第一個步驟是判斷 Timestream for LiveAnalytics 資料表的基數。我們已開發指令碼來計算 Timestream for LiveAnalytics 中的資料表基數。此計算有兩個目的:

  1. 檢查基數是否低於 1,000 萬,這將有助於判斷 Timestream for InfluxDB 是否可以處理您的使用案例。

  2. 協助您決定要使用哪個 Timestream for InfluxDB 執行個體類型

InfluxDB 中的基數是 InfluxDB 儲存貯體中唯一測量標籤欄位索引鍵組合的數量。請參閱 Timestream for InfluxDB 的基數管理文件,以了解超過建議限制如何降低查詢效能並增加記憶體消耗。在完成執行個體選取之前,將預期的查詢模式與代表性資料範例進行基準測試,以確保您的查詢在遷移後保持效能。請注意與 Timestream for LiveAnalytics 中行為不同的記憶體密集彙總查詢。從 Timestream for LiveAnalytics 遷移時,請根據資料集的基數仔細選取 InfluxDB 執行個體規格,因為這會直接影響效能和資源需求。如果您的資料基數超過 1,000 萬,建議您考慮其他目的地。

基數計算指令碼概觀

基數計算指令碼會計算 Timestream for LiveAnalytics 資料表的基數。如果基數低於 1,000 萬,指令碼會建議 InfluxDB 執行個體類型的 Timestream。使用預設結構描述映射,透過計算維度和度量名稱的總唯一組合來計算基數。選擇正確的行通訊協定標籤 (相當於 Timestream for LiveAnalytics 中的維度) 可協助您自動編製資料索引,並使用標籤有效率地篩選資料。指令碼也提供在計算基數時排除特定維度的選項。如果適用於您的案例,也就是說,如果您未使用特定維度來篩選 SQL 查詢中的資料 (特別是未使用它們做為述詞),則可以將這些維度排除在基數計算之外。稍後,您可以在遷移的後續步驟中將它們擷取為欄位 (相當於 Timestream for LiveAnalytics 中的量值)。

先決條件和安裝

請參閱基數指令碼的 README 中的先決條件區段和安裝。

基本用量

若要判斷資料表 example_table 的基數,請在資料庫 example_database 中使用指令碼,方法如下:

python3 cardinality.py \ --table-name example_table \ --database-name example_database

這會產生下列輸出:

Cardinality of "example_database"."example_table": 160 Your recommended Timestream for InfluxDB type is: db.influx.medium

建議

指令碼會自動掃描整個資料表以計算基數,同時提供時間篩選條件選項以獲得最佳查詢執行。當您的資料涉及一致的維度,而且在整個資料表中分析不同的維度變化時,我們建議您實作時間篩選條件,以產生類似的結果來分析特定時間範圍。此方法可確保有效率且高效能的查詢執行。

如需詳細資訊,請參閱基數指令碼的 README