Hi,

        I've been using MySQL intercompany for a while now with great results.  Even 
the diehard MSSQL people are amazed at how fast it can be at time.  One of the things 
I use it for is to store syslog events in it.  I wrote a backend that parses a syslog 
file as data is being written into it and does multiple things with each syslog entry 
depending what the entry contains.  When I'm done with it the syslog entry goes into a 
MySQL database where I can store the data and let the operations team access it 
through a PHP enabled webpage to see either what is going on in the system real-time 
of be able to do queries about certain hosts, processes or show some stats (what 
happened to machine x on date y and what processes were running on it, etc...).
        The MySQL database is being hosted on a Dell Precisions 540 workstation box.  
It's a P4 1.7GHz Xeon with 512MB of ram and a 40GB IDE disc running Windows 2000 
Server.  That MySQL database is also being used for other things (nothing too 
intensive) and I muck around with it also and use it as a test db.  The machine also 
handles webserving chores and runs backup chores and other operations related tasks.
        The database only holds about 1 months worth of data in it, the rest we don't 
really need but we keep around for a while outside of the db zipped up.  As of when 
I'm writing this there were about 18.7 million entries in that table:

mysql> select count(*) from notifications;
+----------+
| count(*) |
+----------+
| 18711190 |
+----------+
1 row in set (0.00 sec)

All these entries have been accumulated from December 1, 2002 till present day:

mysql> select distinct syslogdate from notifications order by syslogdate;
+------------+
| syslogdate |
+------------+
| 2002-12-01 |
| 2002-12-02 |
| 2002-12-03 |
| 2002-12-04 |
| 2002-12-05 |
| 2002-12-06 |
| 2002-12-07 |
| 2002-12-08 |
| 2002-12-09 |
| 2002-12-10 |
| 2002-12-11 |
| 2002-12-12 |
| 2002-12-13 |
| 2002-12-14 |
| 2002-12-15 |
| 2002-12-16 |
| 2002-12-17 |
| 2002-12-18 |
+------------+
18 rows in set (12.95 sec)

        Notice it took almost 13 seconds to complete that last query.  I tried this on 
a MSSQL server and after 2 minutes I turned the query off.  That kind of performance 
was unacceptable for a webapp that uses a database that does real time queries.  I'm 
quite happy with the performance of MySQL and I just love to see the MSSQL guys 
retreat when I show off how fast some queries can be (they always strike back with 
transactional stuff, blah, blah, blah :)  Anyway, I would suggest you use Linux for 
your dbserver with some kind of journaling file system.  I would go with ReiserFS 
because if memory serves correctly it can handle files up to 4 terabytes but you might 
want to double check since I'm quite forgetful with facts like that :)  I would also 
recommend the fastest SCSI drives you can find.  When I do queries in any 10 million+ 
database I barely get any CPU activity but I get A LOT of disk activity and I think 
this IDE drive is holding MySQL back.  When I have time I'm thinking about moving this 
database/webapp beast onto a SCSI Linux box and see how well it performs.  I think 
you'll be very pleased with the performance you'll get out of MySQL.

-Pete

P.S.: Thanks again MySQL team :)

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to