Glossary

Overview

This is a glossary of terms used within the MariaDB Enterprise Documentation:

A, B, C

A

ACID

ACID (Atomicity, Consistency, Isolation, Durability) refer to the characteristics of a database that guarantee that transactions are processed reliably. For additional information on ACID properties in MariaDB Xpand, see "Architecture of MariaDB Xpand".

ALLNODES

In MariaDB Xpand, ALLNODES is a supported value for the REPLICAS table option. For additional information, see "REPLICAS Table Option for MariaDB Xpand".

atomicity

Atomicity is one of the ACID characteristics of databases. Atomicity refers to the characteristic of a transaction that is all or nothing: either all the transaction's changes are applied or none of them are applied. For additional information on atomicity in MariaDB Xpand, see "Architecture of MariaDB Xpand".

B

barrier

In MariaDB Xpand, a barrier is a synchronization method used to control message flow. A barrier delineates a group of messages and all nodes must reach that barrier before proceeding. For additional information, see "Internal Counters".

base representation

In MariaDB Xpand, the base representation is the representation that contains all the table data and that is indexed by the primary key. If no primary key is defined, MariaDB Xpand assigns a unique rowid key. Also known as baserep. For additional information, see "Architecture of MariaDB Xpand".

baserep

See base representation.

BigC

In MariaDB Xpand, BigC is a garbage collection process that cleans up undo logs needed to rollback running transactions. MariaDB Xpand must keep the system's state of a transaction the entire time a transaction is open. Once a transaction is committed, BigC removes it from the various undo logs as it is no longer needed. Long-running transactions can cause BigC to become "pinned". That means that an old transaction must be preserved as it is potentially needed for recovery, yet subsequent activity on the cluster is causing the undo logs to become full. For additional information, see "Trim and Garbage Collection".

broadcast

Broadcasting refers to a method of transferring a message to all recipients simultaneously. MariaDB Xpand leverages distributed computing to avoid broadcasts. For additional information, see "Broadcasts".

Buffer Manager

MariaDB Xpand utilizes a Buffer Manager to exchange pages from disk to memory and vice versa. For additional information, see "Buffer Manager Miss Rate".

C

C

C is a programming language. For information on connecting to MariaDB products from C applications, see "MariaDB Connector/C".

C++

C++ is a programming language. For information on connecting to MariaDB products from C++ applications, see "MariaDB Connector/C++".

cid

See commit identifier.

cluster

In MariaDB Xpand, a cluster is a group of MariaDB Xpand nodes connected to provide a redundant, scalable RDBMS. For additional information, see "Architecture of MariaDB Xpand".

clxnode

In MariaDB Xpand, clxnode is the database process. For additional information, see "Architecture of MariaDB Xpand".

commit identifier

In MariaDB Xpand, a commit identifier (cid) marks when transactional changes become visible to other transactions. For additional information, see "Transaction Isolation Levels for MariaDB Xpand".

Connector/C

See MariaDB Connector/C.

Connector/C++

See MariaDB Connector/C++.

Connector/Node.js

See MariaDB Connector/Node.js.

Connector/ODBC

See MariaDB Connector/ODBC.

Connector/Python

See MariaDB Connector/Python.

Connector/R2DBC

See MariaDB Connector/R2DBC.

consistency

Consistency can refer to multiple concepts. Consistency can refer to one of the ACID characteristics of databases. For additional information on consistency related to the ACID characteristics in MariaDB Xpand, see "Architecture of MariaDB Xpand". Consistency can also refer to one of the guarantees of the CAP theorem that is used to describe distributed systems.

consistent transaction

A consistent transaction does not violate referential integrity during execution. For additional information on consistent transactions in MariaDB Xpand, see "Architecture of MariaDB Xpand".

container

In MariaDB Xpand, a container is the base storage unit used by Xpand. Containers define how representations are stored and retrieved using an access method such as B-trees, layered trees, skiplists, etc. Each slice and replica of a representation will have its own container, regardless of whether or not that container is written to disk. For additional information about how to specify the type of container used for a table or index in Xpand, see "Accepted Table Options" and "Accepted Index Options".

cost

MariaDB Xpand uses a cost based model for the query optimizer (Sierra) that uses a cost factor based on I/O, CPU usage, and latency. For additional information, see "The Cost Model".

D, E, F

D

data distribution

MariaDB Xpand leverages fine-grained data distribution and a shared-nothing architecture to provide scalability. For additional information, see "Architecture of MariaDB Xpand".

database

A database is a collection of tables, or relations. This is also sometimes referred to as a schema. (The MariaDB Xpand term for tables is "relations"). For additional information on MariaDB Xpand databases, see "Architecture of MariaDB Xpand".

