Category: AI & Vector
-
Bagisto MariaDB Vector Semantic Search

I’m always interested to see how MariaDB Vector is being used in real applications, beyond the usual demos and simple similarity-search examples.
In this guest post, the team behind Bagisto takes a very practical look at semantic search for e-commerce using MariaDB Vector. What I particularly like is that they don’t stop at showing it works: they test indexing, query latency, concurrency, filtering, recall, and the impact of tuning the vector cache, the InnoDB buffer pool, and the HNSW index […]
-
Laravel 13 now supports MariaDB Vector natively

If your Laravel application runs on MariaDB, you can add semantic search to it without a second database, an external vector service or an extra package. Since Laravel 13.28, vector columns, vector indexes and similarity queries work on MariaDB out of the box. A large part of that work came from community contributors, including Mohamed Touhami Rhaima.
Until this summer, Laravel’s built-in vector search was a PostgreSQL feature: it assumed pgvector. Laravel’s AI SDK documentation now reads: “Vector queries are currently supported on […]
-
MariaDB Vector in Laravel: insights on choosing an embedding model

Update, October 2026: Since Laravel 13.28 (August 2026), vector columns, vector indexes, the AsVector cast and vector similarity queries on MariaDB are built into Laravel itself, with no package needed. See Laravel 13 now supports MariaDB Vector natively. Erik’s package remains an option for Laravel 12, and his findings on choosing an embedding model apply whichever you use.
laravel-mariadb-vector is an open-source project by Erik Ros, bringing MariaDB’s native vector search to Laravel’s Eloquent ORM. In his guest post, Erik shares how it works, and […]
-
Vibe-coding an Audit Plugin in Under 3 Minutes
Who says developing MariaDB plugins is hard? I was able to produce one in under 3 minutes!
I of course did it by asking Grok nicely:
The produced result is actually very decent:
It even produced a Makefile:
And compilation instructions:
The plugin has even compiled and worked on my Mac!
Tests are Important!
While I had Grok’s attention I’ve given it a follow up task:
Note the “please” part! It’s important!
This second prompt made it realize its naiveté […]
-
Database Trends: What is changing in the database world (besides AI)

Earlier this month, I had a half-hour chat with Kellyn Gorman, a Database and AI Advocate and Engineer at Redgate. The UK software company is known for database DevOps and database management tools most databases – and since 2024 as the owner of DB-Engines popularity Ranking of database management systems.
The chat was an intellectual pleasure, to say the least. Kellyn is outstandingly well informed on databases, with a background starting in Oracle, spanning most databases as a DBA and […]
-
MariaDB Vector: How it works. Part IV

This is the last post in the “MariaDB Vector: How it works” series. The first three were about storage, in-memory representation, HNSW modifications. Everything that was done in MariaDB 11.8. This post talks about new feature in MariaDB 12.3: optimized distance calculation.
MathJax = { output: { linebreaks: { inline: false } } }
As I mentioned earlier, distance calculation is the most time consuming part of the vector search, taking 80–90% of the total search time. Also it is […]
-
MariaDB Vector: How it works. Part III

In the previous parts of this series we’ve seen how MariaDB stores vector indexes in a table and how to implement HNSW for a good performance. But MariaDB is not implementing HNSW, it calls its vector search algorithm mHNWS, a modified HNSW. Let’s see how exactly it was modified.
MathJax = { output: { linebreaks: { inline: false } } }
Not so greedy!
HWNS, like many, if not most, graph based vector search algorithms is greedy. Think of it […]
-
MariaDB Vector: How it works. Part II

In the first post of this series, I’ve described how the vector index is stored in a table and how it achieves full transactional behavior and ACID properties compatible with the storage engine of the table the user created. But while the table provides persistent storage of the index, it’s in-memory part that gives it the performance. This is how it works.
Distance calculations
This is the most performance sensitive part of the HNSW. According to various estimates, distance calculations […]