Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapis dokumentów do bazy
gitbejbe
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


Witam,

Jestem w trakcji projektowania aplikacji, w której użytkownik będzie mógł tworzyć i zapisywać różnego rodzaju dokumenty -np. do bazy danych. Zastanawiam się nad najlepszym sposobem składowania takich dokumentów. Muszę przewidzieć, że takich dokumentów będzie zapisywanych od groma. Zastanawiam się czy zwykła relacja jeden do wielu zda egzamin - czyli tablica ''użytkownik'' może mieć wiele dokumentów w tablicy ''dokumenty''. Dokument zapisywany byłby w polu BLOB jako zserializowany obiekt. Jeśli ktoś z was miał do czynienia z podobnym tematem, proszę o podpowiedź jak to zrobić najwydajniej. Przypomnę, że dokumentów będzie naprawdę masa i nie będę mógł ich usuwać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kartin
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

Ostrzeżenie: (0%)
-----


Przy założeniu, że masz np. 10 pól a w listingu "dokumentów" potrzebujesz odczytać 2 pola to przy trzymaniu wszystkiego w jednej kolumnie 80% danych odczytanych z bazy jest zbędnych. Niepotrzebnie zwiększasz odczyt i transfer z bazy danych, a to jest błąd. Obstawałbym przy trzymaniu każdego pola w osobnej kolumnie, żadnego JSON czy XML. Dodatkowo konwersja danych do JSON a tym bardziej XML daje dodatkowy narzut w rozmiarze danych.
Login, hasło i ewentualnie inne dane o użytkowniku też trzymasz łącznie np. w JSON w jednej kolumnie? Widziałeś aby w napisanych zgodnie ze sztuką systemach ktoś tak robił?

Co ma prowadzić do katastrofy? Baza danych jest od przechowywania informacji, a backupy i tak trzeba robić oraz właściwie przechowywać.
Przy założeniu, że użyjesz bazy MySQL zainstalowanej na Linuksie a tabele będą trzymana na systemie plików ext3 lub ext4 to tabela może zajmować max 4 TB, a to powinno chyba wystarczyć.

Należy pamiętać o limicie 65535 bajtów na wiersz.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 03:04