Hi,
the database I would like to managed is constitued by one table.
This table is made of 3 columns, with no primary key
mysql> CREATE TABLE test (
id1 int(8) unsigned,
id2 int(4) unsigned,
id3 int(4) unsigned
);
mysql> CREATE INDEX idx_id1 ON test (id1);
mysql> CREATE INDEX idx_id2 ON test (id2);
mysql> CREATE INDEX idx_id3 ON test (id3);
We use 3 indexes because our benchmark shown that it's better than an index
on the 3 columns for our application.
mysql> desc test;
+-----------------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-----------------+------+-----+---------+-------+
| id1 | int(8) unsigned | | MUL | 0 | |
| id2 | int(4) unsigned | | MUL | 0 | |
| id3 | int(4) unsigned | | MUL | 0 | |
+-----------------+-----------------+------+-----+---------+-------+
Here are the request we make on this table :
SELECT COUNT(*) FROM test WHERE id1=? AND id2=?;
SELECT COUNT(*) FROM test WHERE id1=? AND id=2=? AND id3=?;
INSERT INTO test (USER_ID, FLIGHT_ID, FLIGHTOBJECT_ID) values (?,?,?);
The row size is 16 bytes. So we'll get 16 gigabytes of datas per day (it
will be around 10 gigabyte in reality because only 66% of the request need
an insert).
The table is going to grow until we'll drop it (because of storage
limitations). 10 days of lifetime for our datas will be enough :)
We make no update in order to be very quick.
> -----Message d'origine-----
> De: Heikki Tuuri [mailto:[EMAIL PROTECTED]]
> Date: samedi 24 mars 2001 15:31
> À: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Objet: Re: size limitation
>
>
> 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