Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 91 to 114

Displaying posts with tag: ha (reset)

High performance replacement of the MySQL Memory storage engine with NDB
+0 Vote Up -0Vote Down

People often wants to use the MySQL memory engine to store web sessions or other similar volatile data.
There are good reasons for that, here are the main ones:

  • Data is volatile, it is not the end of the world if it is lost
  • Elements are accessed by primary key so hash index are good
  • Sessions tables are accessed heavily (reads/writes), using Memory tables save disk IO

Unfortunately, the Memory engine also has some limitations that can prevent its use on a large scale:

  • Bound by the memory of one server
  • Variable length data types like varchar are expanded
  • Bound to the CPU processing of one server
  • The Memory engine only supports table level locking, limiting concurrency

Those limitations can be hit fairly rapidly, especially if the session payload data is large. What is less known is that NDB Cluster can creates


  [Read more...]
Social Networking type queries with NDB (part 1)
+0 Vote Up -0Vote Down

NDB Cluster is the only integrated sharding framework that I know of (educate me if I am wrong) but it is known to have issues with large joins. These days, large databases that would benefit from a sharding framework are often for social networking type applications that requires large joins.

Actually it is not NDB that is the root cause of the joins problem, it is the way MySQL executes joins. Instead of asking the cluster for a large number of rows for the secondary table it joins to, the current version of MySQL does ask one row at a time. NDB cluster answers those queries very rapidly but, the time to hop over the network kills performance. The MySQL-6.0 branch will implement the Batch Key Access (BKA) algorithm which will solve that issue and might create database application killer with NDB cluster.

Although right now BKA is not available, there are ways to execute those queries in an

  [Read more...]
NDB realtime options, choosing CPU and balancing interrupts
+0 Vote Up -0Vote Down

With the NDB realtime options, you can choose on which CPU the execution thread and the maintenance will be running. The point is, which CPUs to use.

The output of “cat /proc/interrupts” will help you determine which CPU to use. Here is an example of a dual quad-cores box:

$ cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7


  [Read more...]
Waffle Grid: Testing Waffle With Dolphin Interconnects
+0 Vote Up -0Vote Down

Let’s grab your attention with a shameless marketing ploy:  How would you like up to a 14X performance boost in your Mysql database performance? Now your hooked who wouldn’t want a 14x boost?  Well we got that using Dolphin interconnects and Waffle Grid! Read on!

As you know over the last few weeks the good folks over at Dolphin Interconnect Solutions have lent me use of a couple of servers with their interconnects installed ( They also sent me a couple of cards to test with, but I ended up not being able to secure the hardware to put these through their paces at my home office ) .  I ran into several challenges in the testing, and we also found out a lot about Waffle Grid and where we have some open bugs ( its good to test Waffle at the fringe of performance and see what breaks).

The oddest thing I ran into here was the way using the Dolphin

  [Read more...]
Working together with the MySQL team
Employee +0 Vote Up -0Vote Down

One year after Sun acquired MySQL we see the positive results of this acquisition. Things are going very well in terms of collaboration, the teams are getting closer together and share the experience and the knowledge. If you want to know how the teamwork is seen from the Sun Cluster engineers, Thorsten Frueauf and myself, you should read this.

It was interesting for us to see that this interview was well observed by MySQL customers and community members. Although the interviews were not technical, they lead to technical questions. You can get more information here.

So if you are keen to see what the MySQL community wants to know about Sun Cluster, read the blog entry about MySQL and Sun Cluster.

Detlef Ulherr

Solaris Cluster Engineering 


Working together with the MySQL team
Employee +0 Vote Up -0Vote Down

One year after Sun acquired MySQL we see the positive results of this acquisition. Things are going very well in terms of collaboration, the teams are getting closer together and share the experience and the knowledge. If you want to know how the teamwork is seen from the Sun Cluster engineers, Thorsten Frueauf and myself, you should read this.

It was interesting for us to see that this interview was well observed by MySQL customers and community members. Although the interviews were not technical, they lead to technical questions. You can get more information here.

So if you are keen to see what the MySQL community wants to know about Sun Cluster, read the blog entry about MySQL and Sun Cluster.