DBaaS

A DBaaS is a DataBase-as-a-Service. A DBaaS is a managed database delivered by a cloud database provider. MariaDB SkySQL is a DBaaS. For additional information, see "MariaDB SkySQL".

device1

In MariaDB Xpand, device1 is the file that represents permanent storage and is used for all database data, undo logs, temporary tables, binlogs, and MariaDB Xpand system usage. For additional information, see "device1 (main storage)".

device1-redo

In MariaDB Xpand, device1-redo is the file that stores the write-ahead log (WAL). For additional information, see "device1-redo (write-ahead log)".

device1-temp

In MariaDB Xpand, device1-temp is a temporary storage used for sorting and grouping large query results. For additional information on device1, see "device1 (main storage)".

distributed aggregate

In MariaDB Xpand, a distributed aggregate refers to the ability to perform aggregate queries (e.g., OLAP) in a distributed manner. For additional information, see "Scaling Aggregates with MariaDB Xpand".

distribution key

In MariaDB Xpand, the distribution key is some prefix of a representation's key columns and is used to distribute data across the cluster. For additional information, see "Architecture of MariaDB Xpand".

durability

Durability is one of the ACID characteristics of databases. For additional information on durability in MariaDB Xpand, see "Configure Durability Options for MariaDB Xpand".

E

evaluation model

In MariaDB Xpand, the evaluation model in describes how a query is evaluated. For additional information, see "Parallel Query Evaluation for MariaDB Xpand".

F

Fair Scheduler

In MariaDB Xpand, the Fair Scheduler is the component that prevents long-running queries from monopolizing CPU resources by giving priority to any waiting small queries. For additional information, see "Fair Scheduler for MariaDB Xpand".

fanout

In MariaDB Xpand, fanout is the ability to use multiple CPUs to execute a query. For additional information, see "Fanout with MariaDB Xpand".

flow control

In MariaDB Xpand, the Global Transaction Manager and other subsystems use flow control to prevent message senders from outpacing receivers and to prevent receiving nodes' memory from filling up with unprocessed messages. For additional information, see "Architecture of MariaDB Xpand".

forward

In MariaDB Xpand, forwarding is the act of sending a row or rows to another node for further processing. For additional information, see "Architecture of MariaDB Xpand".

fragment

In MariaDB Xpand, a fragment is a pre-compiled part of a query usually sent to another node for processing. For additional information, see "Architecture of MariaDB Xpand".

G, H, I

G

Global Transaction Manager

In MariaDB Xpand, the Global Transaction Manager (GTM) is a subsystem that manages the atomic commitment of transactions across the cluster, ensuring that all nodes involved come to the same decision every time. For additional information, see "Massively Parallel Processing (MPP)".

group

In MariaDB Xpand, a group is the list of all nodes known to the cluster. For additional information, see "Group Membership and Quorum".

group change

In MariaDB Xpand, a group change is the event that occurs when a cluster forms a new group of nodes. This occurs when a node joins or leaves the cluster group. For additional information, see "Group Changes with MariaDB Xpand".

GTM

See Global Transaction Manager.

I

iid

See invocation identifier.

index distribution

In MariaDB Xpand, index distribution is done by distributing indexes based on hashing the first column of an index unless advised otherwise. For additional information, see "Architecture of MariaDB Xpand".

invocation

In MariaDB Xpand, an invocation represents a single use of the query engine. Typically, queries use a single invocation, but DDL queries and those that call a stored procedure or function can use multiple invocations. For additional information, see "MVCC (Multi-Version Concurrency Control) with MariaDB Xpand".

invocation identifier

In MariaDB Xpand, an invocation identifier (iid) marks the beginning of a statement within a transaction. For additional information, see "Transaction Isolation Levels for MariaDB Xpand"

isolation

Isolation is one of the ACID characteristics of databases. Isolation refers to the characteristic that defines how and when changes made by one transaction are visible to other concurrent transactions. For additional information on transaction isolation in MariaDB Xpand, see "Transaction Isolation Levels for MariaDB Xpand".

J, K, L

J

Java

Java is a programming language. For information on connecting to MariaDB products from Java applications, see "MariaDB Connector/J".

L

layer trees

In MariaDB Xpand, layer trees are a set of B-Trees that appear as a single container. This is the default container type used by MariaDB Xpand. For additional information about how to specify the type of container used for a table or index in Xpand, see "Accepted Table Options" and "Accepted Index Options".

lumpy distribution

In MariaDB Xpand, lumpy distribution refers to a poor data distribution. For additional information on data distribution in MariaDB Xpand, see "Architecture of MariaDB Xpand".

