Differences Between the NDB and InnoDB Storage Engines

本文详细对比了MySQL Cluster NDB存储引擎与InnoDB在多个方面的区别,包括可用性、存储限制、外键支持、事务类型、并发写入、实时性能等,帮助开发者更好地理解两者之间的差异及其应用场景。
The MySQL Cluster NDB storage engine is implemented using a distributed, shared-nothing architecture, which causes it to behave differently from InnoDB in a number of ways. For those unaccustomed to working with NDB, unexpected behaviors can arise due to its distributed nature with regard to transactions, foreign keys, joins, and other characteristics. These are shown in the following table:

Feature

InnoDB

MySQL Cluster

MySQL Server Version

InnoDB 1.1: 5.5

InnoDB 1.0: 5.1

MySQL Cluster NDB 6.3, 7.0, 7.1: 5.1

MySQL Cluster NDB 7.2: 5.5

InnoDB Availability

InnoDB 1.1 plugin

NDB 6.3, 7.0InnoDB storage engine

NDB 7.1InnoDB 1.0 plugin support, as of MySQL Cluster NDB 7.1.9a

NDB 7.2InnoDB 1.1 (MySQL Cluster NDB 7.2.1 and later)

Storage Limits

64TB

3TB

(Practical upper limit based on 48 data nodes with 64GB RAM each; can be increased with disk-based data and BLOBs)

Foreign Keys

Yes

No

(Ignored, as with MyISAM)

Transactions

All standard types

READ COMMITTED

MVCC Non-Blocking Reads

Yes

No

Data Compression

Yes

No

(MySQL Cluster checkpoint and backup files can be compressed)

Large Row Support (> 14K)

Supported for VARBINARYVARCHARBLOB, and TEXT columns

Supported for BLOB and TEXT columns only

(Using these types to store very large amounts of data can lower MySQL Cluster performance)

Replication Support

Asynchronous and semi-synchronous replication using MySQL Replication

Automatic synchronous replication within a MySQL Cluster.

Asynchronous replication between MySQL Clusters, using MySQL Replication

Scaleout for Read Operations

Yes (MySQL Replication)

Yes (Automatic partitioning in MySQL Cluster; MySQL Replication)

Scaleout for Write Operations

Requires application-level partitioning (sharding)

Yes (Automatic partitioning in MySQL Cluster is transparent to applications)

High Availability (HA)

Requires additional software

Yes (Designed for 99.999% uptime)

Node Failure Recovery and Failover

Requires additional software

Automatic

(Key element in MySQL Cluster architecture)

Time for Node Failure Recovery

30 seconds or longer

Typically < 1 second

Real-Time Performance

No

Yes (Low latency)

In-Memory Tables

No

Yes

(Some data can optionally be stored on disk; both in-memory and disk data storage are durable)

NoSQL Access to Storage Engine

Native memcached interface in development (see the MySQL Dev Zone article NoSQL to MySQL with Memcached)

Yes

Multiple APIs, including C++, HTTP/REST, Java and JPA (MySQL Cluster NDB 7.1 and later); Memcached (MySQL Cluster NDB 7.2) and later)

Concurrent and Parallel Writes

Not supported

Up to 48 writers, optimized for concurrent writes

Conflict Detection and Resolution (Multiple Replication Masters)

No

Yes

Hash Indexes

No

Yes

Online Addition of Nodes

Read-only replicas using MySQL Replication

Yes (all node types)

Online Upgrades

No

Yes

Online Schema Modifications

No

Yes

Real-Time Performance

No

Yes


http://docs.oracle.com/cd/E17952_01/refman-5.1-en/mysql-cluster-ndb-innodb-engines.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值