Showing entries 9901 to 9910 of 44074
« 10 Newer Entries | 10 Older Entries »
FOSSASIA 2015: MySQL Group replication preview

I will be presenting group replication on March 14, 2015 in the FOSSASIA conference. It is a 25 minute session and you can find the schedule here.  Here is an abstract of the talk:

MySQL Replication provides a solution for High Availability and Read
Scale-Out. Replication ensures that data written on one MySQL server
is made available on other MySQL servers at runtime in a fast,
consistent and fault tolerant manner with minimal impact to the
overall performance of the server.

Traditionally, MySQL Replication supports a single master and many
slaves, and it is either asynchronous or semi-synchronous. Recently, a
preview of a new replication plugin for MySQL was released and this is
named MySQL Group Replication. This plugin provides multi-master
update everywhere …
[Read more]
Using pt-table-checksum with MariaDB Galera

Mon, 2015-03-09 08:58joffreymichaie

A rapidly increasing number of large, high traffic sites are using MariaDB Galera for their database needs. This makes sense since it works so well. Administrators will connect asynchronous slaves to Galera for reporting, back-ups and disaster recovery.

MariaDB Galera is a very dependable system, involving the coupling of MariaDB with Galera. Nevertheless, Galera administrators need to check regularly the consistency of their slaves. An excellent tool for doing this is the pt-table-checksum. However, when you try to run it on Galera, depending on the version you're using, you may encounter some results similar to the following:

root@lab-galera01:~# pt-table-checksum localhost \ 
--replicate=mariadb_monitoring.checksums \ 
--create-replicate-table --no-check-replication-filters 

12-12T11:00:37 Failed to /*!50108 SET @@binlog_format := 'STATEMENT'*/: 
DBD::mysql::db do failed: 
Variable …
[Read more]
Advanced JSON for MySQL: indexing and aggregation for highly complex JSON documents

What is JSON
JSON is an text based, human readable format for transmitting data between systems, for serializing objects and for storing document store data for documents that have different attributes/schema for each document. Popular document store databases use JSON (and the related BSON) for storing and transmitting data.

Problems with JSON in MySQL
It is difficult to inter-operate between MySQL and MongoDB (or other document databases) because JSON has traditionally been very difficult to work with. Up until recently, JSON is just a TEXT document. I said up until recently, so what has changed? The biggest thing is that there are new JSON UDF by Sveta Smirnova, which are part of the MySQL 5.7 Labs releases. Currently the JSON UDF are up to version 0.0.4. While these new UDF are a welcome edition to the MySQL database, they don't solve the really tough …

[Read more]
Restart Phases in MySQL Cluster

Here is one more additional documentation effort in the MySQL Cluster 7.4
source code. This describes a fairly detailed view of what is performed in
the various restart phases of MySQL Cluster and in particular for node
restarts.

In MySQL Cluster the restart is processed in phases, the restart of a node
is driven by a set of phases. In addition a node restart is also synchronised
with already started nodes and other nodes that are starting up in parallel
with our node. This comment will describe the various phases used.

Data node process startup
The first step in starting a node is to create the data node run-time
environment. The data node process is normally running with an angel process,
this angel process ensures that the data node is automatically restarted in
cases of failures. So the only reason to run the data node again is after an …

[Read more]
MySQL Vs Db2 – Part 1

MySQL is open-source RDBMS and is gaining popularity in the recent years.. I am starting a comparison series for mysql and db2..This series will help MySQL DBAs to catchup Db2 quickly and vice versa.. Please post your feedback

1. Knowing the software version :


mysql> select version() ;

 

+-----------+
| version() |
+-----------+
| 5.5.28 |
+-----------+
1 row in set (0.00 sec)

mysql> show global variables like 'version%' ;
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| …

[Read more]
Monitor the Source of MySQL and PostgreSQL Database Load

