cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X

Compare Persistence Providers

No ratings

 

 

Select the right database to use with your ThingWorx installation.

 

Guide Concept

 

When you develop an application with ThingWorx, you must save the configuration data that defines the data model and the user interface. You also need to store the dynamic data that is generated by devices at runtime (such as temperature or location).

 

ThingWorx uses the term Persistence Provider to refer to any type of service that saves application data, usually it is a database.

 

When your application moves into production you must choose and configure a Persistence Provider that meets your requirements.

 

 

You'll learn how to

 

  • Pros and cons of different databases that can be used as persistence providers for ThingWorx
  • The database best suited to certain applications
  • Where to find detailed information about the Persistence Providers

 

NOTE: The estimated time to complete this guide is 30 minutes

 

 

 

Step 1: Persistence Provider Options

 

There are many factors that will influence your decision for which Persistence Provider to use with your ThingWorx instance. On this page we compare and contrast different methods and provide examples for where each one is a natural fit.

 

 Persistence Provider             Typical Use
H2Bundled with ThingWorx server for proof-of-concept trials
PostgreSQLStandard production database for use up to 15,000 Property writes per second
InfluxDBHigh volume data ingestion (>25,000 property writes per second) into one database
Microsoft SQL ServerSQL database available from Microsoft in a dozen different editions
Azure SQL ServerSQL database managed by Microsoft in Azure

 

When ThingWorx is installed with default configurations, it uses the embedded H2 database as its Persistence Provider. This configuration is suitable for evaluations and proof-of-concept applications with a limited number of Things. Before an application is used in production, you must provision a more capable persistence provider. The available options for Persistence Provider are summarized below.

 

H2

 

Pros                            Cons                     Typical Use Case                                DBA Skills       Required Cost
No Database set-up requiredNot for use in productionStart testing ThingWorx with no additional configurationNoneNo additional cost

 

H2 is an open source, full-featured relational database that is embedded in the ThingWorx Foundation server. No additional database set-up is required before developing a proof-of-concept application with ThingWorx. Using H2 should provide satisfactory performance for applications with less than 1000 Things.

 

WARNING: Due to the inability to back-up and recover the database, H2 should never be used in production.

 

PostgreSQL

 

 Pros                    Cons                        Typical Use Case                     DBA Skills               Required Cost
Widely used databaseRequires some configurationWorkhorse database appropriate for many applicationsBasic SQL skillsNo additional cost

 

PostgreSQL is the default choice for ThingWorx cloud hosting servers. It complies with many database standards and is open source with no extra license fee required. It can be configured for high availability to minimize the chance of down-time or data loss. It has been tested up to 15,000 property writes per second and depending on other factors may give satisfactory performance up to 25,000 writes per second.

 

Learn more about using PostgreSQL:

 

 

InfluxDB

 

Pros                      Cons                            Typical Use Case            DBA Skills Required           License Cost
Handle high volume data ingestionInfluxDB is not supported as a Property providerApplication requiring >25,000 Property writes/secondProfessional services likely requiredMulti-node requires license fee

 

If your system intensively deals with time series data and your implementation heavily depends on Value Streams or Streams for persistence/retrieval of data, we recommend using InfluxDB as the Persistence Provider in ThingWorx. InfluxDB is a high-performance data store written specifically for time series data and is a good choice when high volume data ingestion of more than 25,000 property writes per second must be saved into one database.

 

Learn more about InfluxDB:

 

 

Microsoft SQL Server

 

Pros                     Cons                       Typical Use Case                    DBA Skills                      Required Cost
Available in multiple editionsOnly runs on WindowsData stored in Microsoft SQL ServerConfigure settingsLicense fee required

 

More than a dozen different versions of Microsoft SQL Server are used by customers for workloads ranging from small single-machine applications to large enterprise applications. Connecting ThingWorx to an existing Microsoft SQL Server can make that data readily available to use in ThingWorx Mashups.

 

Learn more about using Microsoft SQL Server:

 

 

Azure SQL Server

 

Pros                                    Cons                        Typical Use Case              DBA Skills         Required Cost
Cloud deployment and scalingNo on-premise optionData stored in Microsoft SQL ServerConfigure settingsSubscription required

 

Fully managed database service operated and updated by Microsoft

Learn more about using Microsoft SQL Server:

 

 

Step 2: Next Steps

 

Congratulations! You've successfully completed the Compare Persistence Providers guide.

At this point, you can make an educated decision regarding which Persistence Provider is best suited for your ThingWorx application development environment.

 

Learn More

 

We recommend the following resources to continue your learning experience:

 

 Capability    Guide
ConnectThingWorx Application Development Reference
BuildGet Started with ThingWorx for IoT
ExperienceCreate Your Application UI

 

Additional Resources

 

If you have questions, issues, or need additional information, refer to:

 

Resource        Link
CommunityDeveloper Community Forum
SupportMicrosoft SQL Technical Support
SupportPersistence Provider Help Center
Version history
Last update:
‎Dec 02, 2022 04:57 PM
Updated by:
Labels (1)
Contributors