![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Każdy użytkownik na mojej stronie będzie miał około 3000 linijek tekstu do pobrania w txt. Moje pytanie brzmi czy bardziej opłaca się aby skrypt odrazu zapisywał do txt i pliki były przetrzymywane normalnie w folderach(nie są to dane, które trzeba specjalnie chronić) czy aby skrypt zapisywał do bazy mysql, a dopiero w trakcie ściągania będzie generował się plik txt? Jeżeli lepiej będzie do mysql to jaką dać organizację tego: dla każdego użytkownika będzie tworzyć się nowa tabela czy dane wszystkich użytkowników w jednej tabeli(około 3k wierszy na użytkownika)?
Z góry dzięki za pomoc Ten post edytował Soks 21.02.2012, 22:02:48 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Czy to zawsze będzie 3000 linijek tekstu?
Czy te dane będą tworzone tylko raz przy rejestracji? Czy będzie w nich coś wyszukiwane? Czy będą edytowane? Na pewno nie baza danych i osobne tabele. To najgroszy pomysł. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie zawsze to będzie 3k linijek, ale to jest tak średnio na 1 użytkownika.
Dane będą jakby dopisywane przez kilka dni. Nic nie będzie wyszukiwane, jedynie do pobrania. Nie będą zmieniane. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Można by było spokojnie zapisywać do bazy danych w formacie binarnym ,myślę że nie obciążyłoby bazy,ale jak to txt nie wymagający żadnych specjalnych zabezpieczeń to zapisywać do folderu byłoby chyba lepszym rozwiązaniem.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
To są takie dane, że mogłyby być nawet publicznie dostępne, ale po prostu są przydatne jedynie dla każdego użytkownika z osobna. Każdy plik będzie prawdopodobnie pobierany max kilka razy, ale tych plików łącznie mogłoby być trochę dużo(zależy od ilości użytkowników). Czyli lepszym rozwiązaniem będzie od razu zapisywanie do txt? Może jeszcze ktoś się wypowie.
![]() PS. Z bazy danych i tak będę korzystał do przechowywania danych użytkowników, tylko kwestia co będzie bardziej optymalne. Ten post edytował Soks 22.02.2012, 20:05:48 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Napisałeś że nie będą edytowane a za chwilę że będzie coś dopisywane?
Dopisywanie to w przypadku bazy edycja tak czy siak. Ja bym stawiał na pliki. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 6 Dołączył: 22.08.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze pytanie jakie obciążenie przewidujesz, bo może obawy o optymalność są bezzasadne.
Jeżeli i tak będziesz używał bazy, to może po prostu lepiej zachować spójność danych. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 44 Dołączył: 31.07.2011 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie będziesz nic wyszukiwał to raczej pliki byłyby lepszym rozwiązaniem. Przy ogromnej ilości plików dobrym rozwiązaniem może być grupowanie plików w folderach. Ja to robię przeważnie tak: plik abcdefghij.txt umieszczam w: ab/cd/ef/abcdefghij.txt
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przy dużych ilościach plików, backup będzie mega problemem. Jeżeli strona będzie postawiona na jakimś współdzielonym serwerze, to zwyczajnie ci podziękują, bo ich backup który będą robić, będzie się zatrzymywał na twojej stronie i mielił tak długo aż nie zrobi pełnego backupu.
Jak nie chcesz angażować mysql, bo wydaje ci się to przerostem treści nad formą, a chciałbyś mieć to w pliku, jednocześnie jakoś sensownie posegregowane i żeby odczyt był w miarę szybki, w takim wypadku polecam sqlite. Ostatnio coraz bardziej sam się do niego przekonuje, zwłaszcza w kwestii "panelu" administracyjnego, gdzie można w łatwy i praktyczny sposób w plikowej bazie danych przechowywać jakieś dane. Lub tworzyć taką bazę danych w pamięci, wtedy kiedy jest ona nam potrzebna na jakiś niezbyt długi czas (czas sesji przykładowo). Jak używasz PDO, to przestawienie się na sqlite nie będzie dla ciebie tym bardziej żadnym problemem. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(markonix) Napisałeś że nie będą edytowane a za chwilę że będzie coś dopisywane? Dopisywanie to w przypadku bazy edycja tak czy siak. Miałem na myśli, że w przypadku bazy nie byłoby polecenia UPDATE, a jedynie INSERT INTO. Cytat(piotr.mroczek) Jeszcze pytanie jakie obciążenie przewidujesz, bo może obawy o optymalność są bezzasadne. Tak jak napisałem, każdy użytkownik około 3k linijek txt, pobieranych prawdopodobnie kilka razy, a reszta zależy od ilości użytkowników. Cytat(by_ikar) Przy dużych ilościach plików, backup będzie mega problemem Plików trochę będzie, ale czy aż tyle, że może to mocno spowolnić backup? Ten post edytował Soks 22.02.2012, 22:13:16 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Plików trochę będzie, ale czy aż tyle, że może to mocno spowolnić backup? To już zależy od samego hostingu, nie wszędzie potrafią napisać ci o tym limicie, nie wszędzie ten limit jest jakiś straszny. Wszystko zależy od hostingu. Jak jest kiepski, za 3,99zł + vat, to możesz się takiego info spodziewać, o ile robione są backupy na takich hostingach ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 17:45 |