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 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 the following:
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 |