Tuesday, April 17, 2012

Applications come and go. Databases are here to scale.

In my heart, I'm a DBA, always was and always will be. People say I'm a database guy by the way I think, keep my car, and file my music and also bank statements... However I did great deal of development, design, architecture on the apps side. I (hope to) have some perspective.

Applications come and go. The second programming language I've ever learned and worked on was COBOL, some still say most of the world's lines of code are written in this language, maybe so, but anyway I since then have known and written in dozens of programming languages, from Assembly to Force.com, from Pascal to Delphi, from functional C to Object Oriented SmallTalk, C++, Java and , from compiled C/CGI to interpreted Perl, ASP and Ruby back to compiled node.js... My first applications ran on Main-Frame with green screen, later I created beautiful graphic client-server applications, later I had to create hideous white web applications (like the green MF), later Ajax, Flex and HTML5 made it client based again... And today we call them Apps...

Applications come and go, redesigned, refactored, rewritten. They should. 2 things are constant in the business universe, and those are any business's real assets. Users and data.

Applications are the pipe to give data to users, let them generate and modify the data. And in this universe those are also expanding. Any business wants more users, more customers, more business, more data. Data is never deleted, forever growing, written and updated, can be read many times, can give intelligence to the business when analyzed even years after generated. Data is always audited, backed up, 100% available. DBAs make highest salaries in IT, and DBMS is the most expensive software on the enterprise's shelf. Ask Larry Ellison, rumors say he took Sharon Stone to hang out in a Mig jet fighter. And he can relax, migrating and porting a database is one of the hardest, riskiest operations known to the CIO.

Applications should keep pace with times, trends and fashion, make the users happy. Data, however, must NEVER be compromised. No data should be generated as a silo/an island/isolated. Data WILL live a lot after the application that generated it will be replaced with another, and the programmer who wrote it will change jobs or retire. The data will be integrated by other apps, new generation apps will use it, reports and online analytics will analyze it, enterprise data marts and data warehouses will ETL it.

While there are hundreds of ways to develop an application, 97% of the world's structured data is in less then a dozen environments, all of them are RDBMS. I've worked with most, but Oracle and MySQL are the ones I have most mileage in, most scars from (DBAs always count scars...).

Today, those good old RDBMSs are under attack. RDBMS cannot scale to cope with throughput, data size, concurrency, complexity, distribution, virtualization, consolidation...

The need of good, reliable, interchangeable data is stronger than any man or any trend. Nature will correct itself, and we're living in interesting times. Applications come and go. Databases are here to scale.

Further in this blog let's try see why, what can be done, is done and will be done in database scalability.

Welcome to the database scalability blog.


No comments:

Post a Comment