A little while ago, I was experimenting with different tools to implement machine learning models in real-world apps, and I came across ‘AI Tables’ by MindsDB. It is a predictive AI layer for existing databases. In this article, I will talk about my experience with it.
Quick disclaimer: This blog post was sponsored by MindsDB. However, what you read below is my honest opinion about their product.
Recently, the field of productionizing machine learning models using pipelines and several application layers, popularly known as 'MLops', has become a rapidly growing field, and for a valid reason. The number of companies that are using machine learning models in real-world applications grows larger day-by-day.
Such systems are usually very complex; this complexity is due, for the most part, to the application layer between the database and the frontend. MindsDB's AI Tables aims to provide an innovative solution to this problem.
Let's take a closer look.
Today, most machine learning applications in the real world are structured like this. 👇
You have the front end, the presentation layer, the backend, the application layer, and then the data layer, connecting the backend to the database(s).
All these layers work together to make the application functional.
Today, most companies have their data stored in traditional relational databases like MySQL, PostgreSQL, MariaDB, etc. Using data stored in these databases to train and deploy our models can be a very tedious task.
Wouldn’t it be great if there was a way to train and deploy machine learning models in the database and not worry about the application layer?
Say hello to AI Tables by Mindsdb. 👋
"Anyone that has dealt with Machine Learning understands that data is a fundamental ingredient to it. Given that a great deal of the world's organized data already exists inside databases, doesn't it make sense to bring machine learning capabilities straight to the database itself?"
~ MindsDB Documentation
Typically, we query data that exists in a database. Data that is not present in the database obviously cannot be accessed.
An AI Table differs from a typical DB Table in that it can generate data upon being requested.
This is based on both, a model and the data in other tables, basically giving regular databases the superpowers of machine learning without the hassle of writing tons of code.
Notice how Dave's debt was not present in the database?
AI Tables filled it with a predicted value based on a machine learning model.
It looks like a normal database query!
This is how AI Tables are supposed to work.
My experience with MindsDB's AI Tables.
I followed MindsDB’s documentation and YouTube tutorials. The docs were well written, though I wish they had more instructions on setting up the database itself. The youtube videos were not the easiest to follow and had room for improvement. I felt that it was more like a general overview than an in-depth guide going over each step, which I would prefer.
Nonetheless, I started out with their colab starter example, which is a great way to get a feel for how mindsDB works.
I got started with Ai tables in Postgres using the docs And the YouTube tutorial 👇
The YouTube tutorial wasn’t really that great, I felt that it was more like a general overview than an in-depth guide going over each step, which I would prefer.
After getting in touch with one of the engineers at MindsDB I was able to get a Postgres database with the housing dataset setup.
Using mindsDb’s GUI I was able to:
- Check the quality of the data
- Train Models in a few clicks
- Make predicted queries
All-in-all, I feel that MindsDB has a very innovative product that works just as advertised. It can be helpful to a wide range of people and companies who are looking for simple yet effective solutions for deploying machine learning models.
Did I mention it’s open-source?
Check out MindsDB AI Tables here👇