Bug #20464 Request For Selective Journalling Of Tables Within MySQL NDB Cluster
Submitted: 14 Jun 2006 15:07 Modified: 19 May 2009 13:01
Reporter: Dean Swift Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S4 (Feature request)
Version:mysql-5.1 OS:Any (All)
Assigned to: CPU Architecture:Any
Tags: 5.x
Triage: Triaged: D5 (Feature request) / R6 (Needs Assessment) / E6 (Needs Assessment)

[14 Jun 2006 15:07] Dean Swift
Description:
Due to the in-memory nature of MySQL NDB Cluster 5.0, it has found a forte in session management, in applications as diverse as e-commerce and poker. Much of this data is transient and disposable. However, it is often mixed with data which requires more persistence and therefore a cluster typically cannot be run in diskless mode. This creates a situation where a typically high volume of transient data is being journalled unnecessarily. This increases the disk bandwidth, disk size, processor utilization and energy consumption of the cluster. Therefore, selective journalling on a per table table basis would provide a small but significant reduction in cost for a typical cluster.

How to repeat:
mysql> CREATE TABLE t9 (
    ->   a INT PRIMARY KEY
    -> ) ENGINE=NDBCLUSTER JOURNAL=0;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'JOURNAL=0' at line 3

Suggested fix:
The current solution is to commit all data to journals and tune disk bandwidth accordingly. For very specific cases, it may be worthwhile to run multiple instances of a cluster - one a diskless mode for session data. However, the latter solution has not be specified or observed in the wild.