SDN-R Database for Instanbul

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 Type

MariaDB Type

description

Java Type

MariaDB Type

description

Boolean

BOOLEAN



Byte

TINYINT



Integer

INTEGER



Long

BIGINT



BigInteger

BIGINT



Uint8

SMALLINT



Uint16

INTEGER



Uint32

BIGINT



Uint64

BIGINT



DateAndTime

DATETIME



String

NVARCHAR(255)



Class<?> extends DataObject

JSON





Tables

tablename

id

description

tablename

id

description

connectionlog

auto



controller

java-gen UUID



eventlog

auto



faultcurrent

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



faultlog

auto



guicutthrough





historicalperformance15min

<node-id>/<uuid-interface>/<time-stamp>



historicalperformance24h

<node-id>/<uuid-interface>/<time-stamp>



inventoryequipment

<node-id>/<uuid>



maintenancemode

<node-id>



mediator-server

auto



networkelement-connection

<node-id>