Detlef Ulherr

Solaris Cluster Engineering 


Working together with the MySQL team
Employee +0 Vote Up -0Vote Down

One year after Sun acquired MySQL we see the positive results of this acquisition. Things are going very well in terms of collaboration, the teams are getting closer together and share the experience and the knowledge. If you want to know how the teamwork is seen from the Sun Cluster engineers, Thorsten Frueauf and myself, you should read this.

It was interesting for us to see that this interview was well observed by MySQL customers and community members. Although the interviews were not technical, they lead to technical questions. You can get more information here.

So if you are keen to see what the MySQL community wants to know about Sun Cluster, read the blog entry about MySQL and Sun Cluster.

Detlef Ulherr

Solaris Cluster Engineering 


More information about running MySQL on Open HA Cluster / Solaris Cluster
Employee_Team +0 Vote Up -0Vote Down


A while ago we published an interview with Detlef Ulherr and Thorsten Früauf about Solaris Cluster / OpenHA Cluster on the MySQL Developer Zone.

We received a number of followup questions from our readers, requesting more technical background information. For example, Mark Callaghan was wondering about the following:

  • How is failure detection done?
  • How is promotion of a slave to the master done after failure detection?
  • How are other slaves failed to the new master?

I asked Detlef to elaborate some more on the



  [Read more...]
How to use JDBC (Connector/J) with MySQL Cluster
Employee_Team +0 Vote Up -0Vote Down

Last week I helped a customer setup a JBoss application against MySQL Cluster. It turns out it is not immediately obvious how you should setup our JDBC connector to do loadbalancing and failover. For instance, setting the connector up for an Master-Slave setup (with MySQL Enterprise) is well documented, but not doing the same with MySQL Cluster.

It's not really properly documented in the manual part, but I found in the changelogs, and confirmed on IRC that to do load-balancing across the SQL nodes in MySQL Cluster, you would use a different JDBC connection string with the "loadbalance" keyword added...



  [Read more...]
How to use JDBC (Connector/J) with MySQL Cluster
Employee_Team +0 Vote Up -0Vote Down

Last week I helped a customer setup a JBoss application against MySQL Cluster. It turns out it is not immediately obvious how you should setup our JDBC connector to do loadbalancing and failover. For instance, setting the connector up for an Master-Slave setup (with MySQL Enterprise) is well documented, but not doing the same with MySQL Cluster.

It's not really properly documented in the manual part, but I found in the changelogs, and confirmed on IRC that to do load-balancing across the SQL nodes in MySQL Cluster, you would use a different JDBC connection string with the "loadbalance" keyword added...



  [Read more...]
How to use JDBC (Connector/J) with MySQL Cluster
Employee_Team +0 Vote Up -0Vote Down

Last week I helped a customer setup a JBoss application against MySQL Cluster. It turns out it is not immediately obvious how you should setup our JDBC connector to do loadbalancing and failover. For instance, setting the connector up for an Master-Slave setup (with MySQL Enterprise) is well documented, but not doing the same with MySQL Cluster.

It's not really properly documented in the manual part, but I found in the changelogs, and confirmed on IRC that to do load-balancing across the SQL nodes in MySQL Cluster, you would use a different JDBC connection string with the "loadbalance" keyword added...



  [Read more...]
Raid is obsolete
+0 Vote Up -0Vote Down

In a lot of environments.

Peter gives a nice overview why you don't always need to invest in big fat redundant hardware.

We've tackled the topic last year already ..

Now I often get weird looks when I dare to mention that Raid is obsolete ..people fail to hear the "in a lot of environments"

Obviously the catch is in the second part, you won't be doing this for your small shop around the corner with just one machine. You'll only be doing this in an environment where you can work with a redundant array of inexpensive disks. Not with a server that has to sit in a remote and isolated location.

Next to that there are situations where you will be using raid, but not for redundancy, but for disk throughput.

Active-Active MySQL ( Microsoft Style )…
+0 Vote Up -0Vote Down

