Pascal,

could you describe what indexes you should have on the data, and
how you will add to it and delete from it?

>In order to choose a DBMS, i've to check to MySQL is able to support our
>requirements. I've got to manage one database.
>This database is made of one table.
>This table will grow very quickly (we evaluate that we'll have to make
>arround 1.000.000.000 inserts per day). 

Do you really mean one billion inserts per day? 1000 million inserts?
If the row size is 100 bytes, you will get new data 100 gigabytes
per day. If you have a terabyte of disk, you can only fit 10 days'
data in it.

>I want to be sure that MySQL is able to manage table bigger than 1 TeraOctet.
>Does anyone have already use in similar condition ? 
>I read that innobase table allows to store a table on several oracle-like
>"tablespace"  that can be created on several disks. I think we can put the
>indexes on other disk too (using symbolic links). 

An Innobase tablespace can span 4 billion database pages, that is,
64 terabytes with the default page size of 16 kB.

A single file of a tablespace can currently hold 2 GB or 4 GB
depending on your OS. You would need some 500 data files in your
tablespace.

You cannot currently instruct Innobase where to put your data
and index trees (all go into the same tablespace). But, if your table
is so huge, both the data and the indexes will lie on several disks,
since a single disk can store max 80 GB of data today, I think.

If you have 1 billion insertions per day, that is 12 000 inserts per
second around the clock. The CPU usage of Innobase would allow
you to do this many insertions. The problem can be the communications
overhead between your client process and the MySQL server. It might
use even 100 microseconds per insert. You can reduce this overhead by
using the multiple INSERT INTO ... VALUES (...), (...), (...)
insertion syntax of MySQL.

Another problem is the number of disks you need: if you have to make
12 000 random insertions per second, you need a disk farm of
some 200-500 separate disks. The operating system will use some CPU
for each disk i/o. If you have to read and write 12 000 16 kB pages
each second, you need a bandwidth of 400 MB/second in your disk
channel. These numbers are similar to the largest TPC-C benchmarks
run today. The hardware will be expensive. You can look at
www.tcp.org, where you find descriptions of the benchmark systems
and their prices.

>I would like to know what are the requirement to store so much records. 
>Does anyome have reference of site that manage a table bigger than 1 tera ?

The largest databases in the world are of the order 4 - 40 TB.
I think many of them use Teradata database machines. Some use
Oracle.

>Did someone try that ? I hope it's possible.
>Otherwise, i'll to choose Oracle :( and Oracle is not cheap. Regards,--

MySQL/Innobase may be able to do what you need, but we should have
a real-world test of using a big disk farm. I do not know if any
MySQL user uses a disk farm. Maybe Jeremy Zawodny knows?

Regards,

Heikki

>Pascal ThiventGroupe SQLIWeb :  <http://www.sqli.com/> http://www.sqli.com 
>Mail :  <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED] : +33 (0)1 55 93 25 39


---------------------------------------------------------------------
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