It was suggested by Monty that the posts I've made about MariaDB are for publicity. This simply isn't true. I would have much preferred a different outcome in my interactions with MariaDB. I figured that they would end up giving me a hard time, and I'd be stubborn and we'd both hate each other for as long as I could keep from leaving. A quick separation actually seems much better in such context. Regardless, I would have preferred to speak amicably to the MariaDB Corporation about switching the license back, or at least moving to the new license at the time of the notification of the community, ie as the LAST checkin in the 2.0 branch. I would suggest they re-release 2.0 as GPL and move 2.1 to the BSL to allow the market to decide if they want to move to 2.1, or even take up 2.0, if they aren't guaranteed important (especially security!) fixes in the older …
[Read more]Open Source is a whole-of-process approach to development that can produce high-quality products better tailored to users’ real world needs. A key reason for this is the early feedback cycle built into that complete process.
Simply publishing something under an Open Source license (while not applying Open Source development processes) does not yield the same quality and other benefits. So, not all Open Source is the same.
Publishing source of a product “later” (for instance when the monetary benefit has diminished for the company) is meaningless. In this scenario, there is no “Open Source benefit” to users whatsoever, it’s simply a proprietary product. There is no opportunity for the client to make custom modifications or improvements, or ask a third party to work on such matters – neither is there any third party opportunity to verify and validate either code …
[Read more]In all the previous blog posts we covered a lot of examples of how to perform actions in a MySQL server set up as a document store. In all the code examples we used the XSession to communicate to the MySQL server.
The XSession is a logical session that abstracts our connection. With it, we can be connected to one or more servers and also give us the required support to work with collections and relational tables. But there is something that the XSession does not provide, full SQL language support.
When you need to execute a query that is not supported by an XSession, use a NodeSession instead. The NodeSession object can be useful, …
[Read more]The MariaDB project is pleased to announce the immediate availability of MariaDB 10.0.27. See the release notes and changelog for details on this release. Download MariaDB 10.0.27 Release Notes Changelog What is MariaDB 10.0? MariaDB APT and YUM Repository Configuration Generator Thanks, and enjoy MariaDB!
The post MariaDB 10.0.27 now available appeared first on MariaDB.org.
Welcome to the first Percona Live Europe featured talk with Percona Live Europe 2016: Amsterdam speakers! In this series of blogs, we’ll highlight some of the speakers that will be at this year’s conference. We’ll also discuss the technologies and outlooks of the speakers themselves. Make sure to read to the end to get a special Percona Live Europe registration bonus!
In this Percona Live Europe featured talk, we’ll meet Krzysztof Książek, Senior Support Engineer at Severalnines AB. His talk will be on MySQL Load Balancers – MaxScale, ProxySQL, HAProxy, MySQL Router & nginx: a close up …
[Read more]Introduction
This is part three of a five part blog series to explore InnoDB internals by looking at the related tunable system variables. In part 2 we covered variables that had the greatest impact on the file structure of InnoDB as well as how data is written to logs. In this section we will continue looking at I/O but more specifically looking at the mechanics on how data gets written to table files as well as how background threads read from them.
Just like in part two, I would like to emphasize something that was written in part one of this blog post series.
“I should note that while tuning recommendations are provided, this objective of this blog post series was NOT meant to be a tuning primer, but instead to explore the mechanics that each variable interacts with. As such I would …
[Read more]Introducing PostgreSQL Day at Percona Live Europe, Amsterdam 2016.
As modern open source database deployments change, often including more than just a single open source database, Percona Live has also changed. We changed our model from being a purely MySQL-focused conference (with variants) to include a significant amount of MongoDB content. We’ve also expanded our overview of the open source database landscape and included introductory talks on many other technologies. These included practices we commonly see used in the world, and new up and coming solutions we think show promise.
In getting Percona Live Europe 2016 ready, something unexpected happened: we noticed the PostgreSQL …
[Read more]Welcome to this week’s Planets9s, covering all the latest resources and technologies we create around automation and management of open source database infrastructures.
Join us next Tuesday for part 1 of our MySQL Query Tuning
Trilogy
Remember to join us next Tuesday, August 30th for the first part of our upcoming webinar trilogy on MySQL Query Tuning. In this first webinar we will discuss building, collecting, analysing, tuning and testing processes as well as the main tools involved, tcpdump and pt-query-digest. If you haven’t done so yet, sign up below to join us and get your questions answered around MySQL query tuning. |
Ever wanted to just look at QPS in real time while logged into your server?
Well here’s a little command line hackery to do it quick and dirty.
[user@yourserver ~] $ LASTVAL=0; while true; do CURVAL=`mysql --batch -N -e "show status like 'Quer%';" | awk '{print $2}'`; QPS=`expr $CURVAL - $LASTVAL`; if [ $LASTVAL -ne 0 ]; then echo "$CURVAL $QPS"; fi; LASTVAL=$CURVAL; sleep 1; done
The output looks like this:
65549603430 2439 65549605421 1991 65549606912 1491 65549611219 4307 65549614186 2967 65549618048 3862 65549620853 2805
The first column is just the Query counter value. The second column is the QPS.
This script requires a .my.cnf to exist in your home directory (or that you do something nastily insecure and supply -u user -ppassword to the mysql command in the example above).
This only works if you’re using innodb_file_per_table.
Purpose: import this csv quickly into google sheets (or other spreadsheet) and compare MySQL’s internal data size to the container size on disk to determine tables needing to be optimized (or “null altered”) to reclaim disk space and maybe increase performance due to defragmentation. Rule of thumb is probably something like >=10% difference may warrant action.
I wrote this loop as a one-liner dynamically / ad-hoc on the command line a couple weeks ago but made it into a configurable, yet quick-and-dirty shell script, below.
Add -u and -p arguments to MySQL CLI command if you need to, or just place a .my.cnf in your home directory and use the script as-is.
#!/bin/bash DATADIR="/path/to/datadir" # ex: /var/lib/mysql SCHEMANAME="yourschema" for x in `mysql --batch -n -e "select concat(concat(table_name,'.ibd'),',',(data_length + index_length)) as …[Read more]