Pliki są zapisywane nie w bazie danych ale w katalogu /data. Gdyby pliki (w szczególności duże) zapisywane były w bazie danych jako obiekt BLOB http://pl.wikipedia.org/wiki/Blob_(bazy_danych)
wtedy rozmiar bazy byłby ogromy nawet przy zapisaniu kilku dużych plików. Z tego powodu w bazie zapisywane są tylko podstawowe parametry jak nazwa pliku, data, rozmiar i ścieżka do pliku - tak to działa w uproszczeniu.
Jeśli chodzi o wydajność epesi z dużą ilością rekordów to daje sobie z tym radę bardzo dobrze: viewtopic.php?f=3&t=1616&p=5665&hilit=performance#p5667
Mamy instalacje, które posiadają ponad 1 milion a nawet blisko 3 milionów rekordów w jednym rekordsecie (module). Więc to nie będzie problemem.
Nie wiem jak wyglądałoby pobieranie takiego dużego pliku rzędu 250 MB czy 1 GB. Po prostu trzeba to przetestować na waszym serwerze. Problemem może być PHP script timeout więc może pewne parametry będzie trzeba poprawić czy zwiększyć wartości. Nigdy nie testowaliśmy plików 1 GB.
Co do możliwości zapisu 1000 czy nawet 10 000 plików - ograniczeniem nie będzie baza danych (to zaledwie jeden mały rekord na plik), ale przestrzeń dyskowa: 1 GB x 10 000 plików to 10 000 GB to 10 TB więc też nie jest to coś astronomicznego.
Proszę pamiętać, że zapis notatek czy plików jest obsługiwany przez moduł Utils Attachments https://github.com/Telaxus/EPESI/tree/m ... Attachment
Jest on tak skonstruowany, że ma wbudowany wersjonowanie plików co pozwala na wgranie plików o tej samej nazwie i nie nadpisze on starej wersji, ale zostanie on zapamiętany i można go zawsze przywrócić. W związku z tym plik 1 GB w 3 wersjach zajmie oczywiście 3 GB (3 x 1 GB) itd.
Szybkość wyszukiwania zależy od ilości rekordów na pewno, ale nawet 10 000 to niewiele. Natomiast wielkość plików nie ma wpływu na szybkość wyszukiwania w ogóle.