No longer posting here, follow link for new content

Joined March 2014
Open source #MySQL Ndb Cluster software can be deployed on bare metal, VMs, containers, on premise, on any cloud, on any Kubernetes cluster service and on your laptop. There is no rent to pay, no forced upgrades, no mandatory downtime. #DistributedSQL
76
SQL processing + connectivity scale out with many MySQL Servers connected to a #MySQL Ndb Cluster. Individual MySQL server failures affect only their clients. Rolling restart allows software upgrade with SQL service throughout. #DistributedSQL
63
MySQL Ndb Cluster has supported almost twenty years of zero-downtime upgrades through redundancy, protocol + file system format compatibility. downloads.mysql.com/docs/mys… #DistributedSQL #MySQL #HighAvailability
1
1
1
194
#MySQL Ndb Cluster software can be upgraded via rolling restart. New versions keep protocol + storage compatibility. Normal redundancy, failover + recovery mechanisms ensure availability. Changes affecting compatibility are enabled after all nodes are upgraded. #DistributedSQL
1
81
Redundancy in #MySQL Ndb Cluster ensures service availability automatically over both unexpected failures + planned maintenance tasks such as : - Soft state reset - Storage rebuild - HW + OS upgrades - Config changes - Software upgrade - Node migration - Scale up #DistributedSQL
58
#MySQL Ndb Cluster data node Undo logs contain ops to undo (disk stored column) tablespace page writes. Undo is a WAL, flushed before tablespace pages, guaranteeing recoverability. Redo logs are a WBL, flushed after transaction commit + before or after checkpoint. #DistributedSQL
59
Durability in #MySQL Ndb Cluster is ensured using the distributed GCP protocols to : - Define consistent transaction boundaries (epochs) - Wait for epochs to finalise - Wait for epoch redo logs to be durable + fsynced Effectively async distributed group commit. #DistributedSQL
50
Each Redo log part in #MySQL Ndb Cluster is a configurable number + size of Redo log files, initialised at data node start, storing a circular log. Transaction prepare + commit records move the head pos forward. LCP completion moves the tail pos forward. #DistributedSQL
38
The Redo log in each #MySQL Ndb Cluster data node is actually a configurable number (default 4) of independent redo logs called parts. Each table partition logs operations to one Redo log part, with partitions balanced across parts for increased I/O parallelism #DistributedSQL
46
Checkpoints + Redo logs provide durability in #MySQL Ndb Cluster data nodes for : - Consistent recovery of data and changes after a total outage via System Restart (SR) - Faster recovery when a data node is restarted during normal operation via Node Restart (NR) #DistributedSQL
47
Single Writer, Multiple Reader (SWMR/MRSW) partition locks are only used by #MySQL Ndb Cluster if Query Threads are configured. Lock tenure is confined to one non-blocking microtask execution. No locks are held while waiting for disk I/O, row locks or buffers. #DistributedSQL
39
Each #MySQL Ndb Cluster LDM thread executes interleaved microtasks implementing concurrent lookups, scans, writes + txn commits on its partition replicas. Query threads add parallel execution of lookup + scan microtasks, using SWMR locking per partition replica. #DistributedSQL
1
106
Query threads in #MySQL Ndb Cluster 8.0 allow multithreaded reads + scans of the table/index partitions owned by one LDM instance. Read scaling within a partition helps balance read hotspots and avoids the costs of using many partitions for scaling. #DistributedSQL #MultiParallel
104
Good article from Adam Prout about modes of consensus usage in distributed DBs. #MySQL Ndb Cluster is a CfM system by this categorisation. Agree that 'Use Paxos/Raft for everything' originates from the Chubby paper + 'Copy Google' trend. #DistributedSQL medium.com/@adamprout/catego…
2
4
449
Each LDM instance + thread in #MySQL Ndb Cluster owns + encapsulates all access to a set of table + index partition replicas. This architecture allows efficient lock free execution, with thread parallelism between partitions owned by different LDM instances. #DistributedSQL
54
A DIstribution Handler (DIH) block in every #MySQL Ndb Cluster data node maintains data distribution + replication maps. Transaction processing blocks in other threads access these structures efficiently + consistently using memory barriers + a sequence counter. #DistributedSQL
65
Ndb Cluster data nodes primarily use Ericsson's AXE blocks + signals model mapped onto async message passing shared nothing actor threads for efficient scale. Thread locking + atomics are used minimally in critical areas for low latency flexibility. #DistributedSQL #MySQL
76
Partitioned + Replicated Shared Nothing components are the key to scaling + fault isolation in #MySQL Ndb Cluster. This architecture is recursively applied in each data node, with table + index state partitioned across independent parallel Local Data Managers. #DistributedSQL
47