For those unfamiliar with SQL Server clustering let me give you a quick blurb.  Microsoft markets SQL Server as having active-active clustering.  When most people hear active/active or clustering in the database they generally immediately think of features like Oracle Rac.  SQL Servers implementation of Active-Acitve clustering ( as of 2005 anyways ) is really a HA setup with one instance active on the A side, and a seperate unrelated instance active on the B Side.  These servers hove different ports, install directories,  and share nothing at the DB level.  A san is used with its disk presented to each node in the cluster.  Microsoft Clustering Services (MCS) is used to manage the IP take over,  handle resource transitions, etc.   The setup is really active-passive, passive-active.  This ends up confusing and even mis-leading people who are both technical and in management positions.

Why Is this

  [Read more...]
Two Million Lines of Code
Employee +0 Vote Up -0Vote Down

One year ago, we announced that we would open source the entire Solaris Cluster product suite. Today, we are delivering on that promise six months ahead of schedule by releasing over two million lines of source code for the Solaris Cluster framework!


Read the official press release and listen to a podcast with Meenakshi Kaul-Basu, Director of Availability Products at Sun.


This third, and final, source code release follows the initial open sourcing of the Solaris Cluster agents in June, 2007 and Solaris Cluster Geographic Edition in December, 2007. As with the previous releases, the source code is



  [Read more...]
Talking with Meena: Open HA Cluster - Whole Enchilada now Open-sourced
+0 Vote Up -0Vote Down

As of today, the third, final and largest code release for Open High Availability Cluster has been made available.  This now means that all of the Open HA Cluster code is available as free software.   This will allow developers and admins to access and build complete HA solutions built on source code from the OpenSolaris project.

Right before the launch I grabbed some time with Meenakshi Kaul-Basu, the engineering director at Sun responsible for Availability products, and whose group the Open HA Cluster falls under.  Take a listen to Meenakshi's explanation of the event and her insight:

My interview with Meenakshi (9:29) 


  [Read more...]
Replication is dead, long live Replication!
+0 Vote Up -0Vote Down
Brian Aker has found general agreement with his post: "The Death of Read Replication".

Arjen Lentz says "I think Brian is right...", and Frank Mash confirmed: "what Brian says about replication, caching and memcached is very true".

Just like Video killed the Radio Star it looks like maybe Memcached killed the Replication Hierarchy!

But of course, Brian and others are talking about replication for scaling reads.

In my session on PBXT next week at the conference I will be talking about how we plan to use







  [Read more...]
Multipath to solve multiple SCSI devices on a SAN
+0 Vote Up -0Vote Down

When you connect a Linux server to a SAN, the network driver will present the available SAN partition as normal SCSI drives. This can be more complicated when more than one Fiber Channel paths are involved. Let’s consider a server having two FC adapters (or a dual port one) and a SAN having two FC channels. For this server, each SAN partitions will appear four times but some FC adapter drivers, like the QLogic ones, will filter them out.

If you are using another brand of Fiber Channel adapters, like Emulex, you will see all of them. I recently worked on a MySQL project using 9 SAN partitions so I ended up dealing with 36 SCSI devices (/dev/sdb to /dev/sdao). Dealing with so many devices is not a fun task, especially if the order of the disks is not preserved between after a reboot. My first attempt to deal with this problem was to use partition label and mount partition by label. Although this

  [Read more...]
DRBD storm
+0 Vote Up -0Vote Down

These days, DRBD is a popular way of achieving HA without having to pay for a SAN and it plays nicely with MySQL. DRBD uses a network connection to mirror two disk partitions on two servers and can use a lot of bandwidth so, usually, the servers are connected through a crossover cable. Recently, I did an engagement where we were setting DRBD for a 100 GB partition on two servers hosted in one of the largest hosting company in the US. For extra reliability, the DRBD private network was using a bond of two Ethernet adapters on each servers.

For a reason that I am not aware of, the hosting company chose to use a VLAN for the private DRBD network instead of a pair of crossover cables. When we started the first DRBD synchronization, loading the private DRBD network at 110 MB/s. At that point, something interesting happened… Here is the explanation of the network engineer of the hosting company.

  [Read more...]
Scaling Drupal
+0 Vote Up -0Vote Down

John Quinn writes about Scaling Drupal he is taking a one step at a time approach and is still writing his 4th and 5 stages.

