如需類似 Amazon Timestream for LiveAnalytics 的功能,請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間,以進行即時分析。在這裡進一步了解。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
InfluxDB 3 的 Amazon Timestream
什麼是 InfluxDB 3 的 Timestream?
Amazon Timestream for InfluxDB 3 是一項受管時間序列資料庫服務,可讓應用程式開發人員和 DevOps 團隊輕鬆地在 上執行 InfluxDB 3 資料庫, AWS 以供使用開放原始碼 APIs 的大規模時間序列分析應用程式使用。使用 Amazon Timestream for InfluxDB 3,您可以輕鬆設定、操作和擴展時間序列工作負載,這些工作負載旨在處理高基數資料和複雜的分析查詢。
InfluxDB 3 代表 InfluxDB 資料庫引擎的完整架構重新構想。與使用時間結構化合併樹 (TSM) 儲存引擎的第 1 版和第 2 版不同,InfluxDB 3 是從頭開始建置的。這個新版本利用 Apache Arrow 進行記憶體內資料處理、Apache Data Fusion 進行查詢執行,以及單欄式儲存格式 (Parquet) 進行物件儲存 (Amazon S3) 中的資料持久性。此架構轉移可讓 InfluxDB 3 為高基數資料提供增強的效能,並為大型分析工作負載有效率地擴展。InfluxDB 3 架構可改善資料密集型使用案例的查詢效能和資源使用率。
Amazon Timestream for InfluxDB 3 可讓您存取這個新一代時間序列資料庫引擎的功能。架構轉換可啟用大規模的時間序列分析工作負載,並利用單欄式 Parquet 儲存格式固有的壓縮、分割和查詢最佳化功能。透過從儲存體解耦運算,InfluxDB 3 可以擴展以處理幾乎無限制的資料磁碟區,同時保持成本效益。
Amazon Timestream for InfluxDB 3 可以自動備份資料庫,並讓資料庫軟體與最新版本保持最新狀態。與所有 一樣 AWS 服務,不需要預付投資,您只需為使用的資源付費。
資料庫叢集
資料庫叢集是 Timestream for InfluxDB 3 的基本建置區塊。與傳統資料庫執行個體不同,InfluxDB 3 使用叢集型架構,將運算與儲存區分開,利用 Amazon S3 提供幾乎無限制且符合成本效益的資料儲存。
您可以在 Core 或 Enterprise 版本中設定 InfluxDB 3 部署:
核心版本
InfluxDB 3 的核心版本僅限於單一節點叢集部署,且缺少壓縮功能,這會影響其對特定工作負載的適用性。由於這些限制,Core 版本主要用於專注於最近資料的近乎即時工作負載 (通常是幾天前)。不建議用於涉及長期儲存和分析的使用案例,因為如果沒有壓縮程序來最佳化儲存,效能會隨著時間降低。
企業版本
企業版 InfluxDB 3 支援多節點叢集組態,並包含基本的壓縮功能,可水平擴展讀取和寫入操作。這些多節點部署提供增強的可用性、改善並行查詢的效能,以及更高的整體系統彈性。Enterprise 版本中的壓縮功能使其適用於高基數資料和長期分析使用案例,因為它會持續最佳化基礎儲存格式。企業叢集可以透過新增節點來擴展,以適應不斷增長的工作負載,而不會中斷持續的操作。
每個資料庫叢集都有一個資料庫叢集識別符。此自動產生的名稱在與 Amazon Timestream for InfluxDB API 和 AWS CLI 命令互動時,可唯一識別資料庫叢集。資料庫叢集識別符對於 中的該客戶是唯一的 AWS 區域。
InfluxDB 的 Timestream 會為您的叢集配置 DNS 端點。服務產生的識別符構成叢集 DNS 端點的一部分。例如,如果叢集的服務產生識別符為 xghozx1v79,則 DNS 端點為 xghozx1v79-3ksj4dla5nfjhi.timestream-influxdb3.us-east-1.on.aws。
Amazon Timestream for InfluxDB 3 可讓您在建立程序中為資料庫叢集建立主要使用者帳戶和密碼。此主要使用者具有建立 datababs、資料表,以及對資料執行讀取、寫入、刪除和 upsert 操作的許可。
若要存取視覺化的 Web 型使用者介面,您可以使用 InfluxDB 探索,該探索可從 InfluxData
資料庫叢集類別
資料庫叢集類別會決定 Amazon Timestream for InfluxDB 3 叢集內節點的運算和記憶體容量。適當的叢集類別取決於您的處理能力和記憶體需求。
InfluxDB 3 叢集類別
InfluxDB 3 叢集使用專門針對 Amazon S3 型儲存架構最佳化的執行個體類別。這些類別指定為 db.influxIOIncluded,旨在平衡運算資源與使用物件儲存的 I/O 需求。db.influxIOIncluded 運算執行個體的定價已包含針對 Amazon S3 執行的所有 I/O 操作,無論客戶的特定 I/O 模式為何,都能為客戶提供可預測的成本。
下表顯示 InfluxDB 3 叢集節點類別的硬體詳細資訊:
| 執行個體類別 | vCPU | 記憶體 (GiB) | 儲存類型 | 網路頻寬 (Gbps) |
|---|---|---|---|---|
| db.influxIOIncluded.medium | 1 | 8 | S3 物件儲存 | 12 |
| db.influxIOIncluded.large | 2 | 16 | S3 物件儲存 | 12 |
| db.influxIOIncluded.xlarge | 3 | 32 | S3 物件儲存 | 15 |
| db.influxIOIncluded.2xlarge | 8 | 64 | S3 物件儲存 | 20 |
| db.influxIOIncluded.4xlarge | 16 | 128 | S3 物件儲存 | 25 |
| db.influxIOIncluded.8xlarge | 32 | 256 | S3 物件儲存 | 30 |
| db.influxIOIncluded.12xlarge | 48 | 384 | S3 物件儲存 | 22.5 |
| db.influxIOIncluded.16xlarge | 64 | 512 | S3 物件儲存 | 30 |
| db.influxIOIncluded.24xlarge | 96 | 768 | S3 物件儲存 | 40 |
db.influxIOIncluded 執行個體類別專門設計為:
-
有效率地管理運算節點和 Amazon S3 物件儲存之間的 I/O 操作。
-
提供使用 Apache Arrow 架構處理時間序列資料的最佳memory-to-CPU 比率。
-
支援 Data Fusion 查詢引擎的運算需求。
對於具有多節點叢集的企業部署,所有節點都使用相同的執行個體類別,以確保整個叢集的平衡效能。隨著工作負載的增加,您可以為叢集中的所有節點選取較大的執行個體類別來擴展,或將相同類別的更多節點新增至叢集來擴展。
資料庫叢集類別的硬體規格
下列術語說明資料庫叢集類別的硬體規格:
-
vCPU – 虛擬中央處理單元 (CPUs的數量。虛擬 CPU 是容量單位,可用來比較資料庫叢集類別。
-
記憶體 (GiB) – 配置給資料庫叢集節點的 RAM,以 GB 為單位。記憶體和 vCPU 之間的比率通常是固定的。
-
Storage Type – InfluxDB 3 使用與運算節點分開的 S3 物件儲存。
-
網路頻寬 – 相對於其他資料庫叢集類別的網路速度。
資料庫叢集儲存體
Amazon Timestream for InfluxDB 3 推出不同的儲存架構,透過利用 Amazon S3 儲存物件,將運算與儲存體分離。此架構提供幾乎無限制的儲存容量,同時在大規模部署中控制成本。
InfluxDB 物件儲存
InfluxDB 3 叢集使用名為 InfluxDB 物件儲存的單一儲存類別,其建置於 Amazon S3。此儲存選項提供:
-
幾乎無限制的儲存容量
-
適用於大型資料磁碟區的經濟實惠儲存體 (相較於 InfluxDB 2.x,超過 16TB 的部署可節省高達 75%)
-
耐用性為 99.999999999% (11 個九)
-
以單欄 Parquet 格式存放的資料,可有效壓縮和查詢效能
與儲存直接連接到運算節點的傳統資料庫架構不同,InfluxDB 3 的物件儲存會跨叢集中的所有節點共用。每個節點都會針對經常存取的資料維護本機記憶體內快取,以在基礎資料保留在 Amazon S3 時最佳化查詢效能。
InfluxDB 物件儲存定價是根據:
-
儲存的總資料量 (GB/月),每月最低費用等於 200GB
I/O 操作成本會綁定在 db.influxIOIncluded 執行個體類別的運算定價內,為客戶提供更可預測的成本,無論其特定的 I/O 模式為何。
儲存架構優點
InfluxDB 3 中的 Amazon S3 型儲存架構特別有益於:
-
大規模的時間序列分析工作負載
-
高基數資料需求
-
長期資料保留案例
-
經濟實惠地儲存大型時間序列資料集
此儲存模型與 Timestream for LiveAnalytics 的磁性儲存層相當,後者也是物件儲存體型,並針對長期儲存和分析使用案例進行最佳化。InfluxDB 3 的儲存經濟體旨在與 LiveAnalytics 的磁性存放區定價競爭,此模型已證實適合想要長時間執行和存放大規模時間序列工作負載和資料的客戶。
資料庫叢集大小
Timestream for InfluxDB 3 叢集的最佳組態取決於各種因素,包括擷取速率、批次大小、時間序列基數、並行查詢和查詢類型。
調整 InfluxDB 3 叢集的大小時,請考慮以下其他因素,因為其架構不同:
-
儲存效率:對於資料超過 16TB 的部署,相較於 Timestream for InfluxDB 2 部署,InfluxDB 3 的物件儲存可以節省高達 75% 的成本。 InfluxDB
-
工作負載特性:InfluxDB 3 已針對大型資料集上的高基數資料和分析查詢進行最佳化,同時為較短的時間範圍查詢提供與 1.x 和 2.x 版相當的效能。此外,最後值
和相異值 快取等功能可針對特定使用案例啟用持續的 10 毫秒以下查詢延遲,例如擷取最新的資料點或唯一的中繼資料值。 -
查詢模式:考慮您的工作負載是連續 (全年無休監控) 還是間歇 (定期分析)
-
壓縮需求:企業版本包含對長期資料儲存和高基數工作負載至關重要的壓縮功能。對於具有 3 節點叢集和更大的部署,建議使用專用壓縮器節點來最大化其他個別節點上的寫入器和讀取器效能,以確保壓縮程序不會與具有查詢和擷取操作的資源競爭。
為了提供調整大小建議,讓我們考慮具有下列特性的示例性工作負載:
-
資料是由 Telegraf 代理程式從資料中心收集系統、CPU、記憶體、磁碟、IO 等的機群收集和寫入。
-
每個寫入請求包含 5000 行。
-
在系統上執行的查詢會分類為「中度複雜性」查詢,展現下列特性:
-
它們有多個函數和一或兩個規則表達式。
-
它們可以包含依子句分組或取樣數週的時間範圍。
-
通常需要幾百毫秒到幾千毫秒才能執行。
-
CPU 主要偏好查詢效能。
-
所有測試都使用包含 3,000 萬次時間序列基數的資料集執行。
-
| 寫入 (每秒行數) | 讀取 (每秒查詢數) | 執行個體類別 | 版本 |
|---|---|---|---|
| ~150,000 | <25 | db.influxIOIncluded.large | 核心 |
| ~200,000 | ~25 | db.influxIOIncluded.xlarge | 核心 |
| ~250,000 | ~35 | db.influxIOIncluded.2xlarge | Enterprise |
| ~500,000 | ~50 | db.influxIOIncluded.4xlarge | Enterprise |
| <750,000 | <100 | db.influxIOIncluded.8xlarge | Enterprise |
| >750,000 | >100 | 多節點企業叢集 | Enterprise |
Amazon Timestream for InfluxDB 3 的資料庫叢集帳單
InfluxDB 3 叢集的 Amazon Timestream 會根據下列元件計費:
-
資料庫叢集節點小時 (每小時) – 根據資料庫叢集節點類別,例如 db.influxIOIncluded.large. 定價以每小時為單位列出,但帳單已採用秒數為計算單位,並以十進位制顯示時間。用量以 1 秒遞增計費,最少 10 分鐘。對於單節點 Core 部署或多節點 Enterprise 部署,每個節點會根據其執行時間單獨計費。
-
物件儲存 (每月每 GB) – 實際存放在 InfluxDB 物件儲存中的資料磁碟區,而不是佈建的容量。此模型只允許您為使用的儲存體付費,而不需要預先佈建儲存容量。注意:即使您的實際儲存體用量較低,每月儲存體費用至少相當於 200GB。
-
資料傳輸輸出 (每 GB) – 從資料庫叢集到網際網路或其他的資料傳輸 AWS 區域。相同 VPC 內的資料傳輸或流量,或相同 VPC 內的可用區域之間的資料傳輸 AWS 區域 都是免費的。
-
InfluxDB 3 Enterprise License (每小時每個 vCPU) – 對於 InfluxDB 3 Enterprise 部署,每個 vCPU 每小時需支付額外的 InfluxData 授權成本。此授權費用會透過 直接計費, AWS Marketplace 並在您的 AWS 帳單上顯示為個別明細項目。授權可啟用企業功能,例如多節點叢集、壓縮功能和進階安全功能。
對於具有多個節點的 InfluxDB 3 Enterprise 叢集,每個節點會根據其執行個體類別和 vCPU 計數 (授權費用) 分別計費,而由於所有節點共用相同的基礎物件儲存體,因此會合併儲存體成本。
帳單元件摘要
| 帳單元件 | InfluxDB 3 核心 | InfluxDB 3 企業 |
|---|---|---|
| 運算帳單 | 每個節點小時 (db.influxIOIncluded 類別) | 每個節點小時 (db.influxIOIncluded 類別) |
| 儲存體帳單 | 每 GB 儲存的資料 (最低 200GB) | 每 GB 儲存的資料 (最低 200GB) |
| I/O 操作 | 包含在運算節點定價中 | 包含在運算節點定價中 |
| 儲存體擴展 | 非必要,僅支付使用的儲存體 | 不需要,只需為使用的儲存付費 |
| 傳入的資料傳輸 | 免費 | 免費 |
| VPC/AZ 內的資料傳輸 | 免費 | 免費 |
| 資料傳輸輸出 (網際網路/跨區域) | 按 GB 收費 | 按 GB 收費 |
| 最低帳單 | 10 分鐘 | 10 分鐘 |
| 帳單精細程度 | 1 秒遞增 | 1 秒遞增 |
| 多節點支援 | 否 (僅限單節點) | 是 |
| 其他授權 | 無 | 透過 的每個 vCPU 每小時 AWS Marketplace |
成本最佳化策略
-
適當大小 – 根據您的工作負載需求選取適當的節點類別,以避免過度佈建。我們也建議您選擇平均維持約 65% CPU 和記憶體使用率的執行個體,以確保對使用量尖峰的彈性,並允許空間進行良好的容量規劃。
-
儲存效率 – 對於資料超過 16TB 的部署,與傳統的 EBS 型解決方案相比,InfluxDB 3 的物件儲存可以節省高達 75% 的成本。
-
網路流量最佳化 – 盡可能將資料傳輸保持在相同的 VPC 或區域內,以避免資料傳輸費用。
-
擴展策略 – 對於 InfluxDB 3 Enterprise,請考慮擴展 (更大的節點類別) 或擴展 (更多節點) 是否比特定工作負載模式更具成本效益。
-
授權最佳化 – 針對 InfluxDB 3 Enterprise,選擇可提供 vCPU 計數 (影響授權成本) 與效能需求之間最佳平衡的節點類別。
如需 Amazon Timestream for InfluxDB 3 定價資訊,請參閱Amazon Timestream for InfluxDB 定價頁面
AWS 區域 和可用區域
Amazon 雲端運算資源託管於全球的多個地點。這些位置由 AWS 區域 和 可用區域組成。每個 AWS 區域 都是單獨的地理區域。每個 AWS 區域 都有多個隔離的位置,稱為可用區域。
Amazon Timestream for InfluxDB 3 可讓您將資源,例如資料庫叢集和資料放置在多個位置。對於具有多節點叢集的企業部署,節點會分散到多個可用區域,以增強可用性。
如需 Amazon Timestream for InfluxDB 3 可用 AWS 區域 位置和每個區域的端點的相關資訊,請參閱Amazon Timestream 端點和配額。