Currently browsing Technical Blog

THE WORLD DISCUSSES #PYTHIAN ON TWITTER. HAVE A QUESTION? USE OUR HASHTAG AND ASK AWAY.

My First Experience Running SLOB – Status Update 2 (first results)

I think the results we got so far may surprise you. At lease those doesn’t seems to be the results +Alex Gorbachev and +Kevin Closson expected to see. You can find the first related blog post over here. It will give you the necessary context for further reading. Just to recap: +Kevin Closson says “Orion may give It’s VERY easy to get huge Orion nums but reasonable SLOB” and +Alex Gorbachev “lots of the system IO bound below the CPU level so you should see similar number with Orion or SLOB.” Let see what first testing results revealed. Read the rest of this entry . . .

My First Experience Running SLOB – Status Update 1

NOTE: This is a copy of my yesterday’s G+ post. You can find the original over here. As I am going to continue writing about our ongoing IO testing efforts under this blog I decided to provide the first post here to give readers a bit more context.

Status – Work in progress. We are still working on testing and analysing the results. However there are some things that is worth to share with others to help out with your efforts. This is why I chosen to use G+ to publish some intermediate status update and possibly raise some discussion.
SLOB is The Simple Little Oracle Benchmark from +Kevin Closson.
http://kevinclosson.wordpress.com/2012/02/06/introducing-slob-the-silly-little-oracle-benchmark/

Our attention to SLOB sparked during +Alex Gorbachev and +Kevin ClossonTwitter discussion that more or less could be summarized by the following tweet:
https://twitter.com/#!/kevinclosson/statuses/200727040192823296

@alexgorbachev says to @kevinclosson: lots of the system IO bound below the CPU level so you should see similar number with Orion or SLOB. why don’t I test?

Amen! Read the rest of this entry . . .

MySQL news in a spot

A calm week this time,
I was really busy on daily work, but had some spare time that I have use to do simple implementation and tests.

My work was related to Tablespace management in 5.6 and Table partition EXCHANGE, you can read the articles here .

I have also start to dig a little bit more in details on Mongo architecture, given the need to have it correctly review and implemented in parallel with MySQL installations.

As news review I was more interested in a couple of articles, as for below:

Interesting article from Vadim about SSD, more a suggested reading then able to comment.
Read the rest of this entry . . .

Hardware Components Failures — Survey Results

When preparing for the the IOUG Collaborate 12 deep dive on deploying Oracle Databases for high Availability, I wanted to provide some feedback on what hardware components are failing most frequently and which ones are less frequently. I believe I have reasonably good idea about that but I thought that providing some more objective data would be better. I couldn’t find and results of a more scientific research so I decided to organize a poll. This blog post shows the results and I promised to share it with several groups.

The results are also in the presentation material but it might be hidden deep into 100+ slides so here is the dedicated blog with some comments on the results.
Read the rest of this entry . . .

Storage Replication for Oracle Database and Licensing

