You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Code

https://github.com/apache/incubator-eagle/tree/master/eagle-core/eagle-query/eagle-storage-jdbc

Configuration

  • eagle.storage.type: jdbc
  • eagle.storage.adaptermysql 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

 

Table DDL

  • alertdatasource
    create table alertdatasource_alertdatasource(uuid varchar(100), timestamp bigint, enabled bool, config varchar(100), description varchar(100), site varchar(10),datasource varchar(10));
    insert into alertdatasource_alertdatasource (uuid, timestamp, enabled, config, description, site, datasource) values("uuid-1", 0, 1,'testconfig','testdesc','testsite','testsource');
  • alertstream
    create table alertstream_alertstream(uuid varchar(100), timestamp bigint, datasource varchar(100), streamname varchar(100), desc varchar(200));
    insert into alertstream_alertstream(uuid, timestamp, datasource, streamname, desc) values("uuid-1",  0, 'testsource', "teststream", "testdesc")

 

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
  • No labels