Kolejka wiadomości - baza danych? I co dalej?

0

Witam. Chciałem zapytać czy zrobienie kolejki wiadomości w bazie (do komunikatora) to dobry pomysł. Wydaje mi się, że tak, bo gdzieżby indziej? Tylko nie do końca wiem jak taką kolejkę zrobić. Pomysł mam taki:

  • wiadomo - tabela z kolumnami: id, nadawca, odbiorca, treść (ew. godzina)
  • i co dalej? Jakie zapytanie do bazy? Zwróć wszystkie czy jeden "najświeższy"?

Głównie chodzi o to, jak dodawać rekordy to tabeli, tak, żeby na samą górę szła najnowsza wiadomość i z tej góry też były brane po kolei i wysyłane. Jak wygląda zapytanie (MySQL), które zwróci jeden rekord, który jest "najświeższy"?

Proszę pomóżcie, niestety przygodę z bazami dopiero zaczynam, gdybym miał zrobić to w czystym C#, to by poszło jak burza.

0

Moim zdaniem to słaba opcja. Nie prościej wykorzystać jakiś zwykły mechanizm kolejki typu FIFO?

0

Jasne, że lepiej od razu w języku użyć gotowca, ale co z zapisem, w razie nazwijmy to awarii. Staram się przewidzieć wszystko. Tylko, właśnie co będzie, jak serwer nieoczekiwanie się zamknie? A jeżeli nawet o sam zapis chodzi, to serializacja?

0

Dorzucam się do prośby :-)

1
SELECT * FROM kolejka ORDER BY id DESC LIMIT 1

Zanim się za coś zabiera to trzeba poczytać podstawy...

0

Thx Monq, powinno się sprawdzić.

0

Ale mi nie chodziło o gotowiec typu jakiś JMS. Unix przecież oferuje coś takiego jak kolejki komunikatów na poziomie systemu operacyjnego... To trochę pewniejsze niż baza danych ;]

0

A na Windzie? Możesz coś dokładnie powiedzieć? Ale i tak chyba zostanę na razie przy bazie, chyba, że jednak wytłumaczysz mi, że systemowo będzie lepiej :)

0

http://students.mimuw.edu.pl/SO/Linux/Temat03/fifo.html
Nie wiem czy windows coś takiego posiada. Czemu jest lepsze? Bo będzie szybsze i będzie generowało minimalne obciążenie (w przeciwieństwie do SZBD ;) )

1 użytkowników online, w tym zalogowanych: 0, gości: 1