# stationery-ink
Distributed real-time streaming aggregation framework using the SQL-based 'Apache Storm'
https://github.com/dk-stationery/stationery-ink
##System Requirements
JAVA : 1.6 above
HBASE : 0.98.1-cdh5.1.3 above
PHOENIX : 4.0.0-incubation (custom version) above
STORM : 0.9.5 above
REDIS : 2.8 above
##Main technology used in INK
Antlr3, Apache Storm, Esper, Phoenix, Spring-boot
##Ink Features
1. SQL support. (Tommy's SQL = TSQL)
2. CEP Framework Esper integration.
3. Storm topology optimizer automatically generated and executed
4. Ink JDBC driver support.
5. UDF function support.
6. Stream partition computation support.
7. Multi tenants support.
8. Plugin support.
##Terms and concepts used in Ink
1. STREAM : The format of the log of the streaming format that is infinitely delivery. Concepts such as table schema of the RDBMS.
2. SOURCE : Metadata that defines the access connection that can access information on the STREAM.
3. WINDOW : Concept to be aggregated to define the scope of the streaming data to the streaming time and the size.
##Ink Architecture
1. INK DAEMON : Optimayijing the TSQL received from the user, performs, and serves to create a running topology storm, Communicate with Ink JDBC driver.
2. INK JDBC DRIVER : Driver that can be used by the driver in the third-party program Ink (type 2)
3. INK DYNAMIC API : The result of performing the Ink you can get passed through the Rest api.