His first step obviously is separating the drupal from a separate database server, and he chooses mysql for this purpose, moving your DB to a different machine is a good thing to do.

However then he gets this crazy idea of using NFS to share his his drupal shared files :(
(he even dares to mention that the setup ease is good) Folks, we abandonned NFS in the late nineties. NFS is still a recipe for disaster, it has performance issues , it as stability issues (stale locks), and no security admin in his right mind will tolerate portmap to be running in his DMZ.
(Also think about

  [Read more...]
My fun with MySQL on EC2
+0 Vote Up -0Vote Down

Morgan is looking in to EC2 on MySQL, so I thought I’d pipe up about stuff I’ve been playing with.

The ephemeral nature of the data is troubling, because at best you’re going to have some lag before you can back stuff up to S3 or some other place. (Unless that was happening continuously… but we’ll come back to that) On the other hand, if you’re doing app sharding or something similar, this essentially just makes you plan that your machines can all die at any time. If you used Google’s semi-sync replication patch, you could easily spin up little replication clusters as needed.

Hm. Clusters. Well, I’m also a fan of MySQL Cluster. What if you ran MySQL Cluster on a single ec2 node (both data and sql nodes)? What if, further, you wrote (and by you, I mean me… code


  [Read more...]
Running more than one ndbd on a machine
+0 Vote Up -0Vote Down

Personally, I’m not a fan of more than one ndbd per machine…

Diamond Notes » Fun with Running a Cluster on Two Servers

Others might argue with this, but I would never put the SQL nodes on the same servers as the ndbd nodes for production. Some say you can run multiple ndbd nodes on the same server and I am more comfortable with that since I can lock the ndbd daemon into memory and know its not going to change (my ndbd nodes on those two servers have been at exactly 71.3% since I started them up. If I had servers for the ndbd nodes that had 16+ gigs of RAM I might start allocating 4 gigs of RAM to a ndbd daemon with 3+ daemons per node. My understanding is that this helps keep the transactional logs for the nodes under control. When you do a ndbd node restart it



  [Read more...]
Join Syntax changes in 5.0 (not a bug)
+0 Vote Up -0Vote Down

Our friend Dathan recently suggested that The Quality of mySQL lately sucks.

I’ve just ran into yet another obvious bug that has made it’s way into production.

While I’m not going to argue that more unit tests would be a good thing, I’d like to point out that what he’s referring to is not so much a bug as it is a change that happened (and was documented) in 5.0.12:

Beginning with MySQL 5.0.12, natural joins and joins with USING, including outer join variants, are processed according to the SQL:2003 standard. The changes include elimination of redundant output columns for NATURAL joins and joins specified with a USING clause and


  [Read more...]
Multiple bond interfaces in CentOS/RHEL
+0 Vote Up -0Vote Down

Kris writes:

I had a machine with 4 nics that I wanted to bond 2 by to. I had no problem getting the bond0 device up witn any of the interfaces, however getting a bond1 up always resulted in the above error.

The friendly guys from #centos on freenode pointed me to the missing config.

options bonding mode=4 max_bonds=4

An important thing to keep in mind here is that in the RHEL/CentOS initscripts package, these options are global. There is no way to set a different set of options for each bond. So, if for instance, you had 4 NICs and wanted to have 2 of them bonded in mode 1 and 2 of them in mode 4, you’re SOL. (Unless, of course, you go for insmodding everything by hand. But that’s ugly)


  [Read more...]
DRBD and Replication in the real world
+0 Vote Up -0Vote Down

It's often quite tempting to make sweeping statements about the superiority of one approach to a problem over another. While various approaches often have advantages, in the real world often there are many competing criteria which make a black and white assessment of choices seem rather simplistic. Politicians and marketing folks oversimplify complex problems every day, and it often makes a real discussion of the issue at hand harder - although it does engender a vitriolic us vs. them approach of yelling. Luckily for us, this never happens in the technical world.

Eric Bergen posted an interesting entry on his blog this morning about DRBD. He makes some very good points, but I believe leaves out some context or assumptions for some of his conclusions, primarily by assuming that there is a

  [Read more...]
Previous 30 Newer Entries Showing entries 91 to 114

Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.