Fish shell brace expansion

I mentioned that I use the fish shell, but I would like to share a common problem of mine – well, so far this is the only one I found.

I commonly use commands like this

find . -maxdepth 1 -type d -exec du -sh {} \;

This works great with bash, but in fish, you got the following error message

 du: fts_open: No such file or directory

This happens because fish acts more aggressive on brace expansion than bash. It doesn’t treats it as a part of a command, but tries to expand it – but cannot succeed, because there is nothing.
Simply put that inside apostrophes and the shell will skip the brace expansion.

find . -maxdepth 1 -type d -exec du -sh '{}' \;

Not a big thing, but handy.

My work environment

I was thinking if my work environment would be interesting or not, but I decided ‘yes’ – because I always like reading about others work env.

I am working with Linux/UNIX for more than 15 years now, and I have tried a lot of cool tools, but at the end, I always found myself using the same apps in the terminal.

I like the Unix philosophy about Do One Thing and Do It Well. I never really use big, bloated software, I like to use my editor for editing files, and my git client to use git. That’s simple.

Continue reading “My work environment”

Running multiple instances on the same hardware

Currently, we have one database cluster with 15 different schemas – these schemas could be either schema which contains “real” data, or just schemas with metadata.

I guess the next evolutionary step of our database stack would be to split up the database cluster vertically along these schemas. All the data schemas should be moved to standalone mysql instances and put the metadata schemas next to them. This also could be a good project for prepare to move a certain part of the database for example to a cloud provider while other parts are still kept on bare metal.

Continue reading “Running multiple instances on the same hardware”

Percona Live Europe 2015

Well, it was ended a week ago, but I had too many errands to run so I couldn’t post anything about it.

It was really great, again.This was the third time I attended (2013 London, 2015 Santa Clara) so now I have met with a lot of familiar people – it is true that MySQL has a great community. The chosen city was great, Amsterdam is one of the coolest places in Europe, the hotel was neat, and the programs were also astounding.

The conference sessions were great too, I really enjoyed, them all, and because they are running on 8 thread parallel it is not that bad that there are some recurring sessions; if you missed one in spring you can watch it on autumn.

So, everything was comfy and neat. I hope I’ll attend on the next one too …

There were a few topics where I plan to dig deeper in the next weeks

  • ProxySQL because HAProxy is a good choice, but it only speaks TCP and HTTP but not MYSQL
  • Semi-Sync replication, because getting rid of replication lag would be useful
  • XtraDB Cluster/Galera cluster, because it seems a good evolutionary step beyond our current setup
  • DB options in the cloud.

Moving to own domain

Hi there!

So far I was blogging on Kinja but I’ve decided that I move my blog content to an own domain, and a WordPress blog.

Kinja is a great place to have good posts, and good conversations but the engine is not really made for tech blogs – it is really hard to insert preformatted text such as code or console dump, but I need to do it often.

I was moved all of my previous posts here, maybe in the future, I’ll edit them to fix the code displaying, but now I don’t feel the power for that.

Anyways, welcome here, let’s the blogging begin.

Posted in me

Getting familiar with TokuDB part 1.

After TokuDB was announced as a new storage engine for MySQL, it made me very curious, but I didn’t try it out until now.

I try to check it from different aspects and I’ll be the blog it steps by step. I don’t do any serious benchmarking, just play with it, and see if it could be fit into Kinja’s MySQL ecosystem.

I use one of our development servers as a TokuDB playground. Sadly that hardware is not the same as the database masters nor as the slaves, so performance tests couldn’t be made on that piece of metal but many other ways are open to doing this.

I’ve installed the tokudb plugin from the Percona repository. The setup was quite easy and fast, the documentation is nice.

Continue reading “Getting familiar with TokuDB part 1.”

How to drop table in a hacky way

I showed in an earlier post how to drop a whole database in a very safe way (no replication lag at all) and that technique could be used to drop a single table too, but cleaning up a table can take hours if not days to finish, so this is not the most comfortable way to do that. We also don’t want to have even a small spike of replication lag, so we need to find another solution.

How to remove database in a safe way
When you have to drop a large database, you’ll encounter some problems, mainly replication…

Continue reading “How to drop table in a hacky way”