This is the implementation of the Vitess data handler for MindsDB.

Vitess is a database solution for deploying, scaling, and managing large clusters of open-source database instances. It currently supports MySQL and Percona Server for MySQL. It’s architected to run as effectively in a public or private cloud architecture as it does on dedicated hardware. It combines and extends many important SQL features with the scalability of a NoSQL database.

Prerequisites

Before proceeding, ensure the following prerequisites are met:

  1. Install MindsDB locally via Docker or Docker Desktop.
  2. To connect Vitess to MindsDB, install the required dependencies following this instruction.
  3. Install or ensure access to Vitess.

Implementation

This handler is implemented by extending the MySQL data handler.

The required arguments to establish a connection are as follows:

  • user is the database user.
  • password is the database password.
  • host is the host name, IP address, or URL.
  • port is the port used to make TCP/IP connection.
  • database is the database name.

Usage

In order to make use of this handler and connect to the Vitess server in MindsDB, the following syntax can be used:

CREATE DATABASE vitess_datasource
WITH
  ENGINE = "vitess",
  PARAMETERS = { 
    "user": "root",
    "password": "",
    "host": "localhost",
    "port": 33577,
    "database": "commerce"
  };

You can use this established connection to query your table as follows:

SELECT *
FROM vitess_datasource.product
LIMIT 10;