Author: jstephens
Date: 2007-05-18 12:03:14 +0200 (Fri, 18 May 2007)
New Revision: 6524
Log:
Reworking 5.0 Cluster Limitations: next 2 subsections.
Modified:
trunk/refman-5.0/mysql-cluster-limitations-working.xml
Modified: trunk/refman-5.0/mysql-cluster-limitations-working.xml
===================================================================
--- trunk/refman-5.0/mysql-cluster-limitations-working.xml 2007-05-18 10:02:04 UTC (rev
6523)
+++ trunk/refman-5.0/mysql-cluster-limitations-working.xml 2007-05-18 10:03:14 UTC (rev
6524)
Changed blocks: 2, Lines Added: 211, Lines Deleted: 104; 12787 bytes
@@ -742,108 +742,6 @@
</listitem>
- <listitem>
- <indexterm>
- <primary>MySQL Cluster limitations</primary>
- <secondary>implementation</secondary>
- </indexterm>
-
- <para id="mysql-cluster-limitations-exclusive-to-cluster">
- <emphasis role="bold">Issues exclusive to MySQL
- Cluster</emphasis> (not related to <literal>MyISAM</literal>
- or <literal>InnoDB</literal>):
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- All machines used in the cluster must have the same
- architecture. That is, all machines hosting nodes must be
- either big-endian or little-endian, and you cannot use a
- mixture of both. For example, you cannot have a management
- node running on a PowerPC which directs a data node that
- is running on an x86 machine. This restriction does not
- apply to machines simply running <command>mysql</command>
- or other clients that may be accessing the cluster's SQL
- nodes.
- </para>
- </listitem>
-
- <listitem>
- <para>
- It is also not possible to perform a Cluster backup and
- restore between different architectures. For example, you
- cannot back up a cluster running on a big-endian platform
- and then restore from that backup to a cluster running on
- a little-endian system. (Bug #19255)
- </para>
- </listitem>
-
- <listitem>
- <para>
- It is not possible to make online schema changes such as
- those accomplished using <literal>ALTER TABLE</literal> or
- <literal>CREATE INDEX</literal>, as the <literal>NDB
- Cluster</literal> engine does not support autodiscovery of
- such changes. (However, you can import or create a table
- that uses a different storage engine, and then convert it
- to <literal>NDB</literal> using <literal>ALTER TABLE
- <replaceable>tbl_name</replaceable>
- ENGINE=NDBCLUSTER</literal>. In such a case, you must
- issue a <literal>FLUSH TABLES</literal> statement to force
- the cluster to pick up the change.)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Online adding or dropping of nodes is not possible (the
- cluster must be restarted in such cases).
- </para>
- </listitem>
-
- <listitem>
- <para>
- Multiple network addresses per data node are not
- supported. Use of these is liable to cause problems: In
- the event of a data node failure, an SQL node waits for
- confirmation that the data node went down but never
- receives it because another route to that data node
- remains open. This can effectively make the cluster
- inoperable.
- </para>
-
- <para>
- It is possible to use multiple network hardware interfaces
- (such as Ethernet cards) for a single data node, but these
- must be bound to the same address. This also means that it
- not possible to use more than one <literal>[TCP]</literal>
- section per connection in the
- <literal>config.ini</literal> file. See
- <xref linkend="mysql-cluster-tcp-definition"/>, for more
- information.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The maximum number of data nodes is 48.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The total maximum number of nodes in a MySQL Cluster is
- 63. This number includes all SQL nodes (MySQL Servers),
- API nodes (applications accessing the cluster other than
- MySQL servers), data nodes, and management servers.
- </para>
- </listitem>
-
- </itemizedlist>
- </listitem>
-
</itemizedlist>
<section id="mysql-cluster-limitations-syntax">
@@ -871,11 +769,220 @@
</section>
<section id="mysql-cluster-limitations-performance">
- <title></title>
+
+ <title>Limitations Relating to Performance</title>
+
+ <indexterm>
+ <primary>MySQL Cluster limitations</primary>
+ <secondary>performance</secondary>
+ </indexterm>
+
+ <para>
+ The following performance issues are specific to or especially
+ pronounced in MySQL Cluster:
+
+ <itemizedlist>
+
+ <listitem><formalpara>
+ <title>Range scans</title>
+ <para>
+ There are query performance issues due to sequential access
+ to the <literal>NDB</literal> storage engine; it is also
+ relatively more expensive to do many range scans than it is
+ with either <literal>MyISAM</literal> or
+ <literal>InnoDB</literal>.
+ </para></formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Reliability of <literal>Records in
range</literal></title>
+ <para>
+ The <literal>Records in range</literal> statistic is
+ available but is not completely tested or officially
+ supported. This may result in non-optimal query plans in
+ some cases. If necessary, you can employ <literal>USE
+ INDEX</literal> or <literal>FORCE INDEX</literal> to
alter
+ the execution plan. See <xref linkend="index-hints"/>, for
+ more information on how to do this.
+ </para></formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Unique hash indexes</title>
+ <para>
+ Unique hash indexes created with <literal>USING
+ HASH</literal> cannot be used for accessing a table if
+ <literal>NULL</literal> is given as part of the key.
+ </para></formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Binary logging</title>
+ <para>
+ MySQL Cluster has the following limitations or
+ restrictions with regard to binary logging:
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>SQL_LOG_BIN</literal> has no effect on data
+ operations; however, it is supported for schema operations.
+ </para>
+
+ </listitem>
+
+ <listitem>
+
+ <para>
+ MySQL Cluster cannot produce a binlog for tables having
+ <literal>BLOB</literal> columns but no primary key.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Only the following schema operations are logged in a cluster
+ binlog which is <emphasis>not</emphasis> on the
+ <command>mysqld</command> executing the
statement:<itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>CREATE TABLE</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>ALTER TABLE</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>DROP TABLE</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>CREATE DATABASE</literal> /
<literal>CREATE
+ SCHEMA</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>DROP DATABASE</literal> /
<literal>DROP
+ SCHEMA</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+
+
+
+
+
+
+ </listitem>
+
+ </itemizedlist>
+ </para>
</section>
<section id="mysql-cluster-limitations-exclusive-to-cluster">
- <title></title>
+
+ <title>Issues Exclusive to MySQL Cluster</title>
+
+ <indexterm>
+ <primary>MySQL Cluster limitations</primary>
+ <secondary>implementation</secondary>
+ </indexterm><para>
+ The following are limitations specific to the
+ <literal>NDBCLUSTER</literal> storage engine, and do not occur
+ with <literal>MyISAM</literal> or
<literal>InnoDB</literal>:
+ <itemizedlist>
+
+ <listitem><formalpara>
+ <title>Machine architecture</title>
+ <para>
+ The following issues relate to physical architecture of
+ cluster hosts:
+ <itemizedlist>
+ <listitem>
+ <para>
+ All machines used in the cluster must have the same
+ architecture. That is, all machines hosting nodes must be
+ either big-endian or little-endian, and you cannot use a
+ mixture of both. For example, you cannot have a management
+ node running on a PowerPC which directs a data node that
+ is running on an x86 machine. This restriction does not
+ apply to machines simply running <command>mysql</command>
+ or other clients that may be accessing the cluster's SQL
+ nodes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+
+ <title>Adding and dropping of data nodes</title>
+
+ <para>
+ Online adding or dropping of data nodes is not currently
+ possible. In such cases, the entire cluster must be
+ restarted.
+ </para>
+
+ </formalpara>
+ </listitem>
+
+ <listitem><formalpara>
+
+ <title>Backup and restore between architectures</title>
+ <para>
+ It is also not possible to perform a Cluster backup and
+ restore between different architectures. For example, you
+ cannot back up a cluster running on a big-endian platform
+ and then restore from that backup to a cluster running on
+ a little-endian system. (Bug #19255)
+ </para></formalpara>
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Online schema changes</title>
+ <para>
+ It is not possible to make online schema changes such as
+ those accomplished using <literal>ALTER TABLE</literal> or
+ <literal>CREATE INDEX</literal>, as the <literal>NDB
+ Cluster</literal> engine does not support autodiscovery of
+ such changes. (However, you can import or create a table
+ that uses a different storage engine, and then convert it
+ to <literal>NDB</literal> using <literal>ALTER TABLE
+ <replaceable>tbl_name</replaceable>
+ ENGINE=NDBCLUSTER</literal>. In such a case, you must
+ issue a <literal>FLUSH TABLES</literal> statement to force
+ the cluster to pick up the change.)
+ </para></formalpara>
+ </listitem>
+ </itemizedlist>
+
+ </para>
</section>
<section id="mysql-cluster-limitations-multiple-nodes">
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r6524 - trunk/refman-5.0 | jon | 18 May |