Tag Info

Hot answers tagged

6

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-value ...


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

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 ...


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 ...


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

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 ...


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 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

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 ...


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

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

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 ...


1

InnoDB has a default page size of 16K.


1

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 ...


1

From mysql.com: With strict mode disabled, invalid dates such as '2004-04-31' are converted to '0000-00-00' and a warning is generated. With strict mode enabled, invalid dates generate an error. To permit such dates, enable ALLOW_INVALID_DATES. To disable it you have 2 options. Via SQL: execute SET @@global.sql_mode = ''; query. Via my.cnf: ...


1

After reading deeper the manual, storing the model in an InnoDB engine and running ndb_size.pl I have been able to find that these parameters (which had their default values) were in fact too low: MaxNoOfOrderedIndexes MaxNoOfUniqueHashIndexes MaxNoOfAttributes


1

CREATE LOGFILE GROUP and CREATE TABLESPACE accept only bytes as unit. http://bugs.mysql.com/bug.php?id=62858 With MB converted to bytes logfile group was created successfully for me.


1

Pushdown basically means that some part of the job is "pushed down" to data nodes. So performance gain is because: data nodes can filter and process data in much more efficient way than SQL nodes. They "know" more about the physical details of the data we save on SQL node - data node traffic. And latency between those two nodes is relatively high because ...


1

MySQL Cluster FAQ states that it is possible to have a database bigger than available memory, but the documentation referenced from the FAQ entry states that only non-indexed columns of NDB tables can be stored on disk.


1

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: ...


1

A great place to start is an Internet search, using your browser. For instance, https://duckduckgo.com/?q=mysql+clustering turns up a huge amount of relative and timely pages for your perusal. For starters, I would read https://www.mysql.com/cluster which is literally the book on clustering. Here's another great one: ...


1

You can have a bigger dataset than you have physical RAM by identifying table data to be stored on disk. Non-indexed attributes can selectively be made to reside on disk but indexed attributes are always in memory. The larger the database and the more indexes you have on the tables, the more likely it is that you will need more memory or hosts. Similar ...


1

Would recommend completing the inquiry form here and one of the advisors can come back to you with the best advise: http://www.mysql.com/about/contact/


1

The Getting Started guides talk you through deployment on a single host - select the guide for your OS and go from there: http://mysql.com/products/cluster/start.html#getting_started The Data nodes store all the actual tables of your database. They automatically shard your tables across the nodes, and provide replication, failover, recovery, etc for high ...


1

You should read these posts and analyze what options to choose: High Availability and Scalability A Summary of Scaling Options for MySQL Where Would I Use MySQL Cluster? Also there are similar questions asked here: http://serverfault.com/questions/305024/is-it-possible-to-managing-20-tb-data-using-mysql ...


1

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.


1

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


1

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.



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