Composer 中的 ThingWorx 模型定義 > 資料儲存 > 持續性提供者 > 將 DataStax Enterprise 用作持續性提供者
將 DataStax Enterprise 用作持續性提供者
概觀
* 
從 ThingWorx Platform 8.5.0 版開始,DSE 不再銷售,未來發行版本將不支援。如需詳細資訊,請參考 終止銷售文章。
如果您的模型需要巨量資料擴充性,您可以藉由在 ThingWorx 中進行擴充匯入,將 DataStax Enterprise (DSE) 用作 持續性提供者。建立 DsePersistenceProviderPackage.zip 擴充的目的在於使用 Cassandra 的 DataStax Enterpris 版本 (而非開放來源/社群版本),其中以整合方式提供 Solr 搜尋引擎。DSE 是建立在 Apache Cassandra 上的巨量資料平台,可管理即時資料、分析資料和企業搜尋資料。
Cassandra 是可擴充的開放來源 NoSQL 資料庫,可以跨多個資料中心與雲端服務管理大量的資料。Cassandra 可橫跨許多商品伺服器提供連續可用性、線性可擴充性及操作簡便性,不會造成單一故障點,還附帶為了發揮最大彈性和加快反應時間所設計的強大資料模型。
* 
您必須註冊、安裝並配置 DSE 才能開始使用 DSE。此流程的大多數步驟都獨立於 ThingWorx 執行,並在此說明。
計劃 DataStax Enterprise 部署需要先瞭解其架構,特別是相較於一般「關聯式資料庫」的差異。如果您是 Cassandra 的新手,建議從 DataStax Academy 提供的免費線上課程開始。具體來說,
下列部份的內容將會引導您瞭解一些具體細節:
DSE 與 ThingWorx 初期規劃
在本文件集中,當提及 DSE 的組態時,會使用下列術語:
節點 - 您儲存資料的位置。它是 Cassandra 的基本基礎結構元件。
資料中心 - 相關節點的集合。資料中心可以是實體資料中心,也可以是虛擬資料中心。不同的工作負載應使用不同的資料中心,實體或虛擬皆可。複寫由資料中心設定。使用不同的資料中心可防止 Cassandra 交易受其他工作負載的影響,並使請求彼此接近,以降低延遲。可根據複寫因數,將資料寫入至多個資料中心。不過,資料中心絕不應跨越實體位置。
叢集 - 一個叢集包含一或多個資料中心。它可以跨越實體位置。
ThingWorx 中 DSE 實行的高階流程
1. 判斷 DSE 是否是您的資料的適當解決方案。如需其他資訊,請參閱大小設定與規劃章節。
2. 註冊並安裝 DSE。
不需使用 ThingWorx 即可執行本流程。會提供部署範例。
3. 將 DSE 持續性提供者擴充匯入 ThingWorx
4. 在會連接 DSE 資料儲存庫的 ThingWorx 中建立持續性提供者。
5. ThingWorx 中配置持續性提供者設定。設定詳細資訊如下表所示。
* 
如需使用串流、值串流與資料表,您可以配置貯體設定。這些設定會取代 DSE 持續性提供者實例組態。
名稱
預設值
描述
連線資訊
Cassandra 叢集主機
192.168.234.136,192.168.234.136
Cassandra 叢集的 IP 位址。這些是設定 DSE 時所配置的 IP 位址或主機名稱,如此才能安裝 Cassandra 叢集。
Cassandra 叢集連接埠
9042
設定 DSE 時配置的 Cassandra 叢集連接埠,用於安裝 Cassandra 叢集。
Cassandra 使用者名稱
n/a
可選用,除非您想要在叢集上啟用驗證。在此情況下,此欄位為必填。
* 
需要在 Cassandra 叢集中啟用驗證。使用者需有適當的權限層級才能建立鍵空間。
Cassandra 密碼
n/a
可選用,除非您想要在叢集上啟用驗證。在此情況下,此欄位為必填。(請參閱上述內容。)
Cassandra 鍵空間名稱
thingworxnd
ThingWorx 資料所指向的位置。類似於關聯式資料庫中的結構描述。
* 
如果您要從 DsePersistenceProviderPackage.zip 1.0 版升級,此欄位為必填。
Solr 叢集 URL
http://localhost
如果正在使用資料表,請提供 IP 或完全合格的主機名稱 (包括設定 DSE 時配置的網域或 IP),以便安裝 Cassandra 叢集。
Solr 叢集連接埠
8983
如果正在使用資料表,請提供設定 DSE 時配置的連接埠,以便安裝 Cassandra 叢集。
Cassandra 鍵空間設定
replication = {'class':'NetworkTopologyStrategy', 'Cassandra':1, 'Solr':1}
視您在設定 DSE 時建立的 Cassandra 叢集組態而定。主要定義所使用的資料中心及相關聯的複製係數 (如需詳細資訊,請參閱 http://datastax.com/documentation/cql/3.1/cql/cql_reference/create_keyspace_r.html)。如果管理員手動建立鍵空間,這些設定應與手動建立的鍵空間設定相符。
Cassandra 一致性層級
{'Cluster' : { 'read' : 'ONE', 'write' : 'ONE' }}
讀取及寫入節點數的一致性層級。
* 
實行多個節點,以納入寫入內容的重複限制副本。如需詳細資訊,請參閱 http://datastax.com/documentation/cassandra/2.1/cassandra/dml/dml_config _consistency_c.html。
CQL 查詢結果限制
5000
Cassandra 查詢語言查詢結果限制可指定查詢資料時所傳回的列數。如此將不允許傳回可在平台中造成效能問題的大規模結果集,從而增強 ThingWorx 的穩定性。
保持連線即時
true
有助於讓連至 Cassandra 叢集的連線保持使用中狀態,特別是跨防火牆 (非使用中連線會遭到棄置)。
* 
請勿在 ThingWorx 與 Cassandra 叢集之間實行防火牆。
連線逾時 (以毫秒計)
30000
初始連線逾時 (以毫秒為單位)。取決於 ThingWorx 與 Cassandra 叢集之間的網路延遲。
壓縮演算法
當 ThingWorx 將資料傳送至叢集時,有三個選項:
Lz4 壓縮
Snappy 壓縮
不壓縮
如果 ThingWorx 與 Cassandra 叢集之間的網路頻寬較窄,那麼採用壓縮法即可增加傳輸量。
* 
壓縮會在執行 ThingWorx 的電腦中耗用更多 CPU 循環。
最大查詢重試次數
3
針對查詢啟用的最大重試次數。預設值為三次。
本機核心連線
4
可讀/寫資料的最小連線數。
本機最大連線數
16
可讀/寫資料的最大連線數
遠端核心連線
2
可讀/寫資料的最小遠端連線數。
遠端最大連線數
16
可讀/寫資料的最大遠端連線數
啟用追蹤
false
登入。可啟用以便偵錯。
最大非同步請求
1000
典型串流設定
快取初始大小
10000
初始快取大小。這取決於來源數。
* 
使用的數目應比已配置來源數還多。
快取最大大小
100000
最大快取大小。控制記憶體使用。
快取並行
24
可同時存取的執行緒數。最小值應該反映針對遠端最大連線數設定的值。
典型串流預設值
來源貯體數
1000
可將來源放入貯體。來源數等於需執行的查詢數。例如,若您有 100,000 個來源,則此欄位可決定將使用的貯體數。
* 
系統寫入資料後,若此設定有所變更,可能無法透過 ThingWorx 存取資料。如果您需要在系統寫入資料之後變更此設定,請在變更此設定之前先匯出資料,然後再重新匯入資料。
時間貯體大小 (以小時計)
24
建立貯體的時間 (以小時為單位)。取決於來源貯體大小的設定內容。例如,如果將時間貯體大小設定為 24,則系統每 24 小時就會建立一次貯體。目標是盡可能不超過 2 百萬個資料點。因此,視每值串流或典型串流的資料擷取率 (R/秒) 而定:時間貯體大小 = 2 mil/(R * 60 * 60)
* 
系統寫入資料後,若此設定有所變更,可能無法透過 ThingWorx 存取資料。如果您需要在系統寫入資料之後變更此設定,請在變更此設定之前先匯出資料,然後再重新匯入資料。
資料表預設值
資料表貯體數
3
資料表可以分割成數個貯體。如此即可在 DSE 節點間分佈資料表。建議使用的值高於叢集中節點數,以便使資料能在節點數因負載而增加時能夠分佈。要考慮的其他因素是資料表中的預期列數。可考慮將每貯體限制為 200,000 列。此處的設定為預設值。可逐資料表指定貯體計數。
* 
系統寫入資料後,若此設定有所變更,可能無法透過平台存取資料。如果您需要在系統寫入資料之後變更此設定,請在變更此設定之前先匯出資料,然後再重新匯入資料。
值串流設定
快取初始大小
10000
初始快取大小。這取決於每來源內容數乘以來源數的結果。
快取最大大小
100000
最大快取大小。控制記憶體使用。
快取並行
24
可同時存取的執行緒數。
值串流預設值
來源貯體數
1000
可將來源放入貯體。來源數等於需執行的查詢數。例如,若您有 100,000 個來源,則此欄位可決定將使用的貯體數。
* 
系統寫入資料後,若此設定有所變更,可能無法透過 ThingWorx 存取資料。如果您需要在系統寫入資料之後變更此設定,請在變更此設定之前先匯出資料,然後再重新匯入資料。
內容貯體數
1000
貯體數取決於每個值串流的內容數及查詢模式。如果有跨越多個內容的查詢,貯體大小較小時可獲得最佳效能。
時間貯體大小 (以小時計)
24
貯體大小。取決於來源貯體大小的設定內容。例如,如果將時間貯體大小設定為 24,則系統每 24 小時就會建立一次貯體。
* 
系統寫入資料後,若此設定有所變更,可能無法透過平台存取資料。如果您需要在系統寫入資料之後變更此設定,請在變更此設定之前先匯出資料,然後再重新匯入資料。
6. 必要時,請遷移實體資料。
7. 監視及維護您的 DSE 實行。有關建立成功維護計畫的最佳作法在此說明。