THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Code
https://github.com/apache/incubator-eagle/tree/master/eagle-core/eagle-query/eagle-storage-jdbc
Configuration
- eagle.storage.type: jdbc
- eagle.storage.adapter: mysql mysql oracle postgres mssql hsqldb derby
- eagle.storage.username
- eagle.storage.password
- eagle.storage.database
- eagle.storage.connection.url
- eagle.storage.connection.props
- eagle.storage.driver.class
- eagle.storage.connection.max
Sample:
eagle.storage.type=jdbc eagle.storage.adapter=mysql eagle.storage.username=eagle eagle.storage.password=eagle eagle.storage.database=eagle eagle.storage.connection.url=jdbc:mysql://localhost:3306/eagle eagle.storage.connection.props=encoding=UTF-8 eagle.storage.driver.class=com.mysql.jdbc.Driver eagle.storage.connection.max=8
Rowkey
We simply use UUID as row key of entities and use the key as the primary key named "uuid" in RDBMS table schema.
Features
- Support basic entity operation like CREATE, READ, UPDATE and DELETE
- Support flatten aggregation query
- Support customized entity field type (JdbcEntityDefinitionManager#registerJdbcSerDeser)
Dependencies
- Apache DB - Torque: http://db.apache.org/torque/torque-4.0/index.html
- Apache DB - DdlUtils: https://db.apache.org/ddlutils/
TO-DO
- Support time-series based aggregation
- Investigate why writing performance becomes slower as records count in table increases
- Implement batch insert in JdbcEntityWriterImpl
- Implement DDL Management to generate default table schema DDL according entity definition