Hello,
Looks like Martin Skold's article on MySQL Cluster's
implementation of ALTER TABLE is finally up.
Check it out at: http://dev.mysql.com/tech-resources/articles/mysql-cluster-50.html
Also, looks like the body of my last post on the NDB API
documentation got truncated, here it is again...
In the event you missed the announcement on one of the MySQL
distribution lists from Stephan...
As part of the effort of making MySQL Cluster a more mainstream
product, it's been on our agenda for a very long time to rewrite
the NDB API documentation so that it becomes usable by mere
mortals. It took nearly three months to do this, because the new
documentation is almost 300 pages long! The MySQL NDB API Guide
covers two low-level APIs for writing applications that work with
MySQL's NDB …
Brian Aker recently published good write up about using MySQL replication. The piece I find missing however is good description of warning about limits of this approach as well as things you need to watch out for. You can call me person with negative mind but I tend to think about limits as well. So what would be my list of limits and watch outs in this case ?
- Limited write scaling. As Brian writes this works best for read intensive envinronments. Write scaling however can be real problem. Not moderate increase of write ratio can dramatically reduce performance but you also need to watch out for slave being able to keep up at all. Remember writes to slave are serialized so if you master happens to be 8 core system with 20 hard drives you may be in trouble even if writes only consume 10% of resources as almost only one core and only one disk will be …
[Read more]Igor is doing great work on moving forward the XML based database schema format originally developed by Manuel Lemos as part of Metabase that is used in MDB2_Schema. The idea is to add the ability to also handle UPDATE and DELETE statement next to the currently supported CREATE, DROP, ALTER and INSERT statements. This format is even supported by DBDesigner4 and the DatabaseSchema ez component. For the uninitiated if you: The idea behind this schema format is to make it possible to define a single database schema that can be used to create, alter and initialize databases in any number of RDBMS. For example currently MDB2_Schema supports MySQL, PostGreSQL, Oracle, SQLite, MS SQL Server, Interbase/Firebird.
While Igor and I were discussing things we discovered that we …
[Read more]
If there is a common method of scaling with MySQL databases it is
the
Read Replication Cluster solution.
Most websites start out with a single database and grow from
there.
If the site's content is being generated from their database
then
they will eventually hit a wall with reads from the database.
Tuning
and hardware will buy you some growth but in the end disks spin
only
so quickly. Luckily most websites are predominantly read
intensive
and for this reason replication will solve scaling problems for
many
people. Replication is a means by which MySQL sends updates of
one
database to one or more databases which will act as a slave.
These
changes are atomic, which means the changes are applied in full.
No
row will ever be partially updated, and no transaction will be
seen
on the slave that did not commit on the master
Make a change in the …
It is always nice to be able to say a system "performs well", is
very "reliable" or is "scalable". But what do these terms
actually mean?
One of the primary goals of my research on SQLbusRT is finding
formulas which can predict the performance, reliability and
scalability of the system under development, looking at the
scenario it is implemented in.
Ofcourse saying "good performance", "very reliable" and "yes it
is scalable" does not suffice. The formulas should provide a
meaningful outcome, which is comparable to other outcomes.
I might not be clear to everyone. Let me give an example, using
something we always like to talk about: the weather.
We can say the weather is good or bad today, but that is just a
personal opinion. If we want to compare todays weather with the
weather of tomorrow for instance, we need numbers. We can give
useful information on the weather by giving:
I've never been all that interested in solving small problems.
Small problems with scaling are resolved with single indexes,
upgrades to hardware, or simply creating a bigger pipe.
When the measure of the Internet was a T-1, you could flood the
network with the average 486. At the time I watched people buy
hardware in the hundred's of thousands, and sometimes more, which
never went used. Today's hardware is overkill for a lot of
applications, so the first step in scaling is often tuning the
hardware that you have already purchased. Make use of what you
already have.
The "Slashdot Effect" is a perfect example of what is normally a
small problem. What is the Slashdot Effect? Point tens of
thousands of eyeballs at a website and watch it crash. The root
cause of this? Most of the time it is because the site operator
had their Apache max connections set to some ridiculous number.
Users would bring the site down because there …
You may have noticed the new link on dev.mysql.com to the
MySQL GUI Tool Download.
This bundle includes new beta versions for MySQL Administrator,
MySQL QueryBrowser, the MySQL MigrationToolkit and a new alpha
version of MySQL Workbench. All these GUI products are supposed
to be offered in one single package in the future.
To get all details, read Mike Zinner's Announcements in the
forum:
http://forums.mysql.com/read.php?108,100559,100559#msg-100559
http://forums.mysql.com/read.php?108,100561,100561#msg-100561
Needless to say, Feedback and Bug Reports are very …
Sometime last night the crawler computed the keywords from last
week. Same goal for stats as last week, take 250K of non-spam
URLs for RSS and pull the contents for the week. Very error prone
for aggregation sites, but ok for people who don't post enough to
scroll their RSS feed. I am starting to factor out the
aggregation sites and just pin point articles written by original
authors.
The results:
Word: Linux: 4870
Word: PHP: 1971
Word: MySQL: 1099
Word: Perl: 992
Word: Apache: 940
Word: Ruby: 852
Word: APR: 800
Word: Python: 790
Word: Asterisk: 111
I have page refreshing results that I look at while the parsers
are running. Python and Ruby play a game for a while of "who is
first for the moment", with Ruby winning in the end. I am going
to extend out the stats to flatten any cases of people "over
using" any term, and I have some weighting …
SciBit has released update MyCon
MySQL GUI v2.10 today. This is primarily a bugfix and existing
feature enhancement update for v2.9.x. In short, it contains all
the fixes which SciBit could already release without having our
customers wait for the upcoming MyCon
version 3.0 release:
* Add: Alt+C combination on any grid cell to NULL the column
value of the record.
* Fix: Column Editing for MySQL >5.0.15.
* Fix: Queries now prompt before overwriting existing SQL
queries
For more info on improvements made in earlier versions, see
v2.8.1
v2.8
…
I'm visiting with some of my young nieces and nephews today. They're between the ages of 9 and 12 and they are all Habbo Hotel power users. (Their parents thought it was "Hobbit Hotel" so I guess they are not power users!) If you don't have young kids or nieces and nephews, you may not know it, but Habbo Hotel is virtual meeting place and game environment for teens. They can buy, sell and trade furniture to create rooms in their hotel. It's run by Sulake Corporation of Finland which is one of Europe's fastest growing technology companies.
Habbo Hotel runs on a LAMP stack using MySQL 5.0 with databases that range from hundreds of Gigabytes to Terabytes in size using a mixture of transactional and non-transactional storage engines. They achieve performance levels of tens of thousands of events per second scaling out with dozens of multi-CPU …
[Read more]