M, N, O

M

MariaDB Connector/C

MariaDB Connector/C connects C and C++ applications to MariaDB products. For additional information, see "MariaDB Connector/C".

MariaDB Connector/C++

MariaDB Connector/C++ connects C++ applications to MariaDB products. For additional information, see "MariaDB Connector/C++".

MariaDB Connector/Node.js

MariaDB Connector/Node.js connects Node.js applications to MariaDB products. For additional information, see "MariaDB Connector/Node.js".

MariaDB Connector/ODBC

MariaDB Connector/ODBC connects applications to MariaDB products using the ODBC API. For additional information, see "MariaDB Connector/ODBC".

MariaDB Connector/Python

MariaDB Connector/Python connects Python applications to MariaDB products. For additional information, see "MariaDB Connector/Python".

MariaDB Connector/R2DBC

MariaDB Connector/R2DBC connects reactive Java applications to MariaDB products. R2DBC operations are non-blocking, which makes the R2DBC API more scalable than Java's standard JDBC API. MariaDB Connector/R2DBC is available both with a native R2DBC implementation and the Spring Data R2DBC framework. For additional information, see "MariaDB Connector/R2DBC".

MariaDB SkySQL

MariaDB SkySQL is a cloud database service (DBaaS) from MariaDB Corporation. MariaDB SkySQL delivers MariaDB Enterprise, a comprehensive data platform for modern applications. MariaDB SkySQL runs on expert-maintained cloud infrastructure. For additional information, see "MariaDB SkySQL".

massively parallel processing

Massively parallel processing (MPP) refers to the ability to leverage a large number of processors to perform a set of coordinated computations in parallel. For more information on parallel processing in MariaDB Xpand, see "Parallel Query Evaluation for MariaDB Xpand".

MAX_FAILURES

In MariaDB Xpand, MAX_FAILURES defines the number of simultaneous failures that the cluster can survive. Also known as nResiliency. For additional information, see "MAX_FAILURES".

Microsoft Power BI

Microsoft Power BI is a freely-downloadable Business Intelligence (BI) tool for Microsoft Windows. Using the MariaDB Direct Query Adapter, a Microsoft-certified connector, you can connect to MariaDB products and query data without downloading the entire data set to your local machine. For additional information, see "Connect using Microsoft Power BI".

MPP

See massively parallel processing.

multi-version concurrency control

Multi-version concurrency control (MVCC) is a method used to implement concurrency and consistency in a distributed database environment. One of the original papers on this topic is Concurrency Control in Distributed Database Systems. MariaDB Xpand implements a modified version of this algorithm that provides optimizations for modern database workloads. For additional information, see MVCC (Multi-Version Concurrency Control) with MariaDB Xpand".

MVCC

See multi-version concurrency control.

N

node

A node is a single server running MariaDB software. In MariaDB Xpand, multiple nodes connect to form a cluster. For additional information on nodes in MariaDB Xpand, see "Architecture of MariaDB Xpand".

Node.js

Node.js is a runtime environment for the JavaScript programming language. For information on connecting to MariaDB products from Node.js applications, see "MariaDB Connector/Node.js".

nResiliency

See MAX_FAILURES.

O

object identifier

In MariaDB Xpand, object identifier (oid) is a data type used by internal structures. For additional information, see "Planner Operators for MariaDB Xpand".

ODBC

ODBC, Open Database Connectivity, is an API. For information on connecting to MariaDB products from applications that use the ODBC API, see "MariaDB Connector/ODBC".

oid

See object identifier.

OLAP

See Online Analytical Processing.

OLTP

See Online Transaction Processing.

Online Analytical Processing

Online Analytical Processing (OLAP) workloads are generally characterized by ad hoc queries on very large data sets. For additional information on topologies suitable for OLAP, see "MariaDB Deployment".

Online Transaction Processing

Online Transaction Processing (OLTP) workloads are generally characterized by a fixed set of queries using a relatively small data set. For additional information on topologies suitable for OLTP, see "MariaDB Deployment".

P, Q, R

P

PD

See probability distribution.

Power BI

See Microsoft Power BI.

probability distribution

In MariaDB Xpand, probability distributions (PD) are tracked for values in each relation to aid in query planning. For additional information, see "Collect Static PDs with ANALYZE FULL TABLE for MariaDB Xpand".

protected

In MariaDB Xpand, protected is the status of the Xpand cluster when at least two replicas of every slice are available. For additional information, see "MariaDB Xpand Rebalancer".

Python

Python is a programming language. For information on connecting to MariaDB products from Python applications, see "MariaDB Connector/Python".

