MariaDB Xpand and MariaDB Enterprise Server Compatibility
This page is part of MariaDB's Documentation.
The parent of this page is: Evaluate Compatibility and Performance of MariaDB Xpand
Topics on this page:
Overview
Xpand built from the ground up to be a distributed, shared-nothing database and does not have any source code from other projects in its code base. Any application that uses a MariaDB client or JDBC/ODBC drivers (e.g. Ruby on Rails or Hibernate) can connect to Xpand without issue and use standard MariaDB constructs to interact with Xpand.
General Differences
Xpand has a different query planner and query plans may vary from those of MariaDB Enterprise Server. As part of your migration testing, we recommend reviewing query plans for slow queries to see if they might benefit from additional tuning. For additional information, see "
EXPLAIN
for MariaDB Xpand".Xpand executable comments are of the form
/*$ */
. Xpand ignores other types of executable comments.Xpand error codes do not match MariaDB Enterprise Server
Xpand implements a subset of MariaDB Enterprise Server's global variables, but behavior for those global variables may differ.
Schema Limitations
Limit | Description |
---|---|
Number of Tables | Xpand supports a maximum of approximately 2,000 tables. The precise limit for your installation depends on the number and type of indexes. |
Number of Columns | Xpand recommends that each table have no more than 200 columns (including system-defined hidden columns), as higher column counts can impact performance and scalability. |
Row Size | In Xpand, the maximum row size for persistent tables (stored on disk) is 64MB. The maximum row size when using RBR replication is 32MB. |
On Xpand, object name comparisons are case insensitive and table names are stored in the case specified in the CREATE
statement. The lower_
Reserved Keywords
The following are reserved keywords for Xpand but not MariaDB Enterprise Server:
complement
full
legacy
signed
temporary
Xpand Internals:
Xpand is a clustered, distributed database built from the ground up for scale, concurrency, and performance as well as ease of use. While Xpand seeks to be compatible with MariaDB Enterprise Server, it contains no actual MariaDB Server or MySQL source code.
Here is more on Xpand internals:
Written primarily in the C programming language
Distributed, shared-nothing architecture with automatic data distribution across nodes and a distributed query processing.
Automatically retains multiple copies of data to provide redundancy and fault tolerance