|
I've had pretty good experience with MySQL in a heavy, write intensive
environment. Our system monitoring software consolidates system logs
over the network from several machines (maybe 6) to a single larger
computer running syslogd interfaced into MySQL database. Over a two
year period we've logged more than 19 million entries. During busy
times of the day (i.e. maillog is busy from the servers, apache access
log, popper messages, and a massive packet filter log) I've seen
transactions on the order of 80 to 100 per second. The table structure is pretty simple, but then again if you are doing massive volumes of data, it should be simple. I'm able to accomplish pretty good read times for selected queries. However, some queries take upwards of 15 minutes. Most likely that is becuase I'm not fully indexed. (Actually doing that right now; I'll let the list know when I've finished what the times are) Check out some of the following: mysql> desc syslog; +---------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+---------------+------+-----+---------+----------------+ | ID | int(11) | | PRI | NULL | auto_increment | | Machine | varchar(50) | | MUL | | | | FacilityLevel | varchar(25) | | MUL | | | | Date | timestamp(14) | YES | MUL | NULL | | | message | varchar(255) | YES | MUL | NULL | | +---------------+---------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec) mysql> select count(*) from syslog; +----------+ | count(*) | +----------+ | 19253975 | +----------+ 1 row in set (0.00 sec) mysql> select ID, Machine, FacilityLevel, Date, message from syslog order by Date desc limit 10; +----------+------------+---------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ | ID | Machine | FacilityLevel | Date | message | +----------+------------+---------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ | 19253975 | 10.0.0.1 | mail.info | 20030826111023 | sendmail[4599]: h7QG60e04576: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30081, dsn=2.0.0, stat=Sent | | 19253974 | 10.0.0.1 | mail.info | 20030826111022 | sendmail[4599]: h7QG60e04576: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30081, dsn=2.0.0, stat=Sent | | 19253973 | 10.0.0.1 | mail.info | 20030826111022 | sendmail[4576]: h7QG60e04576: from=root, size=81, class=0, nrcpts=1, msgid=<XXXXXXXXXXXXXXXXXXXXXXXXXXx>, relay=root@localhost | | 19253972 | 10.0.0.1 | mail.info | 20030826111022 | sendmail[4576]: h7QG60e04576: from=root, size=81, class=0, nrcpts=1, msgid=<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>, relay=root@localhost | | 19253971 | 10.0.10.50 | kern.info | 20030826111022 | kernel: cipcb3: cipe_recvmsg | | 19253970 | 10.0.10.50 | kern.info | 20030826111022 | kernel: cipcb3: cipe_sendmsg | | 19253969 | 10.0.10.50 | daemon.notice | 20030826111022 | ciped-cb[1536]: keepalive timeout | | 19253968 | 10.0.10.50 | kern.info | 20030826111022 | kernel: Packet log: input ACCEPT eth1 PROTO=17 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX L=300 S=0x00 I=0 F=0x4000 T=43 (#28) | | 19253967 | 10.0.10.50 | kern.info | 20030826111020 | kernel: cipcb0: cipe_recvmsg | | 19253966 | 10.0.10.50 | kern.info | 20030826111020 | kernel: cipcb0: cipe_sendmsg | +----------+------------+---------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ 10 rows in set (0.00 sec) mysql> David Frankson wrote: I'm sure that the open source dbs could handle the read-load of our product, but the write-load kills them. We support teacher period attendance and teacher gradebook scaled up to the mega district (+100k students). If attendance can't be taken at nearly instantaneous times, teachers will have the product thrown out. At that level you need to perfectly optimize the table schema, and index design for the quickest writes possible, and then analyze the locking patterns and query execution paths during a full transaction load. SQL Server's development and optimization tools are unequaled, and their query engine is impressive. I love to rip on Microsoft as much as every other open source user, but SQL Server has earned my respect. Dave ----- Original Message ----- From: "Myles O'Meara" <milo@fullsite.com> To: <schoolforge-discuss@schoolforge.net> Sent: Monday, August 25, 2003 9:26 PM Subject: Re: [school-discuss] Web-based School Administration... On Tue, 2003-08-26 at 11:38, Leon Brooks wrote: --
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Quinn Team Incorporated
Micah T. Quinn - President
(Voice) 281.465.4311
(Fax) 281.465.4434
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|