MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:jon Date:May 18 2007 10:03am
Subject:svn commit - mysqldoc@docsrva: r6524 - trunk/refman-5.0
View as plain text  
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.0jon18 May