Thinking further about Microsoft's FUD campaign to threaten patent lawsuits against customers for using Linux, I was wondering if this isn't really a result of a bigger issue facing the company: Google Envy. As I mentioned previously, Microsoft is competing on several fronts. And while they hate like hell to give up market share to open source that would threaten their cash cow Windows or Office business, the bigger issue for the company is that their core businesses are being disrupted. And Microsoft is in last place when it comes to new online businesses like hosted applications, online search, email, blogging, videos, and music. (Ok, to be fair, Microsoft has come from behind in the past in other markets like gaming and accounting software.) As is the case in many mature markets, their core …
[Read more]
I get the opportunity see a lot of different MySQL Cluster
configurations and most of them does not configure the disk
subsystem in a good way. E.g, the redo log is way to often not
correctly dimensioned. Wrongly dimensioned buffers affects system
stability!!
There are also some buffers related to communication and disk,
that is important to setup. At the end here you will find a good
configuration template that you can use, but first we will have a
brief discussion about the disk
Configuring the disk
In MySQL Cluster, it is very important to dimension the redo log
properly in order for System restart and Node restarts to work.
In MySQL Cluster, the redo log must be large enough to accomodate
changes that happens over three Local Checkpoints (LCP). When the
third LCP has been written, then the redo log can be recycled.
The LCP is the image of the DataMemory which is written to disk,
so if you …
Well this is going to be a short blog post that will not really manage to summarize all the experience on my San Francisco, Santa Clara, San Francisco, Austin, Tampa, Boston, Chicago, Zürich, Berlin, Güstrow, Berlin, Zürich round trip I was on for the last 4 weeks. But anyways, I wanted to mention that the slides from php|tek are now linked in the slides section.
I did a talk on various strategies of how to bridge relational databases and object-oriented programming. In retrospect I should have submitted this as a "double feature" talk, so that I could cover more ground on the actual using of the existing packages in the PHP space.
The other talk was on database locking. I think the biggest eye opener for people in that talk was about how MVCC, found …
[Read more]I generally find MySQL Sever sufficiently tested, meaning at least minor version upgrades rarely cause the problems. Of course it is not perfect and I remember number of big issues when some releases could not be used due to behavior changes in them and when something had to be rolled back in the next release.
But generally I think MySQL is doing much better than a lot of other projects in this respect.
Major version upgrades become more painful recently. In MySQL
3.22->3.23 upgrades or 3.23->4.0 upgrades you really could
just swap binary and try out new version and if you need to get
back you just swap binaries to the old version. I think it was
great.
In MySQL 4.1 and later more caution is required because you could
screw your data, for example by specifying utf8 as default
character set together not to mention infamous timestamp format
change which forced to change a lot of applications.
MySQL 5.0 added more …
I know Alexa is very controversial and we don't like to compare
with Flickr, but...
Blue: Fotolog
Red: Flickr
Green: Bebo
We reached 8 million members recently (7 weeks from 7 million)
and are currently ranked 18th on Alexa (yeah, I know it jumps
around :)).
I added bebo because rumor is that Yahoo! wants to grab it for a
cool billion.
The value of timely information regarding maintenance releases, including specific information of what bugs have been fixed and when and where to get the upgrade, proves very compelling for those DBAs and developers with little to no bandwidth. The good news is MySQL Enterprise takes the guesswork out of deciding which version of the MySQL server you should be running by providing regularly scheduled Monthly Updates and quarterly Service Packs for the Enterprise Server.
In the process of upgrading my desktop installation of MySQL I
noticed that, unlike triggers, stored procedures are not
automatically dumped, that's a "not so nice" feature of
mysqldump, sic, here is a snippet for those who don't have time
to check the manual
C:\Documents and Settings\user>mysqldump -uroot --single-transaction --routines
--databases test remote_test > c:/backup_mysql_20_05_07.sql
-- routines does the trick.
--single-transaction is InnoDB specific for a consistent backup
(doesn't apply to MyISAM and other table handlers)
--databases is used because I want to backup only a specific
number of databases
Note that after MySQL 5.0.11 triggers are dumped automagically
(option enabled by default), use --skip-triggers if downgrading
your table structure.
Note also that before 5.0.11 triggers were not dumped and
routines had to wait till 5.0.13 …
From the recent MySQL Conference a number of things resonate
strongly almost daily with me. These included:
-
Guy
Kawasaki - Don?t let the bozos grind you down.
- Boy, the bozos have ground me down this week. I slept for 16 hrs today, the first day of solid rest in 3 weeks.
-
Paul
Tuckfield - YouTube and his various caching tip insights.
- I’ve seen the promising results of Paul Tuckfield’s comment of pre-fetching for Replication written recently by Farhan.
- …
Check the forum announcement for more information installation instructions and compatibility notes.
Please report any issues and/or feedback at the Virtual Appliances Discussion Forums (forums.virtualappliances.net).
LAMP
http://virtualappliances.net/download/archive/VirtualAppliancesLAMP-xen-1.0.113.tar.bz2
http://virtualappliances.net/download/archive/VirtualAppliancesLAMP-xen-1.0.113.zip
Cacti
…
[Read more]For the mysql-proxy I'm exploring several ways to write a small SQL parser for the internal commands. As I want to use basic SQL to modify the config and the internal operations I need a parser. Some time ago I used lemon which is used in sqlite3, which is easier to use than yacc, but you still have to write the lexer/tokenizer.
This time I looked into ragel which is a state-machine compiler.
Time get rid of code like this:
....
} else if (0 == g_ascii_strncasecmp(s->str + NET_HEADER_SIZE + 1,
C("update proxy_config set value=0 where option=\"proxy.profiling\""))) {
....
Ragel is a bit different than lex/yacc. Ragel combines the two into one and builds a full state-machine for the input stream. Just one file, one state-machine for the parser and lexer.
%%{
machine sql;
SELECT = /SELECT/i;
FROM = …
[Read more]