The siddhi-store-rdbms extension is an extension to Siddhi that can be used to persist events to an RDBMS instance of the user's choice.
Find some useful links below:
Latest API Docs is 6.0.1.
- A RDBMS server instance should be started.
- The user should have the necessary privileges and access rights to connect to the RDBMS data store of choice.
Using the extension in WSO2 Stream Processor
-
You can use this extension in the latest WSO2 Stream Processor that is a part of WSO2 Analytics offering, with editor, debugger and simulation support.
-
This extension is shipped by default with WSO2 Stream Processor, if you wish to use an alternative version of this extension you can replace the component jar that can be found in the
<STREAM_PROCESSOR_HOME>/lib
directory.
Using the extension as a java library
- This extension can be added as a maven dependency along with other Siddhi dependencies to your project.
<dependency>
<groupId>io.siddhi.extension.store.rdbms</groupId>
<artifactId>siddhi-store-rdbms</artifactId>
<version>x.x.x</version>
</dependency>
Note : rdbms:query() and rdbms:cud() function will work only in WSO2 Stream Processor.
The RDBMS functionality are tested with the docker base integration test framework, except the H2 default embedded database is not uses external docker container. The test framework initialize the docker container for each database according to the given profile before execute the test suit.
Start integration tests
-
Install and run docker in daemon mode.
-
Installing docker on Linux,
Note:
These commands retrieve content from get.docker.com web in a quiet output-document mode and install.wget -qO- https://get.docker.com/ | sh
-
On installing docker on Mac, see Get started with Docker for Mac
-
On installing docker on Windows, see Get started with Docker for Windows
-
-
To run the integration test, navigate to the siddhi-store-rdbms/ directory and issue the following commands.
-
H2 default:
mvn clean install
Note : h2 is the default activated profile as it is not used docker.
-
MySQL 5.7:
mvn verify -P local-mysql -f /component/pom.xml -Dskip.surefire.test=true -Ddocker.removeVolumes=true
-
Postgres 9.6:
mvn verify -P local-postgres -f /component/pom.xml -Dskip.surefire.test=true -Ddocker.removeVolumes=true
-
MSSQL CTP 2.0:
mvn verify -P local-mssql -f /component/pom.xml -Dskip.surefire.test=true -Ddocker.removeVolumes=true
-
Oracle 11.2.0.2 Express Edition:
mvn verify -P local-oracle -f component/pom.xml -Dskip.surefire.test=true -Ddocker.removeVolumes=true
-
Oracle 12.1.0.2 Standard Edition:
-
Download Oracle driver version 12.1.0.2 ojdbc7.jar
-
To install the JAR file as a Maven plugin, issue the following command:
mvn install:install-file -Dfile=/tmp/ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar
-
Uncomment the following test dependency in the /component/pom.xml file as shown below:
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc7</artifactId> <scope>test</scope> <version>12.1.0.2</version> </dependency>
-
To run the integration test, navigate to siddhi-store-rdbms/ directory and issue the following commands:
mvn verify -P local-oracle12 -f component/pom.xml -Dskip.surefire.test=true -Ddocker.removeVolumes=true
-
-
DB2
-
Download DB2 driver version 4.19.26 db2jcc4.jar
-
To install the JAR file as a Maven plugin, issue the following command:
mvn install:install-file -Dfile=/tmp/db2jcc4.jar -DgroupId=com.ibm.db2 -DartifactId=db2jcc -Dversion=4.19.26 -Dpackaging=jar
-
Uncomment the following test dependency in the /component/pom.xml file as shown below:
<dependency> <groupId>com.ibm.db2</groupId> <artifactId>db2jcc</artifactId> <scope>test</scope> <version>4.19.26</version> </dependency>
-
To run the integration test, navigate to siddhi-store-rdbms/ directory and issue the following commands:
mvn verify -P local-db2 -f /component/pom.xml -Dskip.surefire.test=true -Ddocker.removeVolumes=true
-
-
Start integration tests in debug mode
mvn -P local-mysql -Dmaven.failsafe.debug verify
Note: local-mysql is the profile. Use other profiles accordingly.
Branch | Build Status |
---|---|
master |
- cud (Stream Processor)
This function performs SQL CUD (INSERT, UPDATE, DELETE) queries on WSO2 datasources.
Note: This function is only available when running Siddhi with WSO2 SP. - query (Stream Processor)
This function performs SQL retrieval queries on WSO2 datasources.
Note: This function is only available when running Siddhi with WSO2 SP. - rdbms (Store)
This extension assigns data sources and connection instructions to event tables. It also implements read-write operations on connected datasources.
-
Please report issues at GitHub Issue Tracker.
-
Send your contributions as pull requests to master branch.
-
Post your questions with the "Siddhi" tag in Stackoverflow.
-
Siddhi developers can be contacted via the mailing lists:
Developers List : dev@wso2.org
Architecture List : architecture@wso2.org
-
We are committed to ensuring support for this extension in production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology.
-
For more details and to take advantage of this unique opportunity contact us via http://wso2.com/support/.