Some things are known to be just bad. GOTOs used to be one such
thing (something I still use them, but only where appropriate,
which isn't that many places). Maybe it is just so, that some
things are useful, but not for everything, so maybe the issue is
that they are used inappropriately. Or?
The OR condition is one such things in MySQL circles! Oh, you
have an OR condition! That is going to be so slow! sort of. And
the reason an OR is "slow" is that as MySQL will use only one
index for each statement, only one "side" or the or condition can
use an index. Or sometimes even worse, MySQL will consider using
an index that is common to the two "sides" or is outside the OR
conditition, despite that fact that there are perfectly fine,
highly selective indexes on both sides of the OR condition.
If you ask me, this is not a fault with the OR condition but
rather a problem with the MySQL optimizer. Why in heavens name
can't a …
This post explains how to debug MySQL Cluster 7.1, installed using the RPM packages, using gdb on a Linux box (Red Hat, Oracle Enterprise Linux, CentOS, ..).
When a data node crashes lots of information goes into the error log, trace files and out log. However, it makes sometimes sense when you can repeat the crash, to run the data node in debug mode, or using gdb.
First, using RPMs and a Linux distribution, make sure you have the ‘debuginfo’ package installed. For example, for Red Hat or Oracle Enterprise Linux on a 64-bit machine, this package would be called: MySQL-Cluster-gpl-debuginfo-7.1.15-1.rhel5.x86_64.rpm .
Create a file with the following commands, we will name it ‘ndbd.gdb’:
set pagination off set logging overwrite on set logging file …[Read more]
The binary version for MySQL Cluster 7.1.15 has now been made
available at http://www.mysql.com/downloads/cluster/
A description of all of the changes (fixes) that have gone into MySQL Cluster 7.1.15 (compared to 7.1.13) can be found in the official MySQL Cluster documentation for Cluster 7.1.14 & 7.1.15.
Introduction:
MySQL Cluster is a write-scalable, real-time, ACID-compliant
transactional database, combining 99.999% availability with the
low TCO of open source. Designed around a distributed,
multi-master architecture with no single point of failure, MySQL
Cluster scales horizontally on commodity hardware to serve read
and write intensive workloads, accessed via SQL and NoSQL
interfaces.
MySQL Cluster's real-time design delivers predictable,
millisecond response times with the ability to
service millions of operations per second. Support for
in-memory and disk-based data, automatic data partitioning
(sharding) with load balancing and the ability to add nodes to a
running cluster with zero downtime allows linear database
scalability to handle the most unpredictable web-based
workloads.
…
There are too functional new features on MySQL 5.6 regarding to the MySQL Partition Engine we can apply on database tables. With that new version, besides of the performance improvements provided by the partitioned tables, the database administrators could benefit their environments in order to better retrieve information selecting data just from the specific table partition. We will [...]
Unless you are Ashton Kutcher (@aplusk), or one of his Hollywood buddies, you don’t need to read any further. Allow me to explain…
Over the weekend, we launched our new website. This type of announcement used to be interesting in the high-tech world. I heard Kara Swisher of the WSJ’s All things D speak at a MassTLC event in May. She admitted back in the 1990s, when the web was just getting into high gear, that a new website from an interesting company might actually get some coverage. Not anymore.
I’ve also been told at all the SEO classes I’ve …
[Read more]Friday night, I tweeted a link to a Guardian article stating that app developers were withdrawing apps from Apple's app store and Google's Android market (and presumably also Amazon's app store), because they feared becoming victims of a patent trolling lawsuit. That tweet elicited some interesting responses that I'd like to discuss.
The insurance solution?
One option might be to rely on the insurance industry to solve the problem. "Isn't this what insurance is supposed to be for? Couldn't all these developers set up a fund for their common defense?" wrote @qckbrnfx. An interesting idea, and one I've considered. But that's a cure that seems worse than the disease. First, it's not likely to be a cure. How many insurance companies actually defend their …
[Read more]I'm about to take a week off from my new gig as COO at Zendesk and it got me reflecting on the company and my decision to join. I stayed with MySQL through the Sun acquisition and left when Oracle acquired Sun. Although I have a lot of respect for Oracle, it seemed to me the only interesting jobs would be those that report directly to Larry Ellison. So I took some time off to travel, worked as an EIR at Scale Ventures for a few months and began thinking about what I wanted to do next.
I turned down offers from companies and investors to come in and "repeat the MySQL playbook" in Big Data or NoSQL or apps or whatever. I think Open Source can be a fantastic …
[Read more]
Do you need to clean up your MySQL data? Maybe run regular DELETE
statements that deleted rows that are no longer used or
referenced? Or update rows with valid data? And possibly you want
to do this is batches, so as not to interupt day-to-day
operatioons? Then maybe MyCleaner is for you! This is a very
configurable tool that runs a main thread that gets identifiers
of data to clean, and then runs several cleaner threads to clean
this up.
What statements to run, and how many, if you need to run some
statement before the other statements, all is configurable. I
have now released version 1.3 which is available for download on Sourceforge. As usual, full
documentation is also available in PDF format.
And before you ask, no, this is not a windows tool. This is a
straigtformward *x tool, licnced under the GPL and is built …
Memcached access to MySQL Cluster
As described in an earlier post Memcached is an extremely popular caching layer used in most big web properties and we’re adding the ability to access MySQL Cluster directly using the familiar Memcached key-value/NoSQL API without needing to go through the MySQL Server. There is a huge amount of flexibility built into this solution – including:
- Decide what data should be held only in the Memcached server; what should be written straight through to MySQL Cluster and then discarded and what data should be cached in Memcached but persisted in MySQL Cluster
- Where data is held both in Cluster and the Memcached server, they …