I get this question allot, and my response is "it depends",
people rarely like this general response. To pick a storage
engine, the user must understand the gains and losses of using
the storage engine, basically understand what INNODB and MYISAM
do, and how they behave under different load patterns.
When picking a storage engine I go through a checklist-below is a
quick list to get an idea of the thought process.
Do you require transactions?
If yes use INNODB else you may still want to use INNODB?
Are you doing a lot of big queries that Scan 20-30% of the
rows?
If yes use MYISAM. It's better at doing large queries where the
query requires a full table lock. INNODB will lock each row as it
scans through it which hurts query throughput.
Are you building an app to store 1 row and access said row really
fast and at a high concurrency?
See …
A pair of open source aficionados are using open source to help school children build computer skills; find out how you can help. READ MORE
Eric of Proven Scaling commented on a lack of IRC action in the normal mysql channels today when he visited the #drizzle channel on irc.freenode.net.
ebergen: I'm still in #mysql-dev and #planet.mysql but they are hardly active these days [1:51pm] rbradfor: ebergen: funny, #drizzle is where the action is. [1:51pm]
There is active movement on the Drizzle project. Why is this? Well, I think most importantly is that there is active contribution from the community, at least 5 different companies and more individuals are pushing code to Drizzle, and it’s being accepted and incorporated. Something you can not say about the MySQL Community branch.
As I write this, there are 35 active people on the #drizzle channel now, and 137 members of the …
[Read more]I use Maatkit for a lot of grunt work and thought you might appreciate this quick tip. Suppose you have a bazillion tables to convert from MyISAM to InnoDB, but they are mixed in with other tables that are already InnoDB, or are another storage engine that you don't want to touch.
PLAIN TEXT CODE:
- mk-find <db_name> --engine MyISAM --exec "ALTER TABLE %D.%N ENGINE=INNODB" --print
Here's a bonus tip, while I'm at it. I had a client a while back whose application creates tables as needed, so they had about 90,000 tables in a bunch of different databases, all named things like user_123_456_friends. I wanted to add an index to them -- but not to the ones named friends_123_456_user.
PLAIN TEXT CODE:
- mk-find <db_name> --tblregex '^user_\d+_\d+_friends$' --exec 'ALTER TABLE %D.%N ADD …
In the current API when sending one takes the Transporter mutex
and
then sends all the signals generated towards one or many
nodes.
There is also some handling of adaptive sends, however this
adaptive
algorithm takes care of all nodes, thus waiting for sending is
global
on all nodes.
The new design uses one mutex for the sending, however this mutex
only
controls the sending part of one socket. Also the time for
holding the
mutex is just enough to check the state, no send operations are
done
while holding the mutex.
The new adaptive algorithm will keep track of the last sent
messages on
this socket and in principle the idea is that if it's at least a
90-99%
probability that it is a good idea to wait, then it will wait
(unless
the application has provided the force send flag). It will do so
by
keeping track of the last few messages sent. …
Kickfire is one of the coolest open-source (based) companies to launch within the last few years. Today, it announced that it has raised $20 million in series B funding to tell the world about what it's doing.
What does Kickfire do? From a business angle, it has figured out ...
Just a few short years ago, there was one open-source hosting service worth considering: Sourceforge.net. It was by no means perfect (Alfresco's analytics, for example, have been down for over a month on Sourceforge, with no apparent urgency to fix the problem), but it was good enough, free, and everyone else used it.
Today, there are multiple options, including Google Code, Microsoft CodePlex, CodeHaus, GitHub, and, interestingly, Canonical's Launchpad.
Yes, Launchpad. Launchpad is the brainchild of Mark Shuttleworth's Ubuntu team, but it has aspirations beyond hosting the Ubuntu code, aspirations that recently attracted MySQL to move its code over to the Launchpad service.
I don't recall Launchpad …
[Read more]I was there in the meetup and my feeling was a mix about the same. It was nice to have Kaj here (for the first time) and listen to him about Sun's acquisition. On the other hand it was disheartening to see so few people from corporates turning up. It was almost negligible. I'm still positive on this and do expect many more people to turn up. There were a total of three talks in the meet and then we had some chit chat with people.
In his first talk, Kaj first greeted everybody in Hindi, Tamil and Kannada and many were delighted. Kaj touched various aspects of Sun's acquisition and also their on-boarding struggle. He also mentioned about MySQL considering Sun's liberal SCA in place of their stricter CLA. (I haven't gone through SCA to actually comment on it's benefits)
Second talk by Thava was on how to contribute code to …
[Read more]
Some time ago, with the help of Patrick Crews, I built a sample
database for testing.
Now this database is published as a stand-alone project on
Launchpad.
What's special about it?
Unlike the previous databases used in MySQL documentation and
tutorials, this database has some weight. The total data is over
160 MB, distributed across 6 table, for a total of about 4
million records. It is not huge, but it is large enough to be
non-trivial.
The second important feature is that this database comes with a
test suite. This will allow you to make sure that you have loaded
the right data.
Getting startedUsing the sample database is trivial.
Open the test db downloads page and get the current
…
This MySQL event with Kaj Arno was well received. Kaj talked about the product, from different aspects, both technical and business with bit of short history, how the community could contribute, how safe MySQL at the hands of Sun, etc. It was very engaging and informative.
In his typical style of localising presentations beyond english , he started the presentations with speaking couple of sentences in few local languages: Kannada, Tamil and Hindi. The audiences were pleasantly surprised and this received huge applause.
I talked about specifically how to contribute code to MySQL-- how to get started with a focus to contribute code. I put lots of urls through out the presentation and I promised to make the slides available through my blog. Here is the slides uploaded to slideshare.net :
…
[Read more]