Q

query optimizer

A query optimizer determines which execution plan uses the least amount of resources. Typically this is done by assigning costs to a query's plan and then choosing the plan with the lowest cost. For more information on the MariaDB Xpand query optimizer, see "Query Optimizer for MariaDB Xpand".

queue (recovery)

In MariaDB Xpand, queues are used to track changes to data that may have occurred for a given node while it was unavailable to the cluster. For additional information, see "Recovery Queues".

quorum

MariaDB Xpand requires that a minimum number of nodes planned for a cluster are operational at any one time for it to be able to operate as configured. That minimum for MariaDB Xpand is called a quorum and it is calculated as one more than half of all the nodes configured for a cluster or (Total Nodes/2 +1). MariaDB Xpand cannot form a cluster without a quorum. For additional information, see "Group Membership and Quorum".

R

R2DBC

R2DBC is Reactive Relational Database Connectivity (R2DBC) API. R2DBC operations are non-blocking, which makes the R2DBC API more scalable than Java's standard JDBC API. MariaDB Connector/R2DBC is available both with a native R2DBC implementation and the Spring Data R2DBC framework. For information on connecting to MariaDB products from Java R2DBC applications, see "MariaDB Connector/R2DBC".

ranked replica

MariaDB Xpand designates one replica of each slice of a table as the ranked replica. All reads are directed exclusively to that replica. Also called the "read replica" or the "ranking replica". For additional information, see "Architecture of MariaDB Xpand".

ranking replica

See ranked replica.

read replica

See ranked replica.

Rebalancer

In MariaDB Xpand, the Rebalancer automatically moves, copies, redistributes, and re-ranks data across the cluster. For additional information, see "MariaDB Xpand Rebalancer".

relation

A relation is a table in MariaDB Xpand. For additional information, see "Architecture of MariaDB Xpand".

release notes

Release notes itemize details about feature changes effective a certain date. For additional information on MariaDB products changes, see "Release Notes".

replica

MariaDB Xpand maintains multiple copies of data, or replicas, for fault tolerance and availability. For additional information, see "Architecture of MariaDB Xpand".

representation

In MariaDB Xpand, every index, including the primary key, is called a representation. Each representation is made up of a series of slices. The table's data is stored in the base representation. For additional information, see "Representations".

reprotect

In MariaDB Xpand, when a slice has fewer replicas than desired, the Rebalancer will reprotect the slice by creating a new copy of the slice on a different node. For additional information, see "Reprotect Task".

reslicing

In MariaDB Xpand, as the dataset grows, MariaDB Xpand will automatically and incrementally reslice (redistribute) the dataset one or more slices at a time. For additional information, see "Rebalancer Tasks for MariaDB Xpand".

S, T, U

S

Sierra

Sierra is the name of the MariaDB Xpand query optimizer. For additional information, see "Query Optimizer for MariaDB Xpand".

sigma containers

In MariaDB Xpand, sigma containers are temporary containers used to store intermediate results of some queries. For additional information, see "Using Indexes to Improve Performance".

skiplist

MariaDB Xpand uses skiplist data structures for In-Memory tables and some internal processes. For additional information about how to specify the type of container used for a table or index in Xpand, see "Accepted Table Options" and "Accepted Index Options".

SkySQL

See MariaDB SkySQL.

slice

MariaDB Xpand breaks up each representation into a collection of logical slices. Rows are assigned to slices according to the results of a hashing function. For additional information, see "Architecture of MariaDB Xpand".

softfail

In MariaDB Xpand, a softfail is an operation that removes a node from a cluster. For additional information, see "Scale-In with MariaDB Xpand"

T

transaction ID

In MariaDB Xpand, a transaction ID (xid) is an internal identifier used to denote the logical start of a transaction. For additional information, see "Transaction Isolation Levels for MariaDB Xpand".

U

under-protected

In MariaDB Xpand, under-protected is the state of the cluster when it does not have at least two copies (replicas) of each slice. For additional information, see "Reprotect Task".

V, W, X

V

virtual relation

In MariaDB Xpand, a virtual relation (vrel) is often used to represent system information. For additional information, see "system Tables in Xpand".

vrel

See virtual relation.

W

WAL

See Write Ahead Log.

Write Ahead Log

In MariaDB Xpand, the Write Ahead Log (WAL) is used to log every command that the user executes. For additional information, see "device1-redo (write-ahead log)".

Y, Z

Z

zone

MariaDB Xpand can be deployed across multiple fault tolerance zones (AWS Availability Zones within the same region, different server racks, different network switches, different power sources, or even separate servers in different data centers). For additional information, see "Zones with MariaDB Xpand".