$Id: limits.txt,v 1.8 2003/08/14 07:46:33 alec Exp $

Kady system ma ograniczenia. Pewne wynikaja z uytego silnika SQL (DBMS)
inne za z zaoe [prawie] wiadomie podjtych przez developerw.

Nasz system takowe posiada:

1. Wynikajce z naszego projektu:

Ilo pienidzy (tabelka cash), pieniki (od lms-1.1) przechowujemy jako 
32 bitow liczb cakowit, i w zwizku z tym za 8 lat bdziecie nas nie 
lubi posiadajc okoo 5000 uytkownikw.

2. Wynikajce z uywanego DMBS:
  a) mysql:
Rozmiar bazy danych:

Jak mwi dokumentacja do mysqla (rozdzia: Table size, paragraf "How Big Can
MySQL Tables Be?"), MySQL wersja 3.22 by ograniczony do 4 GB na tabelk.
W wersji za 3.23 zostao to podniesione do 8 milionw terabajtw (czyli
2^63 bajtw). Jednak warto zauway e rne systemy operacyjne maj
limity nakadane przez systemy plikw, np:

FreeBSD	4.7, Intel 32 bit 		4 GB
Linux-Intel 32 bit 2.2.x, ext2	  	2 GB
Linux-Intel 32 bit,2.2.x ext2 z LFS    	4 GB
Solaris 2.5.1  	        		2 GB (4GB z atk)
Solaris 2.6     	       		4 GB 
Solaris 2.7 Intel      			4 GB
Solaris 2.7 (UltraSPARC) 		512 GB

Ilo rekordw:

Prawdziwe informacje na temat limitw uzyskamy dopiero po wydaniu polecenia:
(w interpreterze polece mysql)
mysql> show table status;

Patrzc na np tabel cash (bo ona cierpi na stae i najwiksze przyrosty
danych, statysyki z dziaajcego wdroenia LMS do sieci okoo 50 uytkownikw,
po okoo p roku, mysql 3.23.55, FreeBSD 4.7-RELEASE):

...| Avg_row_length | Data_length | Max_data_length | Index_length |
...|             44 |       24136 |      4294967295 |        19456 |
Patrzc tutaj:              ^^^^^        ^^^^^^^^^^
   
Zauwaymy e miejsca wystarczy na okoo 175 000 razy tyle ile mamy 
aktualnie wpisw w tabelce. (czyt.: moesz spa spkojnie, chyba e 
planujesz posiadanie ponad 100000 uytkownikw :-)

 b) PostgreSQL 
 
Rozmiar bazy danych:

PostgreSQL zapisuje dane w porcjach po 8 kB. Liczba tych blokw jest 
ograniczona do 32-bitowej liczby cakowitej ze znakiem, dajc maksymaln
wielkoc tabeli wynoszc 16 terabajtw. Z uwagi na ograniczenia systemw 
operacyjnych dane przechowywane s w wielu plikach o wielkoci 1 GB kady.

Ilo rekordw:

PostgreSQL nie narzuca ograniczenia na liczb wierszy w dowolnej tabeli.
Jednak funkcja COUNT zwraca 32-bitow liczb cakowit, a zatem dla tabel 
zawierajcych ponad dwa miliardy wierszy wynik tej funkcji bdzie 
nieprawidowy. (Informacja dot. PostgreSQL 7.1)



