2011-01-15 10 views

Odpowiedz

8

Baza danych jest szybsza. I co ważniejsze dla Ciebie, zajmuje się współbieżnym dostępem.

0

Bazy danych zdecydowanie.

Bazy danych są zoptymalizowane do przechowywania danych, które są stale aktualizowane i zmieniane tak, jak w twoim przypadku. Przechowywanie plików jest przeznaczone do przechowywania długoterminowego z kilkoma zmianami.

(nawet jeśli pliki były szybsze nadal pójdzie z bazami danych, ponieważ łatwiej jest rozwijać i utrzymać)

0

Od Przypuszczam, system będzie zapisu/odczytu danych w sposób ciągły (jak ludzie wpisać swoje wiadomości), zapisując je do plik zajęłoby więcej czasu ze względu na procedury obsługi plików, tj

  1. otwartego pliku do pisania
  2. blokady pliku
  3. zapisu & Zapisz
  4. odblokuj plik

Poszedłbym z db.

2

Naprawdę chcesz mechanicznego działania dysku za każdym razem, gdy ktoś pisze? Pisanie na dysk jest okropnym pomysłem. Buforuj wiadomości w pamięci. Wyczyść wiadomość, gdy zostanie wysłana do wszystkich użytkowników w pokoju. Pamięć podręczna pozostanie mała, przez większość czasu pusta. Jest to najlepsza opcja, jeśli nie potrzebujesz dziennika historii.

Ale jeśli trzeba dziennik ....

Jeśli piszesz dużą ilość danych w 1 przejściu, gwarantuję plik będzie palić wydajność wstawiania bazy danych. Funkcja wstawiania zbiorczego bazy danych może być zgodna z plikiem, ale na początku wymaga źródła danych pliku. Będziesz musiał umieścić w kolejce wiele wiadomości w pamięci, a następnie okresowo spłukiwać do pliku.

W przypadku wielu małych zapisów luka zostanie zamknięta, a baza danych zostanie przesunięta do przodu. Indeksy będą miały wpływ na prędkość wstawiania. Jeśli tysiące użytkowników wstawia się do mocno indeksowanej tabeli, możesz mieć problemy.

Wykonaj własne testy, aby udowodnić, co jest szybsze. Symulacja realistycznego obciążenia, a nie test 1 użytkownika.

Powiązane problemy