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ć. |
|
|
|
![]() |
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. |
|
|
|
gitbejbe Zapis dokumentów do bazy 3.06.2015, 17:49:04
rad11 Odrzuc BLOB zostan ninja. Skladuje sie tylko adres... 3.06.2015, 18:02:59
gitbejbe Dokument musi być zawsze gotowy do edycji. Stąd te... 3.06.2015, 18:06:23
kartin Dokument czyli plik, jak sama nazwa mówi najlepiej... 3.06.2015, 18:07:12
gitbejbe w takim razie jak najlepiej jest zapisać informacj... 3.06.2015, 18:21:27
kartin Możesz trzymać w XML, JSON czy nawet jako serializ... 3.06.2015, 18:36:09
redeemer A może warto zainteresować się bazami NoSQL. Np. M... 3.06.2015, 18:50:02
gitbejbe Dokument generowany jest na podstawie różnych form... 3.06.2015, 18:52:30
kartin Czyli tak naprawdę nie będzie przechowywania żadny... 3.06.2015, 19:46:22
gitbejbe Zgadza się. Wyszukiwanie będzie odbywało się (tak... 3.06.2015, 20:04:41
gitbejbe Ok, dzięki za podpowiedzi : ) Temat do zamknięcia. 4.06.2015, 09:28:35
redeemer To co wymyślacie i o czym piszecie rozwiązują właś... 5.06.2015, 08:02:33 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 08:18 |