Last month at OSCON I had the pleasure of discussing High Availability and Open HA Cluster with "Jack Adams." Here's the video for your viewing pleasure:
Nick Solter
Solaris Cluster / Open HA Cluster developer and author of OpenSolaris Bible
| Previous 30 Newer Entries | Showing entries 61 to 90 of 90 |
Last month at OSCON I had the pleasure of discussing High Availability and Open HA Cluster with "Jack Adams." Here's the video for your viewing pleasure:
Nick Solter
Solaris Cluster / Open HA Cluster developer and author of OpenSolaris Bible
Last month at OSCON I had the pleasure of discussing High Availability and Open HA Cluster with "Jack Adams." Here's the video for your viewing pleasure:
Nick Solter
Solaris Cluster / Open HA Cluster developer and author of OpenSolaris Bible
Last month at OSCON I had the pleasure of discussing High Availability and Open HA Cluster with "Jack Adams." Here's the video for your viewing pleasure:
Nick Solter
Solaris Cluster / Open HA Cluster developer and author of OpenSolaris Bible
One of the better kept secrets about MySQL Cluster appears to be the flexibility available when setting up replication. Rather than being constrained to implementing a single replication scheme, you can mix and match approaches.
Just about every Cluster deployment will use synchronous replication between the data nodes within a node group to implement High Availability (HA) by making sure that at the point a transaction is committed, the new data is stored in at least 2 physical hosts. Given that MySQL Cluster is usually used to store the data in main memory rather than on disk, this is pretty much mandatory (note that the data changes are still written to disk but that’s done asynchronously to avoid slowing down the database).
[Read more...]
Hi,
If by any chance you are at the MySQL user conference in Santa Clara conference center, there are some great possibilities to see MySQL and Solaris Cluster in action. We have a demo at the exhibition hall, where you can see MySQL with zone cluster and MySQL with SC Geographic Edition.
I will host a birds of a feather at Wednesday 4/22/09 evening in meeting room 205 at 7 pm. The Title is "Configuring MySQL in Open HA Cluster, an Easy Exercise" check out the details here. I will give a presentation at Thursday 4/23/09 morning 10:50 in Ballroom G, the title is "Solutions for High Availability and
[Read more...]Hi,
If by any chance you are at the MySQL user conference in Santa Clara conference center, there are some great possibilities to see MySQL and Solaris Cluster in action. We have a demo at the exhibition hall, where you can see MySQL with zone cluster and MySQL with SC Geographic Edition.
I will host a birds of a feather at Wednesday 4/22/09 evening in meeting room 205 at 7 pm. The Title is "Configuring MySQL in Open HA Cluster, an Easy Exercise" check out the details here. I will give a presentation at Thursday 4/23/09 morning 10:50 in Ballroom G, the title is "Solutions for High
[Read more...]Hi,
If by any chance you are at the MySQL user conference in Santa Clara conference center, there are some great possibilities to see MySQL and Solaris Cluster in action. We have a demo at the exhibition hall, where you can see MySQL with zone cluster and MySQL with SC Geographic Edition.
I will host a birds of a feather at Wednesday 4/22/09 evening in meeting room 205 at 7 pm. The Title is "Configuring MySQL in Open HA Cluster, an Easy Exercise" check out the details here. I will give a presentation at Thursday 4/23/09 morning 10:50 in Ballroom G, the title is "Solutions for High
[Read more...]At MySQL/Sun we do a lot of high availability setup using Heartbeat but recently I was involved, along with Harold Mayfield (a VCS expert), in project using Symantec VCS on Solaris. Of course, MySQL works perfectly well with VCS, here are a few highlights of the installation.
Apart from the share store resources and the IP resources, MySQL is configured as the following:
Application insiderDB-app ( StartProgram = "/san/mysql/bin/mysqld --defaults-file=/etc/my.cnf &" StopProgram = "/san/mysql/bin/mysqladmin -u root shutdown" MonitorProgram = "/san/vcs_scripts/mysql_monitor" )
and the mysql_monitor script is the following:
#!/bin/ksh STATUS=$(/usr/bin/echo status | /san/mysql/bin/mysql -u root 2>/dev/null |/usr/bin/grep -c Uptime) if [ "$STATUS" -eq "1" ] then exit 110 else exit 100 fi
In the previous 2 posts of this series, we basically talked about how to execute social networking type queries using SQL IN clause and how handle multiple columns IN clause. In this last post on the topic, I will introduce the notion of NDB API filters, although I don’t consider myself as an NDB API expert. Filters are to NDB API the equivalent WHERE clause in SQL. The point is that the filters can be nested and they are sent to the storage nodes only when the transaction is executed.
As an example, let’s consider the following table:
Create Table: CREATE TABLE `MultiColPK` ( `region_id` int(11) NOT NULL DEFAULT '0', `application_id` int(11) NOT NULL DEFAULT '0', `first_name` varchar(30) NOT NULL DEFAULT '', `payload` varchar(30) DEFAULT NULL, PRIMARY KEY[Read more...]
If you have been following the development of the NDB Cluster storage engine lately, you are probably as excited as I am. NDB Cluster is becoming a kind of large database killer app. Look at all the nice features that have been added:
and I probably miss some. And now, with version 7 (renamed from 6.4) it is possible to extend a NDB cluster
[Read more...]Recently, I talked about how to optimize social networking type queries for the NDB storage engine using IN clause statements. In clauses are great but they have one fundamental limitation, they work only on one column (Actually, this is not true, I discovered, thanks to Roland’s comment, that MySQL supports multiple columns IN clause). What if the primary key is a composite of let’s say “region_id”, “application_id” and “user_id”? Recently, while on site with a client, Brian Morin showed me a very clever way of dealing these type of primary keys in an IN clause. The main problem is that you cannot return a binary or varbinary from a function. So the idea was to used the return values of a stored proc. First we need to compose the varbinary from the actual values with this stored proc:
.
delimiter[Read more...]
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:
Unfortunately, the Memory engine also has some limitations that can prevent its use on a large scale:
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...]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...]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/interruptsLet’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...]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
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
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

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:
I asked Detlef to elaborate some more on the
[Read more...]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...]
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...]
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...]
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.
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...]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...]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...]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...]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...]| Previous 30 Newer Entries | Showing entries 61 to 90 of 90 |