Last night I was asked about index cardinality. One of the
members of the North Texas MySQL Users Group was using phpMyadmin and noticed an element marked
'cardinality' and asked me what it meant. And I will admit I was
stumped.
The manual says:
ANALYZE TABLE determines index cardinality (as displayed in
the Cardinality column of SHOW INDEX output) by doing ten random
dives to each of the index trees and updating index cardinality
estimates accordingly. Because these are only estimates, repeated
runs of ANALYZE TABLE may produce different numbers. This makes
ANALYZE TABLE fast on InnoDB tables but not 100% accurate because
it does not take all rows into account.
MySQL uses …
MySQL Cluster 6.3.28 and 7.0.9 introduce the MySQL server option --ndb-wait-setup. This makes sure that clients can not connect the SQL Node when no Data Nodes are available within, by default, 15 seconds. When the timeout is reached, and no Data Nodes are available, the NDB storage engine will be marked as unavailable.
The following will appear in the MySQL server error log when --ndb-wait-setup=30 has been set:
[Read more]
[Note] NDB: NodeID is 10, management server …
MySQL Cluster Performance Tuning Best Practices
Are you experiencing current performance bottlenecks in your high availability applications ? Are you designing a new mission-critical application and want to know how best to structure your schema and index strategy for optimal performance? Interested in how to transform your SQL into faster, more efficient queries?
Then this free web presentation is for you! You will get expert insight and learn best practices to help you identify those areas of database and application design that will give you the greatest benefits for performance when using MySQL Cluster.
We will discuss guidelines and best practices covering the following areas:
- General Design Concepts and Guidelines
- Schema Optimization
- BLOB/Text vs VARBINARY/VARCHAR
- Partition by Key
- Index Selection and Tuning …
Only a few weeks after Walter’s session on Multi-Master Replication with MMM and thanks to the great gang at MySQL Docs (my colleagues from long ago!) I’ll be doing a MySQL University session in a few days, about the GRAPH computation engine. From talks/demos I’ve done about it so far, I’ve learnt that people love it but there are lots of interesting questions. After all, it’s a pretty new and in a way exotic thing.
MySQL University uses DimDim, an online presentation service. You’ll see slides, and hear my voice. You can also type questions in a live chat room. We actually even got desktop sharing working so a live demo is possible, we’ll see how that goes on the day (I’ll make sure to have static slides for the same also
For session details and the exact link to DimDim, see the …
[Read more]
Having produced a nice little series of 124 patches (yes,
really), I recently had to find out what patch introduced a
problem for distcheck to pass. Since
distcheck takes quite some time to execute, I want
to make as few runs as possible.
In Git, there is the bisect command that
can be used to perform bisection testing of a series of patches,
but quilt does not have anything like that, so to simplify my
job, I needed to implement that for quilt.
I started by defining a shell function that did the actual test, and returned the result.
do_test () {
echo -n "running distcheck..."
make -j6 distcheck >/dev/null 2>&1
}
After that, I added code to add values for some variables used
and to process options to the script. The script supports two
options: --lower and …
This Thursday (November 5th, 10:00 UTC - note the different time for this session!), Arjen Lentz of Open Query will present the brand new GRAPH computation engine for MySQL.
From the abstract: Most of us have had to deal with hierarchies
(trees) and graphs (such as friend-of-a-friend style problems),
and have thus learn that this is -at best- a bit of a monster to
do in an SQL/RDBMS. Until now. The GRAPH engine (GPLv2 licensed)
is a MySQL storage engine allowing hierarchies and more complex
graph structures to be handled in a relational fashion. In a
nutshell, tree structures and friend-of-a-friend style searches
can now be done using standard SQL syntax, and results joined
onto other tables. http://openquery.com/graph
For MySQL University sessions, point your …
[Read more]Here’s the scenario. You’ve got a table in MySQL for reporting that has a few million rows, and is denormalized for reporting. You’ve got a Pentaho Report that is querying this MySQL table. You have two problems with the current report.
- Your users are complaining that the query is slow, and they have to wait around for longer than they’d like to see their report. (approx 40s)
- Your DBAs are cranky because they see the size of this table is getting bigger. (approx 1.8GB)
MySQL is fundamentally designed to be an OLTP database and while it does a fantastic job at that, its data warehouse features were built as “bolt on” additions. Can it be used for BI? Absolutely, I’ve used it a many customer sites. Does DynamoDB provide a better set of features/capabilities for doing BI? We think so! Are they both 100% open source? You bet;why not choose the right tool for the …
[Read more]This Thursday (November 5th, 10:00 UTC - note the different time for this session!), Arjen Lentz of Open Query will present the brand new GRAPH computation engine for MySQL.
From the abstract: Most of us have had to deal with hierarchies
(trees) and graphs (such as friend-of-a-friend style problems),
and have thus learn that this is -at best- a bit of a monster to
do in an SQL/RDBMS. Until now. The GRAPH engine (GPLv2 licensed)
is a MySQL storage engine allowing hierarchies and more complex
graph structures to be handled in a relational fashion. In a
nutshell, tree structures and friend-of-a-friend style searches
can now be done using standard SQL syntax, and results joined
onto other tables. http://openquery.com/graph
For MySQL University sessions, point your …
[Read more]This Thursday (November 5th, 10:00 UTC - note the different time for this session!), Arjen Lentz of Open Query will present the brand new GRAPH computation engine for MySQL.
From the abstract: Most of us have had to deal with hierarchies
(trees) and graphs (such as friend-of-a-friend style problems),
and have thus learn that this is -at best- a bit of a monster to
do in an SQL/RDBMS. Until now. The GRAPH engine (GPLv2 licensed)
is a MySQL storage engine allowing hierarchies and more complex
graph structures to be handled in a relational fashion. In a
nutshell, tree structures and friend-of-a-friend style searches
can now be done using standard SQL syntax, and results joined
onto other tables. http://openquery.com/graph
For MySQL University sessions, point your …
[Read more]
On Tuesday, November 3rd there will be a webinar on MySQL Cluster
Performance Tuning.
Presenting will be Johan A. our resident MySQL Cluster expert, so
this will be an excellent time to get some practical tips on
tuning MySQL Cluster. I'll be also assisting the panel
answering any questions you might have.
Register here.
Are you experiencing current performance bottlenecks in your high
availability applications ? Are you designing a new
mission-critical application and want to know how best to
structure your schema and index strategy for optimal performance?
Interested in how to transform your SQL into faster, more
efficient queries?
Then this free web presentation is for you! You will get expert
insight and learn best practices to help you identify those areas
of database and application design that will …