While doing my high availability deep dive at Collaborate 12 few weeks ago, I stated that storage replication qualifies for the cold failover licensing rules (see slide #128).

During collaborate I spoke to one person at Oracle who definitely knows the rules. Simon Haslam also reached out to me by email pointing out that things might not be that rosy. Also Arjen Visser from Dbvisit noted to me after my session that they’ve seen Oracle sales pushing for different strategy.
Read the rest of this entry . . .

Two Database Engines, One Table

My esteemed coworker Yanick Knows Perl. Let me put that in perspective: I know perl, but he Knows it deeply enough to merit the capitalization. So when he said that something I did is noteworthy — is, in fact, worth blogging — I listened. So here I am, and here it goes!

Our flagship tool, Support Track, is steadily migrating over to use DBIx::Class to read and manipulate our databases. This is a very useful tool, for many reasons which many people explain better than I could. One of those reasons is that — thanks to the magic of SQLite — it lets us write unit test scripts, and other quick prototyping code, without needing to set up a heavy database server to run against.

However, Support Track is powered by Oracle, not SQLite, and while DBIx::Class abstracts most of the differences out of our code, it can’t completely eliminate them. How do we overcome the syntactic differences?
Read the rest of this entry . . .

Collaborate 2012 as seen by a MySQL DBA

I spent last week at Collaborate 2012 in Las Vegas and it was really great experience in many ways. I am a MySQL DBA and have been working with MySQL for most of my career, so Collaborate didn’t seem like an obvious choice. It turned out that there are so many things that I can learn from Oracle professionals and the Oracle community, which can be applied in MySQL world as well. For me an indication of a good conference is when you come back inspired and full of ideas. I am inspired, tired and have some ideas, which means it was time well spent.

Collaborate is huge. I can only compare it to the MySQL Conference in Santa Clara, which is no where close in terms of its speakers/attendees count. Being so big has its own pros and cons. There is a great diversity in the sessions topics and there are about 250 sessions running each day, so you have to do your homework and decide which one you would like to attend. Walking around the Convention Center and deciding which session you like doesn’t work here, because it will probably take you an hour to do so. There are many sessions but, obviously, there are many more attendees. I was told there were around 6k-7k this year. There are people from probably every possible industry out there (not too many web-startup folks, I noticed :) and it makes it a part of the fun — you can learn how people solve complex problems in the areas that you have never dealt with. On the other hand, you will probably not meet, let’s say, Monty (pick up analog from Oracle world) at the lobby bar, unless you are very lucky, or you know which one is his favorite.

Day 0 is a Deep Dives day at Collaborate. Deep Dive is a long 3-4 hour session which explains one particular topic in great detail. I initially went to Deep Dive about IO tuning, which I though might be helpful in my day to day job as MySQL DBA, but it turned out to be too Oracle specific, so I left and went to Real World Performance session by Tom Kyte, Andrew Holdsworth and Graham Wood and that was the best session I ever attended. As it turned out later, these guys are kind of titans of Oracle Performance world, but their session was generic enough that I could relate many things to my own MySQL experience. I missed the first part of the this several hours long session, which was dedicate to Datawarehouse performance, but I really enjoyed the part about OLTP performance.

First of all, there was a live demonstration of how a test application and database perform under certain conditions and you could actually see how throughput changes when you tune this or that parameter. There was a curious moment when Mr. Kyte showed a chart with a linear scalability and I was like “Ok, how did they get this?”. After some discussion it turned out it was not really linear and it was true for their carefully designed test application. So the Universal Scalability Law still makes sense. The OLTP performance demonstration had 2 examples, which I often see when working on customer’s environments here at Pythian. The first one was about dynamic connection pool which demonstrated that when your database server is overloaded and connections are not returned to the pool quickly enough connection pool decides to… add more connections! This makes the database server even more overloaded etc. You need to persuade application engineers that letting more users to connect to a db server which is crawling does not really help. You need to do the opposite: reduce the number of available connections in the pool. Another example was about proper exception handling. Sometimes, if exception is not being handled properly, the connection is never closed, because code never reaches that point and it is left hanging there. This can result in transactions holding row locks for hours or even days. I have seen this so many times and it usually very hard to debug, but now I have a hint for developers on where to start looking. Anyways, it was a great session, with a lot of insights and I would definitely love to see the full version.

Over the next 3 days I learned about Oracle Exadata (surprisingly, there are some similarities with what the guys at Infobright do) and other Exa-machines, I got an idea of what R is (worth a closer look), how to measure seniority of a DBA in a proper way, what SCAN is and many other things. Unfortunately the MySQL Track was not very exiting. Most of the sessions were explaining MySQL basics to Oracle DBAs which makes sense if you take into account that they are the primary audience there.

It was an exiting week. I had a lot of fun and met many amazing people. If you ask me if a MySQL DBA should go to Collaborate to learn something new about MySQL, I would probably say there is no reason to do so. But if you ask me if you should go to learn from experts in industry which is much more mature than MySQL and get some insights about how things are done in Oracle-world — it is definitely worth going.

Some fun around MYSQL History List

Why this article?

First of all because I had fun digging in the code.

Then, I was reading a lot about the improvements we will have in MySQL 5.6, and of some already present in 5.5.

Most of them are well cover by people for sure more expert then me, so I read and read, but after a while I start to be also curious, and I start to read the code, and do tests.

I start to do comparison between versions, like 5.1 – 5.5. – 5.6

One of the things I was looking to was how the new Purge thread mechanism works and his implications.
Read the rest of this entry . . .

Around the world in a day: Oracle Apps upgrades the Pythian way

Pythian’s Oracle Apps DBA team recently upgraded a client’s E-Business Suite system to version 12.1.3, bringing them into compliance with Oracle’s baseline support requirements for Release 12.1 nearly one year ahead of deadline. We’d like to tell you a bit about this project — not to toot our own horn (though that’s nice too, we are kinda proud), but because it provides an ideal illustration of the power of the Pythian service delivery model, particularly as it applies to large enterprise-class projects.

By the numbers

The numbers don’t tell the whole story, of course, but they set the stage. This massive patching exercise entailed:
Read the rest of this entry . . .

MySQL bi-weekly news 04/26/2012

Following a brief list of what I have found more interesting during the last two weeks.

Up to now, April has being a great month for MySQL.

MySQL Conference  – Percona conference 2012

The Percona MySQL 2012 conference, has seen the MySQL community, interact as it was doing many years ago,

re-creating the dynamic and creative environment that allow MySQL to become the most adopted open source database.
Read the rest of this entry . . .

Start NowWith Pythian - database design, management and emergency handling capabilities...

Live Updates

pythian: RT @FN_Press2: Schooner Information Technology Teams with Pythian to Deliver Advanced Support and High... http://finanznachrichten.de/20
more



Testimonials

  • Serge Racine

    DBA, Brookfield Energy

    We are very satisfied by the service given to us by Andre and Shakir in support of our recent data quality and reorganization initiative.... more



Social links powered by Ecreative Internet Marketing