

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

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

# InfluxDB 做為目標的時間串流
<a name="timestream-influxdb-target"></a>

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

判斷 Timestream for InfluxDB 是否為適合您使用案例的適當遷移目標的第一個步驟是判斷 Timestream for LiveAnalytics 資料表的基數。我們已開發[指令碼](https://github.com/awslabs/amazon-timestream-tools/blob/mainline/tools/python/liveanalytics_migration_scripts/cardinality/README.md)來計算 Timestream for LiveAnalytics 中的資料表基數。此計算有兩種用途：

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

1. 協助您決定要使用哪個 [Timestream for InfluxDB 執行個體類型](timestream-for-influxdb.md#timestream-for-influx-dbi-classtypes)。

InfluxDB 中的[基數](https://docs.influxdata.com/influxdb/v2/reference/glossary/#series-cardinality)是 InfluxDB [儲存貯](https://docs.influxdata.com/influxdb/v2/admin/buckets/)體中唯一[測量](https://docs.influxdata.com/influxdb/v2/reference/syntax/line-protocol/#measurement)、[標籤](https://docs.influxdata.com/influxdb/v2/reference/syntax/line-protocol/#tag-set)和[欄位索引鍵](https://docs.influxdata.com/influxdb/v2/reference/syntax/line-protocol/#field-set)組合的數量。請參閱 [Timestream for InfluxDB 的基數管理文件](timestream-for-influxdb.md#timestream-for-influx-getting-started-security-best-practices)，以了解超過建議限制如何降低查詢效能並增加記憶體消耗。在完成執行個體選取之前，將預期的查詢模式與代表性資料範例進行基準測試，以確保您的查詢在遷移後仍保持有效。請注意可能與 Timestream for LiveAnalytics 行為不同的記憶體密集彙總查詢。從 Timestream for LiveAnalytics 遷移時，請根據資料集的基數仔細選取 InfluxDB 執行個體規格，因為這會直接影響效能和資源需求。如果您的資料基數超過 1，000 萬，建議您考慮其他目的地。

**基數計算指令碼概觀**

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

*先決條件和安裝*

請參閱[基數指令碼的 README](https://github.com/awslabs/amazon-timestream-tools/blob/mainline/tools/python/liveanalytics_migration_scripts/cardinality/README.md) 中的先決條件區段和安裝。

**基本用量**

若要判斷資料表的基數 example\_table，請在資料庫 example\_database 中使用指令碼，方法如下：

**Example**  

```
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](https://github.com/awslabs/amazon-timestream-tools/blob/mainline/tools/python/liveanalytics_migration_scripts/cardinality/README.md)。