Thursday, November 24, 2011

Databases Matter


Databases are at the core of virtually all modern information technology systems. Sometimes these databases are exposed, for example, as in data warehouse systems. The centrepiece of a system like that is a powerful industrial database such as Oracle, or Sybase, or Microsoft SQL Server, or something similar. The presence of a database is pretty obvious in that case – only these powerful databases can crunch the immense amounts of data processed by data warehouses. In other cases databases are hidden. For example, Apple iTunes uses a SQLite database to store the details of music tracks on your computer. That database is not obvious; it does not advertise itself, but it's there. It makes sure that the ratings you assigned to songs are saved and can be synchronised between all your iPhones and iPads. It counts the number of times every song was played so that you don't listen to the same song twice when you put your iPhone on shuffle. Databases are everywhere. They all serve the same purpose – to store data and make its retrieval as easy and fast as possible – but they are also vastly different from each other.

Let's take another example. When you log into your Google account and bring up your Gmail inbox, all the emails you see are actually stored in the remote database. That database is called BigTable, and it contains not only your emails, but all the emails of all Gmail users in the world, and also virtually all of Google's data. While your iTunes SQLite database may be about 50 megabytes in size (and that's assuming you have A LOT of songs), Google's BigTable contains petabytes of data. That's your iTunes database times one billion.

If you think about it, it becomes obvious that these databases require vastly different approaches to the way the data are stored and retrieved: You can fit an iTunes database into memory and query it whichever way you like without a performance penalty. At the same time, no machine has been built yet that could apply the same approach to Google's BigTable.

Unfortunately, not all software developers understand that. Databases once were an inspiring topic but in recent years they went out of fashion. Software developers are geeks; they like new toys; they all want to work on something latest and greatest and cutting-edge. So many new exciting things are happening in the area of Information Technology – Web 2.0, HTML5 and Apple iOS to name just a few – that databases just fade in comparison, despite the fact that they make all these new shiny things tick. Most of the developers these days take a database just as generic data storage: “We'll just stuff the data in and we don't care what's inside.” 10 years ago SQL language was a necessary skill for database application developers. Nowadays the majority of programmers don't know SQL. They rely on frameworks such as Hibernate to produce SQL statements for them. They think that all databases are the same and therefore, if necessary, they can take one system that uses MS SQL Server as a backend and put it onto Oracle and it will work just fine.

Well, that may be true for very simple applications. The myth that all databases are the same is flawed, especially when it comes down to performance. Today cloud computing is a buzzword, and Google is the patriarch of the cloud. Google's servers process billions of requests every day, crunching petabytes of data. Yet, every request made to a Google search engine is served within seconds. This places such a high demand on the Google's database layer, that Google's engineers couldn't afford using even the most powerful of industrial databases, and they had to develop their own – the aforementioned BigTable. If you told these guys that “all databases are the same”, they would laugh into your face, and rightfully so, because Google knows that performance matters and they try to squeeze every bit of performance out of their systems.

Databases matter, and if you consider yourself a decent software developer, you need to learn how to tame them. Learn the differences between them. Learn what they are, what makes them tick, and the most importantly, how to make them tick faster, because writing applications that are slow is just bad taste.

Tuesday, February 15, 2011

Nokia+MSFT: Power of Incentives

Considering that the present Nokia's CEO Stephen Elop is one of the largest individual shareholders of Microsoft, no wonder they tied a knot.

And it'snot a surprise he tries to talk the Nokia's share price down. He doesn't currently have any Nokia shares, but he will have to buy some soon. And the cheaper Nokia shares are, the less he will pays for them.

As Charlie Munger puts it:
'I think I've been in the top 5% of my age cohort all my life in understanding the power of incentives, and all my life I’ve underestimated it. And never a year passes but I get some surprise that pushes my limit a little farther.'

Monday, February 14, 2011

Make your life happen

Jason Fitzpatrick quit Lifehacker. Here's what he has to say:

The only commodity we have is time. Somewhere—in your mind, on a notepad, stashed in a virtual notebook—you have a list of things you'd like to be doing with your time before it all slips away. Do what you have to do to take those ideas out of storage and make them happen. You can trade and barter for a lot in life but you can never buy back time. Go live.

These Are the Last Words I Have to Say; That’s Why This Took So Long to Write by Jason Fitzpatrick

Wednesday, February 9, 2011

Freediving in the Philippines. Epilogue

Some people asked me why I needed that. Here's why.

I do not know where to start... Perhaps I should start by telling how a long time ago, when I was a kid, I watched a movie called "The Big Blue", and it forever imprinted in my memory, somewhere between the French cartoon "Time Masters" and the Bratislavan TV series "She Came Out of the Blue Sky".

Freediving in the Philippines. Day 12


Here I was writing this diary
Everything comes to an end. It was time for me to say goodbye to the Philippines, that hospitable place, which gave me so many new impressions over the last few days. At eight in the morning, a taxi was to pick me up and take me to the airport. Three hours in the car, then an airport, a plane, and three and a half hours to Singapore. Mark, Michael and I met for breakfast. Last conversation, goodbye. Then I went to say goodbye to the sea. I looked at the bright blue surface stretching to the horizon, and tears rolled down my cheeks. Then I jumped into the car and set off for the airport. On the way, I asked the driver to drop in at Club Serena, but having arrived there, I found out that everyone else had already left.

Airport, customs, passport control... All of those necessary attributes of travel are the same every time. They take a lot of time, but there's no way to go around them. And when yet another door closes behind you, you realise that something is over, finished. And something new begins.

Tuesday, February 8, 2011

Freediving in the Philippines. Day 11

A restaurant at "Blue Orchid"
Back when I was preparing for the trip, I got in touch with Julia, and she told me that I had a choice to stay in one of two hotels: Club Serena or Blue Orchid. I looked at the Blue Orchid's website and, to my surprise, in a left-side menu found a link labelled "Aikido". Since I am a black belt in aikido, I was interested. The link itself did not lead anywhere, but after a little research, I discovered that the owner of Blue Orchid, the Englishman Michael McCavish, was a fifth dan of Tomiki aikido. I contacted him, explained who I was, and asked if I could book a room at his hotel. Michael replied that he was glad that I would stay at his hotel, but he at that time would be in Japan on business.

When we first saw him in the evening after returning from Badian Resort, the first thing he said to me was: "I came back a day earlier than planned. I felt that I had to talk to you." I did not even know what to think about it. Another coincidence in the chain of random events? Maybe. Maybe not.

Freediving in the Philippines. Day 10


A view fon the roof of "Blue Orchid"
Surprisingly, I did not have a hangover next morning. Either I did not drink as much as I thought I did, or the quality of the local rum was much better than I expected. Therefore I, as usual, appeared by the pool of Club Serena at 10 a.m.

Popular Posts