I have uploaded the presentations to the MySQL User Conference website where it says these will be made available, once I have done just that, uploaded them. That didn't seem to happen, at least it seems to take some time, so I decided to do what Guiseppe Maxia did, try out SlideShare, which seems to work just great. Cool!
So my presentations from the MySQL User Conference 2009 are available here:
/Karlsson
Who is finally home again
I am Anders Karlsson, and I have been working in the RDBMS industry for many, possibly too many, years. In this blog, I write about my thoughts on RDBMS technology, happenings and industry, and also on any wild ideas around that I might think up after a few beers.
Tuesday, April 28, 2009
Friday, April 24, 2009
Final thoughts on the MySQL User Conference
I am pretty happy with how the MySQL User Conference developed, considering the announcement earlier in the week. As I have blogged before, I don't mind working for a database company, that's where I have my roots (or root as in -u root) after all. I actually saw very few effects of the announcement during the whole week.
Both talk I did, on libmysqld and on HA with MySQL together with Robert Krzykawski, went very well. The first had a small, but interested, audience, the latter was pretty full with people that also seemed interested. Robert did a stellar job of presenting what bwin games did in practice to achieve High Availability with MySQL, what technologies they looked at and what they eventually ended up with, and how those choices were made and what went well and what didn't turn out so good.
I am pretty tired today, and I will spend most of the weekend traveling back to Sweden, so I deserve a half-day or so off, so I will spend Friday afternoon at the Computer History Museum in Mountain View, which will be fun and interesting. Tomorrow, Saturday, morning I will be a SFO and I will be in Sweden Sunday morning at 7:45.
You think I will relax on Sunday? No way, José! Sunday evening in Stockholm, I am off to my local hangout Akkurat in Stockholm to see the old Swedish progressive music band Dag Vag, and have a few beers. Now we are speaking proper, unpasteurized, unfiltered English ales, and none of that cascade loaded pasteurized stuff I get in the US (which in itself isn't bad, I just have had too much of it for a while).
Cheers
/Karlsson
Who is not allowed (by the SEC) to comment on the fact that he might be an Oracle employee again
Both talk I did, on libmysqld and on HA with MySQL together with Robert Krzykawski, went very well. The first had a small, but interested, audience, the latter was pretty full with people that also seemed interested. Robert did a stellar job of presenting what bwin games did in practice to achieve High Availability with MySQL, what technologies they looked at and what they eventually ended up with, and how those choices were made and what went well and what didn't turn out so good.
I am pretty tired today, and I will spend most of the weekend traveling back to Sweden, so I deserve a half-day or so off, so I will spend Friday afternoon at the Computer History Museum in Mountain View, which will be fun and interesting. Tomorrow, Saturday, morning I will be a SFO and I will be in Sweden Sunday morning at 7:45.
You think I will relax on Sunday? No way, José! Sunday evening in Stockholm, I am off to my local hangout Akkurat in Stockholm to see the old Swedish progressive music band Dag Vag, and have a few beers. Now we are speaking proper, unpasteurized, unfiltered English ales, and none of that cascade loaded pasteurized stuff I get in the US (which in itself isn't bad, I just have had too much of it for a while).
Cheers
/Karlsson
Who is not allowed (by the SEC) to comment on the fact that he might be an Oracle employee again
Thursday, April 23, 2009
MySQL High Availability talk at the MySQL User Conference
At 11:55 today, thursday April 23, me a Robert Krzykawski are doing a talk on real-world High Availability with MySQL in Ballroom F at the MySQL User Conference, and I know I have written on this before, but I do think this could be interesting, not so much because of what I am going to say, but because of what Robert has to add. Roberts has been working with MySQL and availability with it for many years at bWin and will talk about how they ended with the solution they ended up with.
Also, I thought it would be useful to use this blog post as a board for comments and ideas around this session.
See you in a few hours in Ballroom F
/Karlsson
Also, I thought it would be useful to use this blog post as a board for comments and ideas around this session.
See you in a few hours in Ballroom F
/Karlsson
Wednesday, April 22, 2009
MySQL User Conference - Libmysqld talk done, HA coming up
My talk on libmysqld was yesterday, but I am not off the hook yet, as I still have a talk on Thursday on High Availability with MySQL, this time together with Robert Krzykawski of bWin, who will provide a real-world view on High Availability with MySQL. This is going to be a fun, as I think Robert has some interesting experiences when it comes to High Availability with MySQL running on a large website.
I went to Anthony Curtis talk on an External Stored Procedure framework for MySQL, which was exciting, so I will test this a bit more and I already have a few ideas on use of this framework, for example I would want to use this to create library of functions and procedures to augment development of Stored Procedures with MySQL, to aid new development as well as to easy migration.
/Karlsson
Who thinks he works for Oracle today, maybe
I went to Anthony Curtis talk on an External Stored Procedure framework for MySQL, which was exciting, so I will test this a bit more and I already have a few ideas on use of this framework, for example I would want to use this to create library of functions and procedures to augment development of Stored Procedures with MySQL, to aid new development as well as to easy migration.
/Karlsson
Who thinks he works for Oracle today, maybe
Tuesday, April 21, 2009
libmysqld - Embedded announcements today
At the MySQL Users Conference, Ken Jacobs from Oracle announced an embedded version of InnoDB, using a low-level, non-SQL interface, but still providing the transactional and other features of InnoDB. This is an interesting development, and I assume that this could be competitive to libmysqld, which you know is near and dear to my heart.
Frankly, I don't think this is the case. Libmysqld still has the edge on having SQL access and being available with more engines. But I DO see a place for Embedded InniDB which is in the really small devices, where not even libmysqld would fit, but you still need transactional capabilities.
But I do admit that this announcement takes some of the glamour away from my presentation on libmysqld, but I promise that I will keep you posted, I will test Embedded InnoDB and try to figure out where it fits, and how.
So watch this space for more information
/Karlsson
Confused if I am working for MySQL, Sun or Oracle. Or someone else...
Frankly, I don't think this is the case. Libmysqld still has the edge on having SQL access and being available with more engines. But I DO see a place for Embedded InniDB which is in the really small devices, where not even libmysqld would fit, but you still need transactional capabilities.
But I do admit that this announcement takes some of the glamour away from my presentation on libmysqld, but I promise that I will keep you posted, I will test Embedded InnoDB and try to figure out where it fits, and how.
So watch this space for more information
/Karlsson
Confused if I am working for MySQL, Sun or Oracle. Or someone else...
So what will happen at Oracle now?
As I have blogged about before, I have worked for Oracle before, 20 years ago or so. And since then, I have heard a lot of bad bad words on Oracle on the streets, both on Oracle the company and Oracle the database product. Actually, Oracle isn't about any of those things, no, just as in the case on MySQL, it's about people. And good people. You don't run and build a company like Oracle without good people.
To be honest, most I know about the software industry and most of what I know about database technology, I learnt or was allowed to learn when I was with Oracle back then. And I can tell you that backing and supporting me back then wasn't a really obviously good thing to do (I don't know if it is now even). Bur Oracle did, and I owe them one for that.
Also, I like the Oracle product. There are attributes with the product that are different from, say MySQL, and depending on what you look for, Oracle or MySQL might be the better fit. Running Oracle requires a fair bit more hardware and OS resources, but given that, it's a good RDBMS and if you use the features it has, it is generally good software. And this isn't a statement I made up just now, in view of the current event, but this is something I have said many times over the years, and I have said it because I believe that this is the case.
And one more thing, in Montys blog he states that "most of the MySQL leaders (both commercial and project) have left Sun and the people who are left are sitting with their CV and ready to press send." And I have tow things to say about this:
Who will hang around here, and is a bit excited of meeting old Oracle friends again.
To be honest, most I know about the software industry and most of what I know about database technology, I learnt or was allowed to learn when I was with Oracle back then. And I can tell you that backing and supporting me back then wasn't a really obviously good thing to do (I don't know if it is now even). Bur Oracle did, and I owe them one for that.
Also, I like the Oracle product. There are attributes with the product that are different from, say MySQL, and depending on what you look for, Oracle or MySQL might be the better fit. Running Oracle requires a fair bit more hardware and OS resources, but given that, it's a good RDBMS and if you use the features it has, it is generally good software. And this isn't a statement I made up just now, in view of the current event, but this is something I have said many times over the years, and I have said it because I believe that this is the case.
And one more thing, in Montys blog he states that "most of the MySQL leaders (both commercial and project) have left Sun and the people who are left are sitting with their CV and ready to press send." And I have tow things to say about this:
- I don't know what a "MySQL Leader" is.
- I' still around and I am not sitting with my CV.
- I've been with MySQL for 5 years, so I would like to think it has some significance.
- Actually, no one I have spoken to so far are "ready to press send".
Who will hang around here, and is a bit excited of meeting old Oracle friends again.
Monday, April 20, 2009
Virident hardware acceleration for MySQL
Today Virident announced a set of servers, called GreenCloud, aimed at increasing performance for MySQL and memcached servers. Last week I got a chance to talk to Vijay Karamcheti and Shridar Subramanian at Virident about their technology and get a preview on what they are up to.
The technology Virident use to improve performance is a third level of memory storage based on Flash. But it goes way beyond just adding SSD disks. To put things in perspective, look at how resources in an average server has developed in the last 20 years or so. We have now something like 1000 times more memory, and 1000 times more CPU performance, but disk performance has increased very little, maybe 5 times, and that is an optimistic number. Note that this is regarding disk performance, available disk storage has increased also 1000 times or so.
What does this mean then? Well disk I/O is an issue, probably the main issue for database performance. Now, database has still gotten faster, a lot so, as we have more memory and can hence cache A LOT more data, which speeds things up enormously. That performance comes from the fact that we can avoid disk I/O.
There are a couple of issues here though:
But if we go back 20 years in time again, when we were then compensating for slow disks put caching data in RAM, there were compromises being done. Fast, and random, RAM access as opposed to slow disk block-level access. But what has happened now is that there is an even bigger gap in performance between size of RAM and disk performance. So can we not fill that gap?
Looking at attributes of the two types of memory we are looking at so far, in case of RAM:
I want to note that there are other ways of solving this problem. One is to do what MySQL Cluster is doing, which is “semi persisting” RAM by synchronous replication between nodes.
As anyone can realize, applications really need to be aware of this “third storage media” that Virident provides to work properly. Virident has a special version of the InnoDB plug-in to handle this. And the known scalability issues with InnoDB are not really present here either, and least to a much larger extent that in “normal” InnoDB, as this is the InnoDB Plug-in with a lot of fixed for this same problem.
And it doesn’t end there. As I wrote above, for the developer this Flash memory has similar attributes to RAM, i.e. it is not a block-level device but random access, and there are no context switching needed! These are the two features that makes this technology stand away from just plugging in SSD disks in any server!
All in all, I’m excited about this, there is a lot of performance potential to gain from this setup. By being able to scale write-performance on a single server to new higher level, means that technologies, in and of themselves good, like sharding, might be needed asmuch anymore. Also, any distributed technology to solve this problem, like MySQL Cluster, has limitations, cache invalidation and distributed locking, none of which makes for high scalability. Maybe Virident technology will be a standard component in any high-end MySQL server eventually?
The technology Virident use to improve performance is a third level of memory storage based on Flash. But it goes way beyond just adding SSD disks. To put things in perspective, look at how resources in an average server has developed in the last 20 years or so. We have now something like 1000 times more memory, and 1000 times more CPU performance, but disk performance has increased very little, maybe 5 times, and that is an optimistic number. Note that this is regarding disk performance, available disk storage has increased also 1000 times or so.
What does this mean then? Well disk I/O is an issue, probably the main issue for database performance. Now, database has still gotten faster, a lot so, as we have more memory and can hence cache A LOT more data, which speeds things up enormously. That performance comes from the fact that we can avoid disk I/O.
There are a couple of issues here though:
- For writes, I still need to go to the disk, independent of how much RAM I have, a disk I/O will still need to happen, to the database or a logfile, but it must happen. The reason is simple. If I put my written and committed transaction in a log buffer in memory, by transaction will not be persisted.
- Caching of databases only helps so much. Once you have cached up, say, 20 % of the data in the database, further caching will improve performance as much. The reason is of course that data access patterns are skewed, they are not evenly spread across the total size of the database.
But if we go back 20 years in time again, when we were then compensating for slow disks put caching data in RAM, there were compromises being done. Fast, and random, RAM access as opposed to slow disk block-level access. But what has happened now is that there is an even bigger gap in performance between size of RAM and disk performance. So can we not fill that gap?
Looking at attributes of the two types of memory we are looking at so far, in case of RAM:
- Is fast and random accessed.
- But RAM is also not persistent. It is this point that makes disks still so important. Having all the database in RAM is actually possible in many cases these days, but this is not useful, as that data will not be persistent.
- Is persistent and has higher capacity.
- But disks are also slow and use block-level I/O.
I want to note that there are other ways of solving this problem. One is to do what MySQL Cluster is doing, which is “semi persisting” RAM by synchronous replication between nodes.
As anyone can realize, applications really need to be aware of this “third storage media” that Virident provides to work properly. Virident has a special version of the InnoDB plug-in to handle this. And the known scalability issues with InnoDB are not really present here either, and least to a much larger extent that in “normal” InnoDB, as this is the InnoDB Plug-in with a lot of fixed for this same problem.
And it doesn’t end there. As I wrote above, for the developer this Flash memory has similar attributes to RAM, i.e. it is not a block-level device but random access, and there are no context switching needed! These are the two features that makes this technology stand away from just plugging in SSD disks in any server!
All in all, I’m excited about this, there is a lot of performance potential to gain from this setup. By being able to scale write-performance on a single server to new higher level, means that technologies, in and of themselves good, like sharding, might be needed asmuch anymore. Also, any distributed technology to solve this problem, like MySQL Cluster, has limitations, cache invalidation and distributed locking, none of which makes for high scalability. Maybe Virident technology will be a standard component in any high-end MySQL server eventually?
/Karlsson
Subscribe to:
Posts (Atom)