MySQL Conference & Expo, SANTA CLARA, CA – April 12, 2011 – Continuent, Inc., a leading provider of replication and clustering solutions for open source databases, today announced the availability of the Tungsten Replicator 2.0. Tungsten Replicator is a high performance, open source, data replication engine for MySQL and PostgreSQL. Tungsten Replicator 2.0 offers a set of features that surpass
First full day at the O'Reilly MySQL Conference after a great
MySQL Community Dinner (Thanks to Sarah Novotny for her
organization skills for getting 50 plus folks into Pedro's)
I will be talking on Open Source BI Reporting Tools in Ballroom A
at 5:15. Very useful session for DBAs who need anything from a
quick ad hoc report to a large multi-segment printer killer.
Last week I presented on the super cool PECL/mysqlnd_ms PHP extension at the Minnesota PHP User Group. In short, mysqlmd_ms will provide some transparency for PHP web applications to interact with master and slave MySQL database setups.
Here’s my slide deck:
Intro to PECL/mysqlnd_ms (4/7/2011)
There’s a couple things mysqlnd_ms needs to support before I can use it such as support for single master (i.e. local dev) environments and detection of “dead” MySQL servers so traffic isn’t passed to them over and over again.
The announcements at the Oracle Collaborate and O'Reilly MySQL conferences mark an exciting milestone in the development of the MySQL Cluster database.
MySQL Cluster is already proven as a write-scalable, real-time transactional database, combining 99.999% availability with the low TCO of open source. With a distributed, multi-master architecture and no single point of failure, MySQL Cluster scales horizontally on commodity hardware to serve read and write intensive workloads.
With these enhancements announced in the Development Milestone Release, MySQL Cluster can be extended to serve a broader range of workloads.
Summary of Key Enhancements
The MySQL Cluster 7.2 Development Milestone Release and latest labs.mysql.com builds deliver enhancements based on input from the community and customers, including support for the memcached NoSQL API, faster JOIN performance and simplified administration:
- …
This is the 4th part of the MySQL 5.6 Performance Notes started from here.
All about Purge now.. ;-))
Fixing the Purge issue in MySQL 5.6.2
Sunny is a "purge guru" within InnoDB team, and he pointed me to
the code which is currently commented as "FIXME" in 5.6.2: in the
current code the purge is involved periodically after short
sleeps, and the sleep delay was chosen too big (as it's yet
experimental and more testing is expected before to get its final
implementation available). Currently Sunny has at least two
solutions for the next 5.6 version, however I wanted to see 5.6.2
fixed near "as it" with minimal changes (if possible) and simply
replaced the 60ms sleep delay by zero (never sleep until there is
something to purge, as it was in the original InnoDB code). This
small change make …
The ever increasing performance demands of web-based services has generated significant interest in providing NoSQL access methods to MySQL - enabling users to maintain all of the advantages of their existing relational database infrastructure, while providing blazing fast performance for simple queries, using an API to complement regular SQL access to their data.
The HandlerSocket development at DeNA is a great example of community innovation, with a solution implemented as a custom plug-in and protocol for the MySQL server daemon.
We are hearing the community say they want NotOnly SQL - they want their trusted SQL RDBMS - plus, they want NoSQL techniques to access that data. So, we are previewing our NotOnlySQL solution for MySQL - delivered via memcached - with implementations to access both the InnoDB and MySQL Cluster (NDB) storage …
[Read more]
As shown in a number of blogs, the MySQL Cluster SW already uses
the type of features found in many NoSQL products. It has an
extremely efficient API through which it is possible to shoot
millions of reads and writes towards a Cluster per second. It
contains partitions of its data similar to shards in NoSQL and
supports both high availability of those partitions and also
repartitioning of the data when new nodes are added to the
Cluster. Advanced replication solutions both providing
replication inside a Cluster and between Clusters makes it
possible to use MySQL Cluster in an a very large number of
replication configurations, even scaling across multiple global
data centers.
Finally MySQL Cluster makes it possible for you to choose to stay
with your data in relational tables while still using NoSQL-like
APIs, supporting on-line changes of partitioning and also adding
new fields to tables while still reading and writing data in the …
In a previous blog post we showed how MySQL Cluster achieved 6.82M reads per second. This is a high number. However what is also very interesting to see is how efficient MySQL Cluster is at executing updating transactions as well. We were able to push through the 1M transactions per second wall and even past the 2M transactions per second and all the way up to 2.46M transactions per second.
Today we launched version 1.0 of olap4j, the open
standard API for accessing analytic databases.
It's worth mentioning that version 1.0 is a big deal for an open
source project. The tag implies maturity and stability, both of
which are true for olap4j. The project is over 4 years old, has
two robust driver implementations, and many applications in
production.
The olap4j driver for Mondrian has been the
official way to access Mondrian since version 3.0, and the
olap4j driver for XML/A allows access to many
XML/A-compliant analytic engines, including …
"filesort" is the MySQL catchall algorithm for producing ordered
results. (For an explanation on how it works, see Sergey
Petrunias blog http://s.petrunia.net/blog/?p=24).
For small data sets, "filesort" simply uses a quicksort in
memory. However, for large data sets we create temporary (sorted)
files, which are later merged.
In the recent MySQL release candidate http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html
this has been optimized for the following kinds of queries (and
subqueries)
SELECT ... FROM single_table ... ORDER BY non_index_column [DESC]
LIMIT N [OFFSET M];
If we have space in memory for (N + M) rows, we create a
(bounded) Priority Queue to hold the data. This means we can
produce the …