Showing entries 1 to 10 of 103
10 Older Entries »
Displaying posts with tag: Tech (reset)
PMM and IAM Roles

I started to use Percona Monitoring and Management (PMM) recently because it seems promising, and my friends from Percona always recommending it to try out, and frankly, at first sight, I like it. There are few things which I am not happy about, but mostly I feel OK – but when it comes to the […]

OSX and case-sensitive file system

I am really angry now. A few weeks ago, when I was finished my MySQL backend checker I lost about two hours of work because I wasn’t commit anything to git, but I overwrote the working file with one of my doodle files – which file had the same name but with camel case. I […]

Percona live Dublin – Migrating and living on RDS/Aurora

It was a long time ago so I won’t write about the conference (it was good as always), but at least I share the slides of my talk here.

Connecting PHP to MySQL on Bluemix

Most of the PHP I write runs on Bluemix - it's IBM self-service cloud, and since I work there, they pay for my accounts :) There are a bunch of databases you can use there, mostly open source offerings, and of course with PHP I like to use MySQL. Someone asked me for my connection code since it's a bit tricky to grab the credentials that you need, so here it is.

Bluemix Environment Variables

In Bluemix, you can simply create a MySQL database (look for "compose-for-mysql" in the catalog), create a set of credentials, and then bind it to your app. I should blog a few more of my PHP-on-Bluemix tricks but you can run a selection of PHP versions and it's also possible to add extensions that you need, I have found it does have what I need once I figure out how to configure it!

Once the database is bound to the application, then your PHP code running on Bluemix will have an environment variable called VCAP_SERVICES. …

[Read more]
Going for Go and Sticking with SQL

Why we’re switching from PHP to Go. Plus, why we’re happy with MySQL. LefT: ElePHPant (Vincent Pontier). Right: Gophers (

At first, we thought that sticking with a familiar language was the responsible thing to do — we’re a small team, already engaged in two adventurous moves: a switch to microservices and a full rebuild of our legacy web application, a high-traffic game platform.

However, in the end we decided to go all the way and dropped PHP for Go. In this post we’ll explain why. We’ll also share some thoughts about databases within our microservices architecture.

Microservices and …

[Read more]
Rebuilding a Web Platform for 30M Users

We’re redesigning our playground’s tech stack, and we’re sharing our experiences as we go. Lots of fun, a pain to maintain — via RollerCoaster Tycoon/Hasbro

Since I founded Poki, we’ve grown a lot. Every month, tens of millions of players around the world use our platform for easy access to free games. More recently, we’ve launched a publishing service to help game developers succeed on web and mobile.

What once started as a collection of web games is now growing into a platform for play: Poki brings game developers and users together in a sustainable way and gives developers a fair share of gameplay revenue. We’ve only just begun, but we’ve been quick to realize that building a platform means reimagining every aspect of our business.

One such aspect is our codebase: the current version of — currently serving 30 million unique users …

[Read more]
GNU Parallel and Block Size(s)

I’ve been a fan of GNU Parallel for a while but until recently have only used it occasionally. That’s a shame, because it’s often the simplest solution for quickly solving embarrassingly parallel problems.

My recent usage of it has centered around database export/import operations where I have a file that contains a list of primary keys and need to fetch the matching rows from some number of tables and do something with the data. The database servers are sufficiently powerful that I can run N copies of my script to get the job done far faster (where N is value like 10 or 20).

A typical usage might look like this:

cat ids.txt | parallel -j24 --max-lines=1000 --pipe "bin/  --db live >> {#}.out

However, I recently found myself scratching my head because parallel was only running 3 jobs rather than the 24 I had specified. …

[Read more]
Google Cloud SQL Second Generation is available

Recently Google announced, that the second generation of Cloud SQL left the beta stage and it is available. I decided to take a look, because last time when I checked it, it looked good, but I couldn’t take it seriously because of the nonexistent SLA. I have a few databases running on Amazon RDS, but […]

Budapest MySQL Meetup

I just created the Budapest MySQL Meetup group. I hope there will be interest for that, the first event is under organising. Check it if you are near Budapest!

MySQL 5.7 Introduces a JSON Data Type

There's a new JSON data type available in MySQL 5.7 that I've been playing with. I wanted to share some examples of when it's useful to have JSON data in your MySQL database and how to work with the new data types (not least so I can refer back to them later!)

MySQL isn't the first database to offer JSON storage; the document databases (such as MongoDB, CouchDB) work on a JSON or JSON-ish basis by design, and other platforms including PostgreSQL, Oracle and SQL Server also have varying degress of JSON support. With such wide adoption as MySQL has, the JSON features are now reaching a new tribe of developers.

Why JSON Is Awesome

Traditional database structures have us design table-shaped ways of storing all our data. As long as all your records (or "rows") are the same shape and have the same sorts of data in approximately the same quantities, this works brilliantly well. There are some common problems that aren't a good …

[Read more]
Showing entries 1 to 10 of 103
10 Older Entries »