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. As part of your migration testing, we recommend reviewing query plans for slow queries to see if they might benefit from additional tuning. See Understanding the Xpand Explain Output for more information.
  • Xpand executable comments are of the form /*$ */. Xpand ignores other types of executable comments.
  • Xpand error codes do not match MariaDB
  • Xpand implements a subset of MariaDB's global variables, but behavior for those global variables may differ. 

Schema Limitations

Number of TablesXpand supports a maximum of approximately 2,000 tables. The precise limit for your installation depends on the number and type of indexes.
Number of ColumnsXpand 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 SizeIn 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_case_table_names global variable has a value of 1 and cannot be changed.

Reserved Keywords

The following are reserved keywords for Xpand but not MariaDB:

  • 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 MariaDB compatible, it contains no actual MariaDB or MySQL source code.

Here is more on Xpand internals:

  • No labels