In Istanbul we will switch from Elasticsearch to MariaDB (min. 10.2.7). In fact that the ccsdk/sli project has already established mysql/mariadb-reader/writer we don't have to do it again, and just connect to the service provided by dblib-provider.

What we have to do is the complete object mapping, because we like to have our own yang-based implementation. So we have to create:

  • CREATE TABLE statements
  • INSERT INTO statements 
  • SELECT FROM statements

based on yang-generated interface classes plus  adapted search filter functions from data-provider to mariadb (including pagination)

In fact we like to use it as a multi-domain(multi-site) database, there will be an additional porperty for all entries called 'odl-id'.

Table structure mapping

The table structure mapping will be based on the yang-generated interface class and its getters. The java types were mapped like this:

Java TypeMariaDB Typedescription
BooleanBOOLEAN
ByteTINYINT
IntegerINTEGER
LongBIGINT
BigIntegerBIGINT
Uint8SMALLINT
Uint16INTEGER
Uint32BIGINT
Uint64BIGINT
DateAndTimeDATETIME
StringNVARCHAR(255)
Class<?> extends DataObjectJSON

Tables

tablenameiddescription
connectionlogauto
controllerjava-gen UUID
eventlogauto
faultcurrent

<node-id>/<uuid>/<problem-name>


faultlogauto
guicutthrough

historicalperformance15min<node-id>/<uuid-interface>/<time-stamp>
historicalperformance24h<node-id>/<uuid-interface>/<time-stamp>
inventoryequipment<node-id>/<uuid>
maintenancemode<node-id>
mediator-serverauto
networkelement-connection<node-id>
  • No labels