More Databases
More Current SQL Related Databases

MariaDB 
SQL Database
MariaDB is a free, open-source relational database management system (RDBMS) that uses Structured Query Language (SQL) to manage, organize, and manipulate data. It was created in 2009 by the original developers of MySQL as a "drop-in" replacement due to concerns over Oracle's acquisition of MySQL. While it retains high compatibility with MySQL, MariaDB has evolved to offer significantly faster query performance, better multi-threading capacity, and a wider variety of storage engines.
More Information...
Key Features of MariaDB
-
Drop-in Compatibility: You can replace MySQL with MariaDB without changing your application code in most use cases.
-
Advanced Storage Engines: Offers engines tailored for specific tasks, such as InnoDB for transactions, ColumnStore for big data analytics, and MyRocks for heavy write operations.
-
ACID Compliance: Guarantees data integrity using Atomicity, Consistency, Isolation, and Durability principles.
-
JSON & NoSQL Support: Includes capabilities like dynamic columns to store varying object types within a single row alongside standard relational data.
Step-by-Step Practical Example
Below is a complete SQL lifecycle script to build a small bookstore tracking system. This covers creating a database, inserting records, querying data, and performing updates.
- 1. Setup the Database and Table
First, create an empty database container and switch into it. Then, build a table with structured columns, setting specific data types and a PRIMARY KEY to enforce unique identifiers.
-- Create a new database
CREATE DATABASE Bookstore;
-- Switch to the new database context
USE Bookstore;
-- Create the books table
CREATE TABLE books (
book_id INT AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
author VARCHAR(100),
published_year INT,
price DECIMAL(5,2),
PRIMARY KEY (book_id)
);
Populate the table using the INSERT INTO statement. You can insert multiple rows at once to save typing time and speed up processing.
INSERT INTO books (title, author, published_year, price)
VALUES
('The Hobbit', 'J.R.R. Tolkien', 1937, 14.99),
('1984', 'George Orwell', 1949, 9.99),
('The Great Gatsby', 'F. Scott Fitzgerald', 1925, 10.50);
Extract records from the database using a SELECT statement. You can filter rows using a WHERE clause and sort results via ORDER BY.
-- Retrieve all books cheaper than $12, sorted by price (lowest first)
SELECT title, author, price
FROM books
WHERE price < 12.00
ORDER BY price ASC;
|
title
|
author
|
price
|
|
1984
|
George Orwell
|
9.99
|
|
The Great Gatsby
|
F. Scott Fitzgerald
|
10.504.
|
Modify outdated data or clean up the database using UPDATE and DELETE commands targeting specific rows.
-- Update the price of a specific book
UPDATE books
SET price = 12.99
WHERE title = '1984';
-- Delete a record from the table
DELETE FROM books
WHERE book_id = 3;
How to Get Started Locally
If you want to run these commands yourself, visit the official MariaDB Download Page to install the database server. You can log in via your terminal using the built-in command client:
mariadb -u root -p
Alternatively, you can connect and run queries visually using free graphical user interfaces like HeidiSQL (which comes bundled with the Windows installer) or phpMyAdmin.
For full documentation visit mariadb.org.
MongoDB 
NoSQL Database
MongoDB is a popular, open-source NoSQL database management system that stores data in flexible, JSON-like formats called BSON (Binary JSON). Instead of using rigid tables, rows, and columns like traditional relational databases (such as MySQL or PostgreSQL), MongoDB uses collections and documents.
More Information...
Key Concepts Mapping
To understand how MongoDB operates, it helps to compare its terminology directly to a standard relational database (RDBMS):
|
Relational Database (RDBMS)
|
MongoDB Equivalent
|
Description
|
|
Database
|
Database
|
A container for physical storage collections.
|
|
Table
|
Collection
|
A grouping of data records (documents).
|
|
Row / Record
|
Document
|
A single data item containing key-value pairs.
|
|
Column / Field
|
Field
|
A specific data point within a record.
|
|
Table Join
|
Embedded Document / $lookup
|
Nesting related data inside a single document.
|
Core Features
-
Flexible Schema: Documents inside the same collection do not need to share the exact same fields. This allows data structures to evolve fluidly over time.
-
Horizontal Scalability: MongoDB utilizes a process called sharding to split and distribute huge datasets across multiple hardware servers smoothly.
-
High Performance: By embedding related data directly into single documents, it avoids expensive multi-table joins, yielding exceptionally fast read and write speeds.
Hands-On Example
Imagine you are building an e-commerce platform. In a traditional SQL database, you would need separate, linked tables for users, addresses, and credit cards. In MongoDB, you can nest all of this related information into a single user Document.
- 1. The Structure of a Document
Below is a sample document stored inside a users collection:
{
"_id": "60a7b15bf1d2a34b8c8d1011",
"name": "Jane Doe",
"email": "janedoe@example.com",
"age": 30,
"interests": ["coding", "photography"],
"address": {
"street": "123 Innovation Way",
"city": "Austin",
"state": "TX",
"zipcode": "78701"
}
}
Note: The _id field acts as a unique, automatic primary key for the document.
- 2. Basic CRUD Operations (Code Examples)
You interact with the database using the MongoDB Query Language (MQL) through commands like these:
Create (Insert a new document):
db.users.insertOne({
name: "John Smith",
email: "john@example.com",
age: 25
})
Read (Find a document):
// Finds all users living in Austin
db.users.find({ "address.city": "Austin" })
Use code with caution.Update (Modify an existing document):javascript// Updates Jane Doe's age to 31
db.users.updateOne(
{ email: "janedoe@example.com" },
{ $set: { age: 31 } }
)
Delete (Remove a document):
// Removes John Smith from the collection
db.users.deleteOne({ email: "john@example.com" })
When to Use MongoDB
-
When managing rapid development cycles with frequently changing data requirements.
-
When handling massive amounts of unstructured or semi-structured data (e.g., product catalogs, IoT feeds, content management).
-
When applications require high-scale cloud native deployments, which are easily managed using cloud services like MongoDB Atlas.
For full documentation visit mongodb.com.
Firebird 
SQL Database
Firebird SQL is a free, open-source relational database management system (RDBMS) that offers high performance, concurrency, and a remarkably small footprint. It was forked from Borland's open-source InterBase source code in 2000 and is maintained under a Mozilla-style open-source license.
More Information...
Key Features & Architecture
-
Zero Cost: Free to use for both personal and commercial projects without vendor lock-in.
-
Multi-Platform: Runs seamlessly on Windows, Linux, macOS, and Unix.Concurrency: Uses a multi-generational architecture to handle thousands of concurrent users without locking entire tables.
-
Portability: Can be run in server mode or as an embedded database (contained in a single file similar to SQLite).
-
Multi-Version Concurrency Control (MVCC): Firebird utilizes a multi-generation architecture. This means readers do not block writers and writers do not block readers, ensuring high concurrency.
-
Flexible Deployments: It can be run as a standard multi-user network server or deployed in an embedded mode (a single DLL/shared library file) for standalone application software.
-
High SQL Compliance: It is highly compliant with ANSI SQL standards and includes its own fully featured procedural language, PSQL, for triggers and stored procedures.
-
Cross-Platform Support: It runs natively across Windows, Linux, macOS, and Solaris.
-
Low Maintenance: Firebird requires very little administration or configuration to maintain peak performance, making it highly popular for industrial, retail POS, and medical systems.
Direct Architectural Comparison
Firebird supports several deployment architectures depending on hardware scaling needs:
|
Architecture
|
Description
|
Best Used For
|
|
Embedded
|
Run via a single library file without installing a server background service.
|
Desktop applications and single-user local storage.
|
|
SuperServer
|
A single server process handles all client connections using threads.
|
General multi-client systems with shared caches.
|
|
Classic
|
A separate dedicated process is spawned for every single client connection.
|
Systems requiring total process isolation between active clients.
|
|
SuperClassic
|
Uses a single process with independent thread pools per connection.
|
Multi-core SMP hardware configurations needing scale.
|
Example: Working with Firebird
Firebird stores data in files typically ending in .fdb. Here is a quick example of how you might interact with it using SQL statements.
You can execute this command using tools like Flame Robin or Firebird's interactive SQL utility (isql) to create an EMPLOYEES table:
CREATE TABLE EMPLOYEES (
EMP_ID INTEGER PRIMARY KEY,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
SALARY DECIMAL(10, 2)
);
Strings in Firebird must be enclosed in single quotes.
INSERT INTO EMPLOYEES (EMP_ID, FIRST_NAME, LAST_NAME, SALARY)
VALUES (1, 'Jane', 'Doe', 65000.00);
INSERT INTO EMPLOYEES (EMP_ID, FIRST_NAME, LAST_NAME, SALARY)
VALUES (2, 'John', 'Smith', 72500.00);
Firebird supports all standard SQL filtering and functions. For example, to find employees making more than $70,000:
SELECT FIRST_NAME, LAST_NAME, SALARY
FROM EMPLOYEES
WHERE SALARY > 70000.00;
Popular Management Tools
Because Firebird doesn't ship with an advanced built-in visual dashboard, developers typically utilize third-party database clients:
-
DbGate: A modern, open-source visual manager featuring data browsing, master-detail views, and AI-assisted querying.
-
FlameRobin: A highly popular, lightweight, and cross-platform management GUI dedicated specifically to Firebird.
-
DBeaver: A universally utilized community database tool that connects smoothly via Firebird JDBC/ODBC drivers.
For full documentation visit firebirdsql.org.
Valkey 
NoSQL Database
Valkey is a high-performance, open-source, in-memory key-value data store. It is primarily used as a database, cache, message broker, and streaming engine. Born as a community-driven alternative to Redis, it delivers microsecond-level latency, making it ideal for caching, session storage, and rate limiting.
More Information...
Key Characteristics
-
In-Memory Speed: Stores data entirely in RAM for blazing-fast read and write operations.
-
Rich Data Types: Supports strings, hashes, lists, sets, sorted sets, streams, and bitmaps.
-
Persistence: Offers disk-based persistence (RDB snapshots or AOF append-only logs) to prevent data loss.
-
High Availability: Supports scaling and redundancy through Valkey Cluster and Valkey Sentinel.
Basic Valkey Commands & Examples
Interacting with Valkey is like using a giant, server-based hash map. You store data by mapping a value to a unique identifier (key) and retrieve or manipulate it using a CLI or a client library.
Strings are the simplest data type. You can use SET to store a value and GET to retrieve it.
> SET user:100 "Alice"
OK
> GET user:100
"Alice"
Hashes are maps between string fields and string values. They are perfect for representing objects.
> HSET user:1000 name "Bob" age "30" role "Admin"
(integer) 3
> HGET user:1000 name
"Bob"
> HGETALL user:1000
1) "name"
2) "Bob"
3) "age"
4) "30"
5) "role"
6) "Admin"
Lists allow you to maintain an ordered collection of strings. You can push elements to the left or right of the list.
> LPUSH mylist "task1"
(integer) 1
> LPUSH mylist "task2"
(integer) 2
> LRANGE mylist 0 -1
1) "task2"
2) "task1"
For full documentation visit valkey.io.
Modern Databases
Databases Managers
---
title: More Databases
text: More Current SQL Related Databases
image: /assets/svg/firebird.svg
link:
target:
---