Mysql NDB and InnoDB 儲存引擎區別
NDB儲存引擎使用一個分散式的實現,無共享架構,這使它在許多方面的行為不同於InnoDB。對於那些不習慣使用NDB,由於事務、外來鍵、表限制,其分散式性質可能會導致意外行為。這些在下表中顯示:
Feature |
|
|
---|---|---|
MySQL Server Version |
5.7 |
5.7 |
NDB Cluster Version |
N/A |
|
Storage Limits |
64TB |
128TB (as of NDB 7.5.2) |
Foreign Keys |
Yes |
Yes |
Transactions |
All standard types |
|
MVCC |
Yes |
No |
Data Compression |
Yes |
No (NDB checkpoint and backup files can be compressed) |
Large Row Support (> 14K) |
Supported for |
|
Replication Support |
Asynchronous and semisynchronous replication using MySQL Replication |
Automatic synchronous replication within an NDB Cluster; asynchronous replication between NDB Clusters, using MySQL Replication |
Scaleout for Read Operations |
Yes (MySQL Replication) |
Yes (Automatic partitioning in NDB Cluster; NDB Cluster Replication) |
Scaleout for Write Operations |
Requires application-level partitioning (sharding) |
Yes (Automatic partitioning in NDB 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 NDB architecture) |
Time for Node Failure Recovery |
30 seconds or longer |
Typically < 1 second |
Real-Time Performance |
No |
Yes |
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 |
Yes |
Yes (Multiple APIs, including Memcached, Node.js/JavaScript, Java, JPA, C++, and HTTP/REST) |
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 |
Yes, as part of MySQL 5.7 |
Yes |