Open source vendors should focus on value delivered, or risk
entering the spiral from paying customer to free user. READ MORE
On the cluster mailing list (cluster@lists.mysql.com , thread "slow
selects") there was recently a very good example of how to
optimize queries on Cluster. Thanks to Nick Keefen for raising
this problem and Jeff Sturm for the answer how to solve it!
In short the problem is that the Optimizer in the MySQL server
does not get adequate statistics from the data nodes about table
sizes, indexes etc. This makes the Optimizer clueless in some
cases how to order tables in joins, and also in some cases which
is the best indexes to use.
So here is the problem that Nick highlighted:
When the tables are stored in MyISAM:
mysql> SELECT v.vid_id, v.vid_title, u.user FROM phpfox_user
AS u JOIN phpfox_videos AS v ON(v.vid_userid = u.id) limit
3;
3 rows in set (0.32 sec)
phpfox_user is about 100000 rows and …
HW configuration:
Server A: v20z Server(CPU: 2x2193 Mhz, Memory: 4032 MB)
Server B: x4150 Server(CPU: 8x2826 Mhz, Memory: 16384 MB)
SW configuration:
MySQL5.1.24-rc, MySQL proxy 0.61, Amoeba for MySQL 0.31, DBT2 for MySQL
OS versions: Solaris Nevada snv_91
Test: MySQL DBT2 Test using Amoeba For MySQL
amoeba configuration and query routing rule:
#cat amoeba.xml
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">
<amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/">
<server>
<property name="port">2066</property>
<property …
[Read more]HW configuration:
Server A: v20z Server(CPU: 2x2193 Mhz, Memory: 4032 MB)
Server B: x4150 Server(CPU: 8x2826 Mhz, Memory: 16384 MB)
SW configuration:
MySQL5.1.24-rc, MySQL proxy 0.61, Amoeba for MySQL 0.31, DBT2 for MySQL
OS versions: Solaris Nevada snv_91
Test: MySQL DBT2 Test using Amoeba For MySQL
amoeba configuration and query routing rule:
#cat amoeba.xml
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">
<amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/">
<server>
<property name="port">2066</property>
<property …
[Read more]
|
As announced by Stefan Hinz, our tireless documentation leader, we are using a new system for MySQL University. With DimDim, we can have more fluid and interactive presentations. Unlike the previous homegrown system, you don't need to download the slides, which will be shown to you by the presenter. There is no sound delay, and attendees can interact with the presentation by (integrated) chat and by graphical tools. | …
Initiated by a question on the forum I took some time to exercise my Workbench-Scripting-Knowledge. The question was, if it’s possible to do some figure-arrangement/organizing via scripts. To be more precise, the task I had to master was to get tables that have names starting with a given prefix moved into a new layer using scripts.
The function to create a new object - layer in this case - was an
easy one. All you have to do is to use the function
grtV.newObj(”workbench.model.Layer”). This function returns a
handle to the created Layer. Finally, set the visual properties
(color, position) and most important, the owner has to be set to
the containing Diagram-object. Last step is to add the layer to
the “layers” property of the Diagram-object.
The second step, which i put into a separate function, is to ask
the user for the prefix to filter the desired tables/objects that
should get grouped onto the new layer. Next, loop …
WaveMaker's CEO provides tips for aspiring open-source startups.
READ MORE
Last week I attended an incredibly intense conference in
Lalandia, Denmark: Miracle Oracle Open World. According to Mogens
Norgaard, the organizer, the conference devotes 80% of the
time to intense discussions of Oracle databases and 80% of the
time to drinking. During the festivities you get this dim mental
image of what it would have been like if Vikings had access to
16-core machines and advanced database software. But I
digress.
Anyway, Lalandia is located on just that kind of spare, beautiful
coast that clears the mind to look for fundamental truths. And
sure enough, a talk by Carel-Jan Engel, nailed one of them: simplicity is
the key to availability.
At some level we all …
Few months ago I’ve switched one of our internal projects from doing synchronous database saves of analytics data to an asynchronous processing using starling + a pool of workers. This was the day when I really understood the power of specialized queue servers. I was using database (mostly, MySQL) for this kind of tasks for years and sometimes (especially under a highly concurrent load) it worked not so fast… Few times I worked with some queue servers, but those were either some small tasks or I didn’t have a time to really get the idea, that specialized queue servers were created just to do these tasks quickly and efficiently.
All this time (few months now) I was using starling noticed really bad thing in how it works: if workers die (really die, or lock on something for a long time, or just start lagging) …
[Read more]