We are planning to setup DSE (Cassandra) cluster, to be used as persistence provider for Thingworx.
As there is no separate TW installer package for DSE (like installer pkg for PostgreSQL, HANA etc.), as per documentation, we need to import thingworx-dsePersistenceProvider-extension from TW Composer (and to run Composer, we need to setup some supported database for metadata etc.).
And as per definition of Persistence-provider, "Persistence providers can contain a data-provider (for runtime data) or a model-provider (for metadata), or both".
Can anyone confirm, in case of using DSE (Cassandra) as persistence provider, do we need to have some other database (like postgresql) as well to store metadata (i.e. model provider) OR DSE alone can have both metadata (model-provider) and runtime-data (data-provider)?
Thanks in advance.
Hi Atul, any data store configured as default persistence provider will handle both metadata and the data for ThingWorx. Usually you'd want to use DSE for very high volume of data as expected with streams, value streams, data table etc.
Are you planning to use only DSE? I'm not quite sure if you can remove the other PersistenceProvider and use just the DSE for it, may be someone else who tried this could comment.
Please refer to the following guide: https://support.ptc.com/WCMS/files/166016/en/Getting_Started_with_DataStax_Enterprise_and_ThingWorx_...
On Page 20; it mentions that The entity information resides in the embedded Neo4j data store (not in Cassandra).
And on Page 6, it adds Benefits of DSE as Separates data processes from Platform processes
So, per my understanding; there is a core database like H2/Postgresql and DSE for big Data.
I hope it helps.
Thanks Sushant and Ankit.
So based on PTC/TW DSE documentation, we can say that:-
Hey Polina Osipova I think you tried something like this, can you confirm if DSE alone can work as the sole PersistenceProvider for TWX or is it must to have an another Persistence Provider like H2 or Neo4J etc.
Atul Tripathi: One should use Persistence Provider as PostgreSQL, H2, Neo4J, MSSQL only. So, DSE at present cannot be persistence provided and can be used only as a data-provider to store run-time data.
Hope it clarifies.