Pyxis pisze:Niestety nie odpowiada mi podejscie w stylu "niech sie uzytkownik martwi", bo na koncu lancuszka jak cos zle dziala, jest zawsze jeden wniosek: ze program jest do doopy.
No tak, ale co mu może przez to źle działać, że baza się rozrośnie ...
Jak jest dużo danych, to się robi mocniejszy serwer, raid, macierz dyskową itd. - tego nie przeskoczysz
Skalowanie jest składową każdego systemu.
Jak się napcha od cholery danych - to trzeba mieć lepszy serwek - ale wg. mnie musiało by ich być naprawdę sporo, żeby sprzęt nawet jakiś starszy jak dell p1950 lub 1850 się na tym zaciął - a taki sprzęt kosztuje na alledrogo z 500 pln.
Dlatego uważam, że nie ma o czym gadać ..
Jeżeli program działa transakcyjnie i operuje na odpowiednich danych atomowych z bazy - to nie ma znaczenia, czy baza ma 1MB, czy 10GB.
Problem jest w przypadku przetwarzania dużych zapytań (operujących na całych tabelach, lub nie zoptymalizowanych np. gdy brakuje indeksów a efekt łączenia tabel daje duże ilości rekordów). Z mojego doświadczenia wynika jednak, że sporo leży w odpowiednim zoptymalizowaniu zapytań i bazy - tak by odbywało się to najefektywniej.
To, że baza ma 10GB - nie znaczy, że pyxis ma całość trzymać w pamięci operacyjnej ... To cała zaleta client-server i sql'a - zapytujesz i dostajesz wynik (który przeważnie jest niewielki).
Co z tego, że będzie GB-ty pdf-ów, jeżeli w kartotece klienta będziesz pobierał jeden plik w danym czasie ...
A wyszukanie w tabeli z blobem po polu id lub opisie ( z założonymi indeksami na id, lub opisie) trwa bardzo krótko - niezależnie od wielkości tabeli.
Dobrze, że podjąłeś ten trud, żeby pójść krok dalej - bo to otwiera wiele nowych możliwości. (i na pewno będzie dużo szybciej niż do tej pory).
Na dodatek - dużo automatyzmów można dorobić po stronie serwera - przetwarzanych skryptowo np. w cronie - co zdecydowanie ułatwi niektóre operacje - np. można zrobić automatyczne wystawienie faktur w danym (lub danych) terminach.
Jak dla mnie brakuje jeszcze czegoś takiego jak w innych programach - że jeden klient np. płaci np. co kwartał, drugi co dwa miesiące i faktury generują się zgodnie ze wzorcem jaki jest przyjęty dla klienta.
Powinno to mieć również powiazanie z umową - tak, żeby rozliczać odpowiednie okresy objęte umową (umowami).
I kolejna sprawa to faktury zaliczkowe - w przypadku, gdy ktoś zapłaci za dłuższy okres bez uprzedzenia - lub możliwość automatycznego zaliczenia tych opłat do następujących po sobie kolejnych miesięcy objętych umową.