Not sure what you mean by database of choice. I thought almost all PHP
ran on MySQL and that currently is not iSeries. 
You mean almost all existing PHP programs use MySQL?   I don't know 
about "almost all" but certainly a lot of them do.  PHP supports pretty 
much every database under the sun, but since MySQL is a good, free (open 
source) database, it's very common to use it with PHP.
But if you're the programmer writing the application, why does it 
matter?  You can write to any database you like.
The reason MySQL and IBM are brining MySQL to i5/OS is to make it easier 
for you to download and re-use existing software that was written for 
MySQL.  For example, you might want to run a blog, wiki, or shopping 
cart system on your i5.  Since there are many good, free, ones that were 
written in PHP and mySQL, you can download them and use them in i5/OS.
Since the DB2/400 database will be supported as a MySQL engine, you'll 
be able to use that as a backend (hopefully) so that the same data will 
be available to your native i5/OS applications written in RPG, SQL, 
COBOL, etc. Pretty useful, yes?
Plus, the MySQL drivers for other platforms should enable access to your 
i5/OS databases, which is pretty interesting to me.  Now I'll be able to 
get database drivers for FreeBSD that can get to my i5/OS data... 
again, "hopefully", because I don't know exactly how they'll implement it.
There was also talk about providing access to MySQL for native 
appliations...  though, I don't think I've seen anything "official" in 
that arena.  But, if that's available, my RPG programs will be able to 
query my FreeBSD MySQL database as well.  (Actually, I'm already doing 
that using a JDBC driver, but having a non-Java method would improve 
performance.)
My thinking is that if a vendor has a package running on a Windows
platform, they are going to want to continue to have it run there but
maybe not. 
Since PHP is an interpreted language, the same code they wrote for 
Windows should work on all PHP platforms, other than maybe some minor 
changes to the filename(s).
Though, I think you'll find that most PHP applications were written 
originally for Linux, not Windows.  But, the point is the same, PHP 
applications are cross-platform, much like Java applications.
For example, I decide that I want to have a professionally designed, 
really nice, web site, and I want to run it on i5/OS.   So I go out and 
hire a professional web designer.  They say they work in either PHP or 
ASP, and have never heard of the System i.   No problem, make me a site 
in PHP, and blam, I can run it.
Or lets say I decide I want to make it easy for employees to 
create/modify our company's intranet web site.  So I want a Wiki... 
MediaWiki (the same software that Wikipedia uses) is available and 
written in PHP.  I know it scales well, since Wikipedia has millions of 
users.  It requires a MySQL or PostgreSQL database....   so when MySQL 
is supported, I can download and run MediaWiki and I'm good.
On the other hand, if I have problems and search the Internet, I might 
find that 99% of the help is for Linux systems...  then what do I do? 
At that point, I might say "Why didn't I just run this on Linux to begin 
with?"
So, I don't know that this will bring a lot of new customers to the 
system...  but for existing i5/OS customers, it provides access to a lot 
of applications, and makes it easier for vendors to support the system i 
as a valid platform for their applications.
I would agree that many shops use SQL in some way or another but my
experience is that AS/400 programmers fight SQL like death including my
current shop. 
About 40% of RPG programmers use SQL, according to some (probably 
unscientific) surveys I've seen.  That's not too bad...   Once they're 
in an environment where they MUST use SQL, I think most people will 
learn enough SQL to get by.  I mean, you don't really need to be an SQL 
expert, you just need to do enough SQL to access the data you're looking 
for...
As far as dealing with un-normalized data, I have been through the mill.
I don't know how many occasions I have had to drop back to file I/O
because there was just no way to get to the data through SQL. 
I don't understand this statement.  Even if the data isn't normalized, 
you should still be able to get it via SQL!
Are you confusing normalized data with externally described data?  If 
not, I'm completely lost as to what you're saying here.  SQL can read 
records just like RPG can.  The only restriction I'm aware of is that it 
has to have an external definition of some sort -- and just about 
everyone uses externally defined files today.
 
As an Amazon Associate we earn from qualifying purchases.