VividCortex now computes metrics about each client connection’s host (where the remote end of the connection originates) in Top Queries, so you can monitor MySQL and PostgreSQL activity per remote host. By changing the Rank menu from Queries to Hosts, you can see a breakdown of activity in the familiar format, all with 1 second resolution.

The hardest part of this was picking good names for the metrics and the drop-down menu. Unfortunately all the names we could find seemed to have some ambiguity. Remote host, origin host, client, inbound… take your pick. We picked Host. Is there a better term?

Regardless what you call it, this shows you where service demand on your MySQL/PostgreSQL servers is coming from, and how it varies over time. As usual, you can slice-and-dice, zoom in, and all the rest.

If you’d like a demo of VividCortex, contact us, or …

[Read more]
log event entry exceeded max_allowed_packet

Sometimes replication halts with an error like:

Slave I/O: Got fatal error 1236 from master when reading data from binary log
Error reading packet from server: log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master;

If it's the SQL thread instead of the I/O thread, it might complain about 'Event too big'. The error could also be the other direction, complaining of 'Event too small'.

I rarely see this error actually have anything to do with max_allowed_packet. You can check the largest event in the master's binary log file. Even though the binary log records the length in each entry, mysqlbinlog doesn't expose it, so we have to do the math ourselves:

mysqlbinlog mysql-bin.00XXX | gawk "/^# at / { diff = $3 - prev; prev = $3; } (diff > max) { max = diff } END {print max}" -

If the result is larger than max_allowed_packet, then the problem and solution are …

[Read more]
Galera for Mesos

This time it is nothing like a linkt to another Blog:  Galera on Mesos

Ok as a fact I was kinda involved. Even the work is done by Stefan all alone. We meat for a day in a coworking space and discussed about Galera and Mesos.
In the end Stefan produced this incredible blogpost and pushed Mesos forward.
Whats the fun about this post?
We already now Galera is already the standard in a lot of architectures. For example OpenStack. Doing consultant work for Docker also I encourage to use Galera for all this infrastructures Docker runs on. 
Mesos is about to run easy on 1000 nodes. It has a nice abstraction of nodes and framework. Companies like Airbnb, Paypal, eBay, Groupon use Mesos. Having a Galera poc for Mesos is going to make it likely to …

[Read more]
JSON UDF functions version 0.4.0 have been released

New version of JSON UDF functions has been just released. This version introduces two new features.

  1. Escape characters in results of JSON_SEARCH function. In previous version if you had document @doc = '{"foo:bar": "baz"}' or '{"foo": {"bar": "baz"}}' return value of JSON_SEARCH(@doc, '"baz"'); was 'foo:bar::' for both. There was no way to distinguish two search paths. Now for the first document JSON_SEARCH returns 'foo\:bar::'
  2. Second feature is much bigger. Now JSON functions accessing elements by a key (JSON_CONTAINS_KEY, JSON_EXTRACT, JSON_REPLACE, JSON_REMOVE, JSON_APPEND, JSON_SET, JSON_COUNT) can use alternate keypath syntax: $.key1.key2[arr_index] where $ is root element, .key is key name, [arr_index] is array index. JSON_SEARCH can also return path in this format with escaped $, . and [] symbols.
[Read more]
Improving performance – A full stack problem

Improving the performance of a web system involves knowledge of how the entire technology stack operates and interacts. There are many simple and common tips that can provide immediate improvements for a website. Some examples include:

  • Using a CDN for assets
  • Compressing content
  • Making fewer requests (web, cache, database)
  • Asynchronous management
  • Optimizing your SQL statements
  • Have more memory
  • Using SSD’s for database servers
  • Updating your software versions
  • Adding more servers
  • Configuring your software correctly
  • … And the general checklist goes on

Understanding where to invest your energy first, knowing what the return on investment can be, and most importantly the measurement and verification of every change made is the difference between blind trial and error and a solid plan and process. …

[Read more]
Showing entries 9901 to 9910 of 44074
« 10 Newer Entries | 10 Older Entries »