Hot answers tagged

15

These 3 things have nothing to do one with each other. I will give you an introduction and you can search or ask for more specifics separately: MySQL Cluster is the marketing name of what many of us call - to avoid confusions like the one you are currently suffering from - "NDB Cluster" or "MySQL NDB Cluster". It is a synchronous mostly memory-only key-...


4

Each data node's redo log has a number of 'parts' - currently 4 by default. Each redo log part is like a mini redo log, with 1 / Num_parts of the capacity defined for 'Redo log'. This design increases file system and lower layers parallelism when writing the redo log, but requires balance across the parts to be reasonable. When a table is created, table ...


4

AFAIK, you're right that AWS RDS Aurora (a MySQL 5.6 fork) does not support automatic or transparent read/write splitting: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html In order to do that in a way that's completely transparent to the application, you would need an intermediate proxy. Your application would then always connect to ...


3

Forgive me for sounding somewhat biased, but you can learn about setting up Master/Slave and Master/Master Replication right here in the DBA StackExchange. Here are some of my posts May 26, 2012 : Trying to understand SHOW SLAVE STATUS\G Jan 05, 2012 : MySQL Replication Error Dec 23, 2011 : How to make MySQL replication reliable? Dec 19, 2011 : Best way ...


3

For single machine setups, you can also check out the Cluster Sandbox: http://www.severalnines.com/resources/mysql-cluster-sandbox-pre-defined-packages Good luck! Vinay http://www.severalnines.com/ Edit By RolandoMySQLDBA 2012-05-15 13:34 EDT Check out the Training Slides : http://severalnines.com/mysql-cluster-training IMHO it would be a fine ...


3

currently the maximum data set size is around 3TB, if you are using all in-memory data. You can increase that if you use disk-based tables MySQL Cluster also has very flexible replication to external storage engines, ie to InnoDB, so many users manage their "hot" data in cluster, then replicate "colder / aged" data to innodb. There is a blog describing how ...


3

First 2500*50kB ~= 128MB. Then if you will check CREATE TABLESPACE syntax default INITIAL_SIZE for the datafile is 128MB! So if you want to store more data you can either specify INITIAL_SIZE you need while creating tablespace or you can ALTER TABLESPACE ADD DATAFILE. By specifying STORAGE DISK in CREATE TABLE statement you stated that you want on disk ...


3

In the latest Percona XtraDB cluster version it is possible to make WAN segments so that there is more efficient communication between nodes. If you didn't do that, all nodes would try to replicate to all nodes, which is highly inefficient for Galera. With Galera 3/PXC 5.6, you can establish those so that only one node at a time will replicate to the other ...


3

You appear to be missing the distinction between "Percona XtraDB" and "Percona XtraDB Cluster," also known as PXC. XtraDB is Percona's compatible drop-in replacement rewrite of the InnoDB storage engine, which is included in Percona Server and MariaDB. Percona XtraDB Cluster and MariaDB Galera Cluster both use XtraDB as their storage engine, but the ...


2

So the solution was the conflicting myslqd. Apparently mysql has a mysqld and mysql cluster has a mysqld and they were conflicting or I was running the wrong one. In the end I uninstalled mysql and reinstalled mysql cluster and it worked perfectly. Big thanks to RolandoMySQLDBA for helping me troubleshoot this issue.


2

You may want to consider if you really need the MySQL Cluster, it may be overkill for your purposes and may not justify the complexity. A pair of MySQL Master-Master or Master-Slave instances with replication are good enough for many shops and will deliver better performance in this scenario. If you have to stay with your current architecture, you can add ...


2

Actually there is an option to get high performance networking between cluster instances on the cloud. Some providers let you order special "cluster instances" which are connected using fast network technology (Infiniband or something similar). This makes the cloud option equivalent in terms of performance to a cluster in your data center - of course you ...


2

The biggest difference will come from networking - Mikael's tests were run over Infiniband whereas most hosting or cloud providers will not give you that type of dedicated bandwidth. As a distributed database, MySQL Cluster needs high network bandwidth to support message passing between the nodes, so the higher the network latency, the lower the read or ...


2

You can view what is going on with "ndb_mgm -e 'N report eventlog'" where N is the data node's nodeid. This won't necessarily give you an estimate of when it will be finished but it can be used to verify that stuff is indeed going on and that the ndbd isn't just spinning indefinitely. "ndb_mgm -e 'all status'" is also useful, as it will show you the current ...


2

