This documentation is for WSO2 IoT Server 3.1.0. View the documentation for the latest release.
Page Comparison - Working with Databases (v.3 vs v.4) - IoT Server 3.1.0 - WSO2 Documentation

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

WSO2 IoTS provides scripts for installing and configuring MySQL, H2, Oracle, MSSQL and PostgreSQL. Each of these databases supports stored procedures, which allow the business logic to be embedded inside the database as an API, providing a powerful mechanism to interact with a relational database. Because these procedures are stored in a precompiled pre-compiled format within the database itself, execution speed is very fast. Client programs can be restricted to access a database via stored procedures only, thereby enforcing fine-grained security, preservation of data integrity, and improved productivity.

The default database of the user manager is the H2 database that comes with WSO2 IoTS. You can configure it to point to databases by other vendors such as MySQL, Oracle, PostgreSQL, and Microsoft SQL Servers, using the scripts provided by WSO2 for installing and configuring relational databases. The scripts in the <PRODUCT_HOME>/dbscripts/ folder are available for all WSO2 products. They store data related to WSO2 Carbon, on top of which all WSO2 products are built. 


The embedded H2 database is suitable for development. However, for most enterprise testing and production environments, we recommend an industry-standard RDBMS such as MySQL etc.


DatabaseFile path
API Manager<IoTS_HOME>/dbscripts/apimgt
Carbon Device Management Framework (CDMF)<IoTS_HOME>/dbscripts/cdm
Message Broker<IoTS_HOME>/wso2/broker/dbscripts/mb-store
Data Analytics Server<IoTS_HOME>/dbscripts/metrics

Folder structure

  • <IoTS<IOTS_HOME>/dbscripts folder.
  • The <IoTS<IOTS_HOME>/dbscripts/cdm folder contains the database script files related to the Connected Device Management Framework (CDMF).

    Image RemovedImage Added

    • The <IoTS<IOTS_HOME>/dbscripts/cdm/plugins folder contains the database scripts for platform specific plugins. 


      By default, you only see have scripts for the android and windows directories. Once you run the device-plugins-deployer.xml as explained under starting the server, you see the arduino, raspberry-pi, virtual_firealarm directories.

      Image Removed

      device types.

      Image AddedExample:  Database scripts for the Arduino-specific the Android plugin are located in the <IoTS<IOTS_HOME>/dbscripts/cdm/plugins/arduinoandroid directory.
      Image RemovedImage Added

What's next

For more information on setting up physical databases, see the following sub-sectionssubsections:

Children Display