Spider Storage Engine Core Concepts

You are viewing an old version of this article. View the current version here.

A typical spider deployment his a shared-nothing architecture, the system work with any inexpensive hardware, and with a minimum of specific requirements for hardware or software. It consists of a set of computers, with one or more MariaDB processes known as nodes.

The nodes that store the data will be designed as Backend Nodes, and can be any MariaDB, MySQL, Oracle server instances using any storage engine available inside the backend.

The Spider Proxy Nodes are instances running at least MariaDB 10. Spider Proxy Nodes are used to declare per table attachment to the backend nodes. In addition Spider Proxy Nodes can be setup to enable the tables to be split and mirrored to multiple Backend Nodes.

Spider Common Usage

Spider3 Spider4

Spider Storage Engine Federation

Spider is a pluggable Storage Engine, acting as a proxy between the optimizer and the remote backends. When the optimizer request multiple calls to the storage engine, Spider will enforce consistency using a 2 phase commit protocol to the backends and creating transactions on the backends to preserve atomic operations during a single SQL execution. Costly queries can be more efficient when it is possible to fully pushed down part of the execution plan on each backend and reduce the result afterward. Spider enable such execution with some direct execution shortcuts.

Spider1

Spider Threading Model

Spider is using the per partitions and per table model to concurrently access the remote backend nodes. For memory workload that property can be used to define multiple partitions on a single remote backend node to better adapt the concurrency to available CPUs in the hardware.

Spider2

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.