NYCPHP Meetup

NYPHP.org

[nycphp-talk] Scaling LAMP Architecture

Hans Zaunere zaunere at yahoo.com
Thu Oct 10 18:33:02 EDT 2002


--- Oktay Altunergil <nyphp at altunergil.com> wrote:
> You might not know it yet, but you're very lucky :)
> 
> I'm kind of in an opposite situation right now, moving away from PHP
> & MySQL and towards .NET & MS SQL.

You'll be back :)

> I think the question you need to ask yourself is this.
> 
> Are they really trying to migrate as much of their stuff as possible
> to Linux and MySQL? The reason I'm asking is this. If this accounting
> package will be a standalone system and not need to communicate with
> other systems, then you might as well do it using ASP and MS SQL.
> (though I would recommend using PHP anyway, regardless of the
> database)
> 
> If you will need several systems to talk to each other in the future
> and there's a trend in the company "for various reasons" to migrate
> to linux, then you should try to consolidate as many of your systems
> as possible on linux. This will make communication between the
> systems much easier and your SQL queries much simpler.
> 
> As for your questions about whether MySQL can do the job.. .. MySQL
> has a very simplistic way of doing things.

Which falls inline with the UNIX adage "do one thing, and do it well."

> This is not necessarily
> inferior. Backups and restores are extremely easy to do and there are
> multiple ways to do it. (SQL dump vs actual data files). IMO, you are
> all right as long as you take periodic backups and run a stable
> kernel on your OS. (I recall something about a data corruption issue
> with some kernels)

While there were kernel issues, there are still issues with GCC.  This
is why MySQL lists it's source last, and recommends their binary
distributions, as came up in another thread.  Older/newer versions of
GCC fix this, and FreeBSD has never had any problems that I've seen.

> On Thu, 10 Oct 2002 17:00:02 -0400
> Anthony Tanzola <tanzola at rcn.com> wrote:
> 
> > Greetings!
> > 
> > I have just joined the list and find this topic interesting.  I am
> > a VB/ASP programmer and have to this point used both in conjunction
> > with MS SQL Server 7 with successful results.
> > 
> > My company has asked me to develop an accounting package for them
> > and once it done using CGI or PHP and MySQL (despite the fact that
> > we own a full license to MS SQL Server) as they are migrating from
> > Microsoft to Linux for various reasons.

Good :)

> > I have many hesitations using MySQL as a back end for an accounting
> > program. Access to the database will be at a maximum of 3 people at
> > any given time, so server load should not be too heavy.  Eventually
> > I may have 20 people connecting to an orders database tied in.

No problem - you won't even need persistent connections with MySQL.

> > So my question is, aside from the small user loads and performance
> > related issues, is MySQL reliable for handling such critical
> > accounting data?

It has been with us, with far more than 20 users.

> > Things that scare me are lack of referential integrity, lack of
> > transactions, backup and recovery.

These are not lacking at all.  It all depends on implementation.  I'm
of the idealogy that DBs are for storing data, and that programming
languages are for everything else.  While MySQL does lack some SQL
bells and whistles (which are being addressed in the
not-too-distant-future), it's a different beast than the Oracles and
DB2s of the world.

MySQL is designed for fast and effeceint access and simple maintenance
- as I noted in one of the AMP Intro presentations, a "SQL-enabled
filesystem."  That said, it is used in many large/"enterprise"
situations, with great success:

http://www.mysql.com/press/user_stories/index.html

The yahoo finance story is very interesting, and Jeremy is an asset for
tuning and tips.

So what does thousands of dollars for Oracle/etc get you?

1) Someone to blame, besides your self, when it breaks. ("Hey, I'm
using Oracle, it's not my fault").

2) From a techical standpoint, Oracle is very forgiving.  Bad
applications and implementations can be written, and if given enough
hardware/money, they will run.  Not so with MySQL.

3) MySQL depends on good design, implementation, and in the end,
thought.

4) Most importantly:  When you pay the money for Oracle, you're buying
what boils down to thought.  When you download MySQL for nothing, it's
up to you to do it right.

I've seen Oracle die on 200 connections, and MySQL hum on gigabytes of
data.  And MySQL die with a crazy join and Oracle squeak by with enough
RAM.

They're different animals, better suited for different applications,
but most of the work I've seen, can be done on MySQL with proper
design.  Lastly, don't forget that Oracle has had billions of dollars
and millions of man-hours dedicated to it - MySQL is the new kid on the
block.

H



=====
Hans Zaunere
New York PHP
http://nyphp.org
hans at nyphp.org

__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com



More information about the talk mailing list