MySQL Cluster uses a distributed architecture where we have one
primary
replica and one or more backup replicas of all data in the
cluster.
In previous versions we have not supported reading from the
backup
replicas. The reason for this comes from the transaction
algorithm in
the NDB storage engine. When the transaction have committed we
have
unlocked the rows in the primary replica, but the locks in the
backup
replica is unlocked in the complete phase.
The impact of this is that we could potentially perform an
update
of a row and then immediately read it and not see our own write.
To
avoid this problem we have avoided to read the backup
replica.
If it is important to read the backup replica then we need to
ensure
that transactions are not reported back to the user until the
complete
phase.
When we decided to support read from …
When your car doesn’t start, you don’t just blindly change the battery, starter, fuel pump, spark plugs or all of the above. Instead, you go to your mechanic and ask him to check what is wrong (or you check it yourself if you are the mechanic) and then fix whatever is broken.
Yet very often I see DBAs doing exactly the opposite with their MySQL servers. Rather than assessing what is the server so busy with, they keep changing configuration options until the problem “goes away”. Alternatively, they add more RAM, more CPUs or faster disks, depending on which resources seems to be the most busy at a time. Or they switch to a new server altogether.
MySQL (with a help of some tools) has a really convenient way to analyse the workload and see clearly what exactly is MySQL so busy doing. And even how much improvement you can expect by, say, fixing a specific MySQL query.
…
[Read more]In this blog, we’ll discuss descending indexes in MySQL 8.0.
Summary
The future MySQL 8.0 will (probably) have a great new feature: support for index sort order on disk (i.e., indexes can be physically sorted in descending order). In the MySQL 8.0 Labs release (new optimizer preview), when you create an index you can specify the order “asc” or “desc”, and it will be supported (for B-Tree indexes). That can be especially helpful for queries like “SELECT … ORDER BY event_date DESC, name ASC LIMIT 10″ (ORDER BY clause with ASC and DESC sort).
MySQL 5.6 and 5.7 Index Order
Actually, the support for this syntax ( …
[Read more]MySQL Connector/C++ 2.0.3 is the next development milestone of the MySQL Connector/C++ 2.0 series, and the first public release. Apart from covering more X DevAPI features, it adds a new, plain C API, called XAPI, that offers functionality similar to X DevAPI to applications written in plain C. Thus, not only can MySQL Connector/C++ be used to write C++ applications, as before.
Now, using the XAPI, MySQL Connector/C++ can be used to write plain C applications to access MySQL Database implementing a document store as well as execute traditional plain SQL statements. For more information about XAPI, refer to the documentation at http://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html.
To learn more about how to write applications using the X DevAPI, see X DevAPI User Guide ( …
[Read more]
The swedish research institute, SICS, have worked hard for a few
years on
developing a scalable and a highly available Hadoop
implementation using
MySQL Cluster to store the metadata. In particular they have
focused on the
Hadoop file system (HDFS) and the YARN. Using features of
MySQL
Cluster 7.5 they were able to achieve linear scaling in number of
name
nodes as well as in number of NDB data nodes to the number of
nodes
available for the experiment (72 machines). Read the press
release from
SICS here
The existing metadata layer of HDFS is based on a single Java
server
that acts as name node in HDFS. There are implementations to
ensure
that this metadata layer have HA by using a backup name node and
to
use ZooKeeper for heartbeats and a number of …
I have been fairly quiet on my blog for some time. We've been
very busy
developing new features for MySQL Cluster 7.5 and ensuring that
the
quality is improved even further.
We're now very pleased to release a new version of MySQL
Cluster.
MySQL Cluster 7.5 contains a number of new things that makes
MySQL
Cluster even better.
1) You can declare a table as a READ_BACKUP table. This means
that
the updating transactions will receive the commit
acknowledge
a little bit later to ensure that we can always use any of
the
replicas for reading. We will use the nearest replica for
committed reads, for locking reads we will still use the
primary
replica to avoid deadlocks.
For applications that are mostly read-focused one can make it
easier
to set this variable by setting the ndb-read-backup config
variable
to 1 in the MySQL Server …
Fast, granular, reliable ROI on ad performance was our bugle call to build Euclid, Uber’s in-house marketing platform. Early this year, Euclid replaced a legacy system, which processed ROI data somewhat manually as it struggled to keep up with Uber’s …
The post Designing Euclid to Make Uber Engineering Marketing Savvy appeared first on Uber Engineering Blog.
Containers like Docker and Rocket are getting more popular every day. In my conversations with customers, they consistently ask what containers are and how they can use them in their environment. If you’re as curious as most people, read on. . .
How did this happen?
From what I understand, containers grew out of Google’s (and others’) need for massive horizontal scale. Now, this is hardly a unique problem. At the time there were several different solutions out there that could help deploy and orchestrate the applications and infrastructure necessary to scale — namely virtual machines (VMs) and their orchestration services (like Vmware’s vCenter). At the uber-massive scale that companies like Google were pushing, however, server virtualization had some serious drawbacks. Enter containers. . .
What is a container?
Essentially, the main difference between a container and a virtual …
[Read more]Dear MySQL users,
MySQL Connector/J 6.0.5 m4 Development Release is a developer
milestone
release for the 6.0.x series.
This release includes the following new features and changes,
also described
in more detail on
http://dev.mysql.com/doc/relnotes/connector-j/6.0/en/news-6-0-5.html.
As always, we recommend that you check the “CHANGES” file in the
download
archive to be aware of changes in behavior that might affect your
application.
To download MySQL Connector/J 6.0.5 M4, see the
“Development
Releases” tab at http://dev.mysql.com/downloads/connector/j/
Enjoy!
Changes in MySQL Connector/J 6.0.5 (2016-10-19, Milestone 4)
Version 6.0.5 Milestone is the forth development …
[Read more]