Introduction


Model Meta-Database is a blockchain-based database for machine learning models with a straight forward and easy to use query interface.

Internals


The meta-database consists of mainly two layers:

  • Layer 1 - a REST query API
  • Layer 2 - a blockchain network

The query API has been implemented using the Node.js framework, and it makes up the database's interface, through which clients can submit their query-transaction requests. This layer acts as a middleware between the client and the blockchain network. The purpose of using a REST API is to hide the complexity of Layer 2 from the user by providing widely known high-level interface methods.

The blockchain network has been implemented using the Hyperledger Fabric framework; the current implementation consists of a test network of four peers. This layer uses smart contracts which implement the database logic of the meta-database. It takes care of both the storage and the indexing of the models on the blockchain's peer nodes, using Hyperledger Fabric's concepts and regulations.

The following diagram explains the client-request processing flow in Model Meta-Database.

Request processing flow

  1. (1) Client sends a REST request to Node.js rest server

  2. (2) The Node.js server translates request into the corresponding blockchain transaction and sends it to the blockchain network

  3. (3) A blockchain smart contract executes the transaction by either utilizing the World State database (CouchDB) or the blockchain files

  4. (4) The transaction results are returned to the Node.js server

  5. (5) The Node.js server generates the suiting REST response and sends the results to the client

About


Model Meta-Database is mainly a BSc Thesis project. The meta-database is currently suitable for research and experimentation purposes only, using dummy/test data, and it has been developed by researchers and students at the Data Management Systems Laboratory (DMSL), Department of Computer Science, at the University of Cyprus.

The aspiration is to create both a versioning system for machine learning (ML) models, as well as a user-friendly interface that provides a sufficient set of database-style query options for the purposes of the ML and researching communities.

Team


Demetris Zeinalipour

Project Leader

Associate Professor, DMSL Director

dzeina@cs.ucy.ac.cy

Andreas Constantinides

Project Leader

Associate Professor

com.ca@frederick.ac.cy

Panagiotis Drakatos

Developer

Computer Science PhD Student

pdraka01@cs.ucy.ac.cy

Erodotos Demetriou

Developer

Computer Science BSc Student

erodotosd@gmail.com

Stavroulla Koumou

Developer

Computer Science BSc Student

skoumo01@cs.ucy.ac.cy