Yesterday I learnt an important lesson about an important
difference between NoSQL and MySQL, at least when it comes to the
marketing and hype.
I saw a tweet from around marketing of one of NoSQL
leaders:
Most people apparently would just conclude from the tweet's text,
however I actually clicked the link, and couldn't believe
eyes:
I guess that in NoSQL, when it comes to the integrity of data as
well as hype - it is eventually consistent...
[…] MySQL variables open_files_limit, table_open_cache and max_connections are inter-related, and this is for obvious reasons: all deal with file descriptors one way or another. If one of the value is provided but others are left out, mysqld calculates others using a … Continue reading → […]
I’ve had this question several times when presenting and once via an internal email thread so I figure I might as well write about it: What is the default transactional engine in MariaDB 10.0? The answer is simple – it is XtraDB.
However this answer has some history: initial releases of MariaDB 10 actually shipped with InnoDB from MySQL 5.6. Only in 10.0.9 RC did the default switch back to being XtraDB. As MariaDB users previously know, XtraDB was the default InnoDB in 5.1, 5.2, 5.3, and 5.5 too. As always, you can switch easily between InnoDB/XtraDB – read more in: Using InnoDB instead of XtraDB.
How do you tell what version of InnoDB or XtraDB you are running? Simply, run: SHOW GLOBAL VARIABLES LIKE 'innodb_version';
MariaDB 10.0 (read more: …
[Read more]
The behaviour changed in 5.6.12. For more details see this bug
report (which I consider fixed):
http://bugs.mysql.com/bug.php?id=62224
There is also a small patch attached to that bug which changes the behaviour and sets the limit to the hard limit instead of the soft limit if setting the requested limit fails.
And for troubleshooting something like this should be used
instead the more classical ‘switch to the user and do a ulimit
-a’. With cgroups in linux the limit for the mysql user and the
mysql process might be different.
egrep ‘^(Limit|Max open files)’ /proc/`pidof mysqld`/limits
And this one is also a classic:
http://www.mysqlperformanceblog.com/2013/02/04/cant_create_thread_errno_11/
MySQL variables open_files_limit,
table_open_cache and max_connections are
inter-related, and this is for obvious reasons: all deal with
file descriptors
one way or another.
If one of the value is provided but others are left out, mysqld
calculates
others using a formula and in some cases, emits a warning if not
possible.
The whole calculation behind obtaining the final file descriptor
limit is a bit
byzantine and is as follows (for Linux):
EDIT: This applies to MySQL 5.5, in 5.6, as
Daniël in comments pointed out,
few things have changed, check comment for details. I will
probably make a
followup post on the differences.
- First it tries to calculate a minimum requirement based on
max_connections
…
Via Dave Stokes, MySQL Community Manager:
MySQL Central is truly a MySQL Community show. This year there are five tracks and the majority of the sessions in all the tracks except Performance and Scalability had many more submissions from the MySQL Community than from Oracle/MySQL.
This is impressive. There are about 200 submissions, 50 slots, a 1/4 chance of a talk getting in, and if we follow this logic we will see that MySQL Central @ OpenWorld will truly be a community event (in previous years, majority of the talks came from the MySQL team at Oracle). I can’t wait to see the final program, but as an attendee to the past two MySQL Connect events, I am looking forward to seeing this event grow and be a part of the main program (i.e. not the weekend before).
As …
[Read more]
So benchmarking different MySQL queries against your database is
a wise thing to do. That should go without saying. While we
optimize queries the best we can using EXPLAIN (and EXPLAIN
EXTENDED) taking them time to benchmark them should prove
helpful.
This is a simple example of executing a mysqlslap
statement.
For this example I loaded the WORLD database from MySQL. (
http://dev.mysql.com/doc/index-other.html )
I created a query that joined all three tables and put it
into /tmp/tests.sql. The explain plan is below.
root@localhost [world]> EXPLAIN EXTENDED SELECT C.Name as
City, Y.Name as Country, L.Language,Y.Population FROM City C
INNER JOIN Country Y ON C.CountryCode = Y.Code INNER JOIN
CountryLanguage L ON C.CountryCode = L.CountryCode WHERE C.Name
LIKE 'D%' AND Y.Continent='Europe' \G
…
Это первая статья из серии, посвященной сравнению iOS и Android. Вообще говоря, это написано скорее больше для себя, чтобы отметить наиболее интересные моменты и чтобы привести мысли в порядок. Когда пользуешься определённым девайсом со временем привыкаешь к его сильным сторонам, начинаешь их считать обыкновенными, а неудобство от слабых черт доставляет недовольство и сподвигает и искать что-то новое. Так вот, текст для того, чтобы помнить... :)
Основным оппонентом будет Samsung Note 2, т.к. он был у меня непосредственно перед iPhone 5S, и …
[Read more]MySQL Central is truly a MySQL Community show. This year there are five tracks and the majority of the sessions in all the tracks except Performance and Scalability had many more submissions from the MySQL Community than from Oracle/MySQL. The voting has been tough this year for me. Picking roughly fifty talks out of about two hundred submissions may sound easy. But this year I found only a few topics that were easy to score lowly as they were either off the mark for the conference or not strong enough subjects for the devotion of an hour. So that took it down from two hundred sessions to one ninety seven.
I do not know how the other selectors are making their choices but I had an exhausting time of it. The first pass took me a week part-time to read all the details of each submission without looking at the author in order to judge the talks on their content. Next I look for amazing presenters who have taught me something in the …
[Read more]While at the keynote of Tomas Ulin at Percona Live MySQL Conference & Expo Santa Clara 2014, he asked the audience what they were running, and most of the audience was on MySQL 5.5 while about 15% of the audience was on MySQL 5.6. This number is steadily increasing I’m sure, so one thing that becomes important is that people will probably start turning on Global Transaction Identifiers (GTIDs).
As you may already know, MariaDB 10 has a different implementation of Global Transaction ID. To me, this poses a problem in a mixed use environment (or even a migration scenario). Which is why …
[Read more]