Clustrix, ScaleDB, etc., have solutions for $$$. But wait... Do you really need Sharding? Or do you just need Replication, and have a load balancer in front of a few readonly Slaves? Slaves solve read-scaling. Sharding solves write-scaling. Replication is available out-of-the-box.


2

This technique is called Sharding. MySQL doesn't support this kind of partitioning therefore is necessary to implement sharding logic manually. I think Spock Proxy, for example, it's a good starting point to think in this direction Hope this helps


2

You can decrease the size of redo log files by decreasing parameter NoOfFragmentLogFiles which defines no. of fragment files or by reducing size of each fragment file by parameter FragmentLogFileSize. By default NoOfFragmentLogFiles=16 and FragmentLogFileSize=16M. Hence total redo log files size will be 256MB and there are 4 of these if you will look into ...


2

Ah ha. This seems to be the error you get when you try to replicate from a server that uses statement binlogs. I initially overlooked that this scenario was not supported. I was able to work around this by adding an intermediate mysqld that just converts the statement replication binlogs into mixed replication binlogs (using log-slave-updates and binlog-...


2

A few db's that come close: 1: Postgres-XC, meets most areas except that sharding takes some design effort 2: VoltDB, meets most areas except for data larger than memory The key question though is why do you need the autosharding? Anything automatic adds complexity and if you are big enough to require sharding, you can probably afford to have the ...


2

Disclosure: I work with the MySQL replication and MySQL Cluster teams The best resources to get started for Replication are the Intro and Tutorial whitepapers posted here: http://www.mysql.com/why-mysql/#en-0-38 For MySQL Cluster, the evaluation guide provides insight into Cluster use cases and best practices for building a PoC: http://www.mysql.com/why-...


2

You're correct that the on-line repartitioning of data temporarily uses extra memory on the data nodes. In most cases the application data is split over many tables and so relatively little memory is needed when repartitioning each table. If the data is in one big table and you don't have the available RAM then there are a number of options... Perform the ...


2

From the downloads page: It is available as both open source and commercial editions. The Community (OSS) Edition is available under the free software/opensource GNU General Public License (commonly known as the "GPL"). If GPL is ok for you, then you're fine. The Carrier Grade Edition is a commercial offering though. You'll need to contact Oracle to ...


2

You can try and set [NDBD DEFAULT] ... NoOfFragmentLogParts=12 ... http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbmtd-nooffragmentlogparts Then restart all nodes with --initial Best regards Johan Andersson Severalnines AB


2

DISCLAIMER : Not SCMCDBA Certified If you plan to hold data in memory, you need to increase RAM on all data nodes to 16GB increase the DataMemory to 6GB increase the number of SQL nodes to 3 (Makes SQLNodes to DataNodes 1:1) If you cannot make these changes, then you should offload data to local storage MySQL Cluster -- Storing table data on data ...


2

The primary purpose of MySQL Cluster is not performance -- it's high availability. By making sure every component has a possibility of failover (though not in your case), you ensure that you can remain operating without interruption even through emergencies and crashes. Unless your whole data center goes down, of course. Though MySQL Cluster also tends to ...


2

The management node is not essential for normal mysql operations, except on: Installation and other cluster-wide maintenance operations It is by default the arbitrator node, which means that it holds the responsibility to decide if a particular partition continues running in the case of a split brain. Split brain is an important concept in clustering, ...


2

I do not see any problem (if you configure it properly: bin_log on, log_slave_updates, row replication, different server ids for all servers, same exact versions on all servers), but only if you use one of the clusters as read-only at any time.


2

By reading some forums, the variables that avoids this issue are: MaxBufferedEpochs TimeBetweenEpochsTimeout This must be configured in MGMT Node /var/lib/mysql-cluster/config.ini As we can see in MySQL Documentation, the default for MaxBufferedEpochs is 100, the default for TimeBetweenEpochsTimeout is 4000, change this for the needed value.


2

I think you are mixing concepts here: Mysql Cluster (assuming you are referring to MySQL NDB Cluster) requires the NDB engine for tables that are part of the cluster. In other words, NDB is the cluster, and MySQL Server, on the SQL layer, requires to use the NDB Cluster storage engine in order to access the data on the cluster. TokuDB is an on-disk ...


2

For splitting a single physical drive into two partitions, I see only the big downside (as you pointed out): You could run out of space on one partition, while having space left on the other. (Many times I have seen this.) For multiple drives, I recommend striping as being better than manually segregating this file/log/table/etc from that file/etc. In ...



Only top voted, non community-wiki answers of a minimum length are eligible