資料儲存選項
PTC 支援下列儲存選項:
模型提供者
H2
資料提供者
* 
從 ThingWorx Platform 8.5.0 版開始,DataStax Enterprise 不再銷售,未來發行版本將不支援。如需詳細資訊,請參考 終止銷售文章。
H2
H2 是一種磁碟佔用空間較低的開放來源關聯式資料庫。它是用 Java 編寫的,可以內嵌在 Java 應用程式中,也可以在用戶端-伺服器模式下執行,並提供 JDBC API。H2 可滿足 ThingWorx 模型和資料提供者需求。ThingWorx 在內嵌模式中開啟持續性 (而非記憶體内的) H2 資料庫。雖然這是最快速且最輕鬆的連線模式,但資料庫僅能使用 JDBC 在與 ThingWorx web 應用程式的 Tomcat 相同的 JVM 中開啟 (外部流程無法連線,或使用此資料庫實例)。作爲持續性資料庫,資料會寫入至本機磁碟 (位於 ThingworxStoragedatabase 資料夾中),並在 ThingWorx 重新啟動之後保留。
典型使用案例
試用版、開發者系統、概念驗證、近邊緣裝置
嚴格用於單一伺服器部署
限制
由於 H2 的內嵌本質,建議不要將其作為生產之用:
可擴充性有限,因為它與應用程式共用資源 (CPU、記憶體、磁碟等)
影響整個應用程式的穩定性。例如,如果 Tomcat 當機或 Tomcat 流程結束,它也會終止資料庫流程,從而導致資料損毀。
透過隔離應用程式代碼或資料庫中的瓶頸來對效能問題進行疑難排解會更加困難
從一般操作與管理角度來看,對資料、備份及嚴重損壞修復進行可視化可能會更加難以維護。
如需有關將 H2 用作 ThingWorx 的持續性提供者的資訊,請參閱 將 H2 用作持續性提供者
PostgreSQL
PostgreSQL 是開放來源物件關聯式資料庫管理系統 (ORDBMS),且強調擴充性與標準合規性。作為資料庫伺服器,其主要功能是安全儲存資料,並依其他軟體應用程式的請求擷取資料。它可處理的工作負載之範圍為從小型單一電腦應用程式到擁有多個同步使用者的面向 Internet 的大型應用程式。PostgreSQL 提供資料庫層級的高可用性功能。它可以在相同或不同可用性區域內設定一個主節點與多個從屬節點。
如需有關 ThingWorx 和 PostgreSQL 部署的詳細資訊,請參閱下列文件:
如需有關 PostgreSQL 的詳細資訊,請參閱 https://www.postgresql.org/
典型使用案例
資料庫可擴展到小型、中型和大型實行,每秒最多 15,000 次内容寫入 (wps),並提供高可用性功能。
Microsoft SQL Server (MSSQL)
Microsoft SQL Server (MSSQL) 是 Microsoft 開發出的關聯式資料庫管理系統。作為資料庫伺服器,它是一款軟體產品,其主要功能是依其他軟體應用程式的需求儲存與擷取資料,此軟體可以在同一電腦上執行,也可以透過網路 (包括網際網路) 在其他電腦上執行。如需有關 ThingWorx 與 Microsoft SQL Server 部署的詳細資訊,請參閱 將 Microsoft SQL Server 用作持續性提供者
可以從多個 SQL Server 版本中選擇最合乎您資料解決方案的版本。這些版本的最大關聯式資料庫大小範圍為從小型的 10 GB 到極大型的 524 百萬 GB。欲獲得高可用性,建議使用企業版。
MSSQL 透過其持續性提供者支援模型和資料提供者。
如需有關 Microsoft SQL Server 的詳細資訊,請參閱 https://www.microsoft.com/en-us/sql-server/sql-server-2016
典型使用案例
SQL Server 適用於小型到大型 IoT 實行。但是,最好在 Microsoft SQL/Azure 已存在於您的 IT 堆疊中並且您的員工熟悉按照 使用可用性功能的 SQL Server 2017 情境實行 MSSQL Server 高可用性解決方案的情況下使用。
Azure SQL 資料庫
Azure SQL 資料庫是在 Azure 雲端主控的關聯式資料庫即服務 (DBaaS),也是一項完全受管理的平台即服務 (PaaS) 資料庫引擎。Azure SQL 資料庫引擎以企業版 SQL Server 為基礎。Azure 平台可完全管理每個 Azure SQL 資料庫,並可保證不遺失任何資料,以及高百分比的資料可用性。Azure SQL 資料庫隨附內建的高可用性、災難復原及資料庫升級功能。
如需有關 Azure SQL 資料庫及其功能的詳細資訊,請參閱 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-paas。如需有關使用 Azure SQL 資料庫作為 ThingWorx 持續性提供者的資訊,請參閱 將 Azure SQL Database 用作持續性提供者
DataStax Enterprise (DSE)
* 
從 ThingWorx Platform 8.5.0 版開始,DataStax Enterprise 不再銷售,未來發行版本將不支援。如需詳細資訊,請參考 終止銷售文章。
ThingWorx 還會使用由 Apache Cassandra 技術支援的大量執行時間資料存放區提供者 DataStax Enterprise (DSE)。DSE 允許您以比其資產產生更高的速度獲取資料,並允許您在新增其他裝置 (或任何其他工作負載) 時實現順暢擴充。將 DSE 用作執行時間資料存放區可提供一個資料庫平台,從而滿足 IoT、Web 和行動應用程式的效能與可用性需求。
大多數關聯式資料庫無法橫向擴充並在主/從模式下工作。相比之下,Cassandra 的對等無主叢集化架構賦予其線性與大規模可擴充性。
透過 DSE 可以:利用進階管理和監視工具進行經過全面測試與驗證的 Cassandra 部署,使用 Solr 的內建整合進行索引和搜尋,以及提供支援和修補程式的機制。這直接與插入式資料存放區模型相吻合,該模型允許客戶擁有多個資料存放庫來儲存組態、模型和大量資料。可以選擇符合您對任何特定功能的需求的資料存放庫。
DSE 是一個經過整合的持續上線的多模型資料庫系統,透過使用 Apache Spark、記憶體技術、持續可用搜尋以及圖形資料庫計算進行即時批次分析。此系統為開發與生產系統運作提供了進階工具;提供了靈活的功能 (如分層儲存),可滿足短期與長期資料存取;允許多租戶在同一系統內執行多個資料庫叢集;以及實現了進階安全性,可滿足企業需求。
* 
ThingWorx 需要 DSE 堆疊的 DSE 整合搜尋元件 (Apache Solr) 才能運作。因此,ThingWorx 無法使用未經整合 Apache Solr 的開放來源 Apache Cassandra 安裝。
DSE 為 ThingWorx Platform 提供了以下優勢,這些平台要求資料存放區的資料量和速度資料要比 H2 或 PostgreSQL 目前可用的更大:
提供更高的資料擷取率。
支援執行時間資料的多個資料存放庫 (保留 H2 或 PostgreSQL 中的模型資料並將 DSE 用於大量串流資料)。
支援彈性擴充內容。可以將多個節點新增至 DSE 環,以獲得更高的交易率。
將資料流程與平台流程分隔開來。
支援適合雲端的架構。
典型使用案例
典型使用案例是當分散式負載上存在大量 (大於 15,000 wps) 交易 (執行時間) 資料時。
InfluxDB
您必須具有 ThingWorx 8.4 或更新版本,才能使用 InfluxDB。如果您的系統集中處理時間序列資料,而且您的實行重度依賴於值串流或串流以實現資料持續性/擷取,我們建議在 ThingWorx 中使用 InfluxDB 作為持續性提供者。InfluxDB 是專門針對時間序列資料所撰寫的一個高效能資料存放區。其允許對該相同資料執行高輸送量的內嵌、壓縮與即時查詢。對於牽涉大量加上時間戳記之資料的使用案例而言,可將 InfluxDB 作為資料存放區使用,這些資料包括 DevOps 監視、記錄資料、應用程式指標、IoT 感應器資料以及即時分析。此外,它還提供包括「資料保留原則」(RP) 等在內的其他功能。InfluxDB Enterprise 針對時間序列資料需求提供了具有高可用性且可高度調整的叢集解決方案。
ThingWorx 提供 InfluxPersistenceProviderPackage,其可作為 PostgreSQL 或 MSSQL 預設安裝的一部分與持續性提供者搭配使用。
InfluxDB 資料提供者目前僅支援值串流與串流。目前不提供對於資料表、wiki 及部落格的支援。
InfluxDB 資料提供者目前不支援匯出功能。
目前不支援將 InfluxDB 作為內容提供者。
如果使用持續性提供者實例 (使用 InfluxDB 持續性提供者封裝建立) 作為預設持續性提供者,則可編輯串流與值串流佇列組態設定,這些設定將會套用至所有串流與值串流。您無法針對特定串流或值串流變更這些設定。
如需有關使用 InfluxDB 作為持續性提供者的資訊,請參閱 將 InfluxDB 用作持續性提供者