In "The J2EE guy still doesn't get PHP", Harry Fuecks suggests that PHP really needs
[someone] to get together and write a detailed paper on how it
works and why PHP scales so we can all live happily ever
after.
I could not agree more.
At the 3rd European Workshop on Aspects in Software
last week, I was confronted with questions that could have easily
been answered by refering to a paper like this. If a paper such
as this existed.
In "Things That Have No Name", …
Greg points out a section which he found interesting in the Google Bigtable paper:
For example, we have seen problems due to all of the following causes: memory and network corruption, large clock skew, hung machines, extended and asymmetric network partitions, bugs in other systems that we are using (Chubby for example), overflow of GFS quotas, and planned and unplanned hardware maintenance.
The partition asymmetry issue should be obvious. If one section of your cluster is too slow you're going to see throughput fall. Hung machines is another. The distributed filesystem I wrote last year (and will eventually opensource once I get time to finish it) handled hung machine situations.
Here are a few more I can think of.
Memory corruption without ECC …
[Read more]Bangalore, India - Webyog announced this week that its widely popular product SQLyog - an advanced graphical client for administration of MySQL databases, will be released under the Open Source GPL license. The first Open Source version (version 5.2 Beta) can be downloaded now from the company?s website: www.webyog.com.
Version 0.1.149 of the innotop MySQL and InnoDB monitor is a major upgrade. As of this version I’m declaring innotop “stable,” meaning I’ve put some work into making it deal with unexpected input. It should be very resistant to any sort of crash now. I originally made it intolerant of unexpected input, because the output of SHOW INNODB STATUS varies so much and was never designed for parsability. Making it die when it couldn’t parse something let me know there was a problem, but it caused many of you pain when you couldn’t keep it running reliably.
I’ve been working with one Proven Scaling customer that has had some interesting issues recently, involving InnoDB corruption, resulting in messages similar to these:
InnoDB: Page checksum 3156980109, prior-to-4.0.14-form checksum 577557610 InnoDB: stored checksum 741279449, prior-to-4.0.14-form stored checksum 577557610 InnoDB: Page lsn 0 2323869442, low 4 bytes of lsn at page end 2323869442 InnoDB: Page number (if stored to page already) 195716, InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0 InnoDB: Page may be an index page where index id is 0 2831 InnoDB: (index PRIMARY of table db/table) InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 195716.
The problem was encountered when testing hardware for a move from software RAID to hardware RAID using …
[Read more]Glom is an interesting graphical database front-end I've been meaning to try out for some time. Someone asked about graphical database front-ends on the #mysql IRC channel recently, and that prompted me to install Glom and learn how to use it. My overall impressions? It lands squarely in the middle of its target audience's needs, but still has a quirk here and there. With a bit of polish it will be a fine product, and it's already a winner over Microsoft Access and Filemaker, two similar programs with which you might be familiar. In this article I'll walk through installing and configuring Glom, a simple database design, a quick peek under the hood, an archaeologist's experiences using it, and give my opinions about Glom in detail.
Starting September I'm leaving MySQL to partner with Peter on practice as well as work with him on some Web projects.
I really enjoyed working under Peter's guidance while working for MySQL and it is great we now can work together as a partners. I thanks MySQL for two great years I had.
I also hopefully will have more time to work Open Source projects. I have number of ideas in mind which we'll now have time to implement. I'm going to implement and adapat several patches that improve MySQL usabalitity and performance.
Finally I will continue work on MySQL and LAMP Performance
analyzes and benchmarks. We need to know how MySQL performs on
different platforms and where bottlenecks are to be able to offer
leading experience in MySQL Performance Optimization.
If you have some wishes what you'd want to see in benchmarks just
let me know.
I already wrote couple of weeks ago I keep most of my systems on MySQL 4.1 still as they will not benefit from MySQL 5.0 features anyway while I do not want to likely loose a bit of performance and possibly deal with new bugs and changes introduced in MySQL 5.0 (You never know where to expect problems, ie some people reported JOIN breaking by upgrading to 5.0). Yes this stuff is in upgrade notes but if you run third party software it does not really help.
Today I had the yet another confirmation new bugs can be added even with minor updates and they could happen even pretty late in the product life time. In this case during 4.1 upgrade which is old stable version which is not as actively changed as 5.0
I upgraded MySQL 4.1.19 to 4.1.21 couple of weeks ago …
[Read more]MySQL has useful extention to the GROUP BY operation: function GROUP_CONCAT:
GROUP_CONCAT(expr) - This function returns a string result with the concatenated non-NULL values from a group.
Where it can be useful?
For example to get PHP array without looping inside PHP:
Table:
PLAIN TEXT CODE:
- CREATE TABLE services (
- id INT UNSIGNED NOT NULL,
- client_id INT UNSIGNED NOT NULL,
- KEY (id));
- INSERT INTO services
- VALUES (1,1),(1,2),(3,5),(3,6),(3,7);
- SELECT id,client_id FROM services WHERE id = 3;
- +----+-----------+
- | id | client_id |
- +----+-----------+
- | 3 | 5 |
- | 3 | …
Yesterday I found out that the MySQL books sold at Foyles in London,
England, were not in the 'Database' section. Instead they could
be found just under and next the Apache and PHP books.
I was rather disappointed. You see a whole rack of Oracle, PostgreSQL,
Firebird,
DB2, .. but
no MySQL where (I guess) most people would first look.
The two guys from Foyles told me that this was already like that
before they got there. It was probably because of the LAMP thing,
one told me, that the MySQL books end up …