Regular database indexes cannot be used for queries that contain conditions based on two or more ranges. But there are unconventional ways to solve this problem and make queries faster. In this post we'll explore a conceptually simple way: logical charts. The Problem...
Federico Razzoli
Preparing Your Analytical Databases for Agents
Agents can query databases: this has always been the dream of many data people! Sure, SQL resembles English, so it makes it relatively easy to express your questions and get answers. The key here is relatively. You still need to think about your schema, which tables...
SQL Savepoints and When to Use Them
Not many developers know about savepoints in relational databases. Even less of them know when to use them. It's not their fault: I can't remember seeing a good explanation of this feature. Let's try to clarify this lesser-known functionality. In this article I'm...
Vettabase and HammerDB Partner to de-Risk Database Migrations
Vettabase and HammerDB are announcing a partnership to de-risk and assist database migrations. As vendor-independent companies that offer services for multiple database technologies, Vettabase and HammerDB intend to help organisations in the delicate move of changing...
Distributed, Multi-Database Transactions Involving MariaDB and PostgreSQL
In some situations, an application needs to run a single logical transaction that involves multiple database technologies: in our example, they'll be MariaDB and PostgreSQL. This is not an optimal scenario and I'm not recommending to design systems in this way. But...
MariaDB Underrated Features: Zero Dates and Partial Dates
How do you represent information like this in a database? This event happened in 2015/06, but we don't know in which day. This job is scheduled to happen on the first day of the month at 00:00:00, every month and every year. This never happened. There are many ways to...
Navigating Tree and Graph Data with Recursive SQL
Hierarchical and networked data appears everywhere in modern databases: organisational charts, product category trees, dependency graphs, and even transport networks. Applications need to retrieve this data to draw a chart, find out whom a certain employee reports to,...
Benefits of Importing Data with MariaDB CONNECT and PostgreSQL Data Wrappers
There are many ways to import data from external sources into a database. MariaDB and PostgreSQL offer native solutions: the MariaDB CONNECT storage engine and PostgreSQL Foreign Data Wrappers. Unfortunately, these options are often overlooked, in favour of more...
Why Your Database Deserves Consistent Names and Types
I see a lot of problems with database schemas: missing indexes, wrong types, tables used like an spreadsheet... but all these problems are widely known. An often overlooked problem is inconsistency. Let me explain how you should guarantee database consistency, and how...
To BLOB or not to BLOB? The image storage dilemma
Years ago, it was extremely common to store user-uploaded images and other multimedia contents in a database. This practice became less common over time, but I still hear questions like: would it be a bad idea to store images in our database? Or, more specifically:...










