![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcialbym dowiedziec sie jakie sa wasze opinie, sugestie na rozwiazanie ponizszego problemu: Mianowicie pisze aplikacje, ktorej zadaniem jest archiwizowanie danych. Aplikacja posiadac musi nastepujace opcje: - zapis kontaktow w bazie (dane osobowe ludzi), - kalendarz(moze raczej terminarz) i odpowiednie dzialania do niego, - zapis linkow (podzial ich na kategorie), - czytnik RSS (zapisywanie zarowno kanalow jak i newsow do bazy), - uploadowanie plikow. - ... Problem jest oczywiscie zwiazany z optymalizacja dzialania serwera. Sam czytnik Rss'ow potrafi dziennie dla jednego uzytkownika zgromadzic ok.200 newsow|rekordow (tytul, opis, link, data - takie dane zapisywane sa do bazy). Narazie rozwiazaniem jest upchanie wszystkiego do poszczegolnych tabel w bazie, jednak nie wiem jak to bedzie wygladac, jesli np. bedzie aktywnych 1000 uzytkownikow, odpowiednio kazdy pobieral bedzie rssy z/do bazy oraz wykonywal inne czynnosci. Moze ktos wczeniej rozwiazywal podobny problem - duzo_uzytkownikow/duzo_danych ? Moze ktos wie w jaki sposob rozwiazane jest podobne zagadnienie na Google. Oni maja cala mase aplikacji typu: rssReader, Calendar, Contact ... Raz zarejstrowany uzytkownik ma do wzystkiego dostep. Ten post edytował c3zi 9.04.2007, 14:07:09 -------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
jeśli o RSS chodzi to zrób relacje jeden do wielu (bo po co ssać to samo dla wiecej niż jednego usera - nie ma sensu kilka razy pobierac tej samej rsski). jeśli chodzi o reszte operacji to nie wydaje mi sie żeby to aż tak bardzo obciążyło serwer (rozumiem że masz dedyka?) - nie jest to przecierz (chyba) aplikacja z któej w jednej chwili będzie kożystało tysiące osób. Co do google to oni mają gigantyczny fundusz więc stać ich na porządne ilości porząnych serwerów które spokojnie zajmują sie liczeniem gugantycznych ilości danych. ot cała filozofia
PS. zmien temat bo ten to się długo nie utrzyma Ten post edytował devnul 9.04.2007, 13:51:23 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Hmm.. Kazdy uzytkownik wybiera sobie kanaly, dodaje jakies linki z rss'ami. W jedenj tabeli sa spisy kanalow, w innej newsy. Chcialem faktycznie w tabeli 'channels' dac klucz obcy do uzytkownika konkretnego.
Mysle, ze jak juz to musialbym stworzyc dodatkowa tabele z kluczami obcymi, a ich relacja to wiele-do-wielu. Ale to rozwiazanie wydaje mi sie srednie, np. ze wzgledu manipulacji przy dodatkowej tabeli. Wiec nie wiem, wiadomo - cos kosztem czegos ![]() -------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Tabela - użytkownicy
Tabela - subskrypcje Tabela - użytkownik posiada subskrypcje I koniec. Tak ma być. Wszystko działa jak powinno. -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Dodatkowa tabela u mnie to Kanaly. Jest tam spis kanalow i opis krotki, pobierany oczywiscie z rssow. Jest ona konieczna imho, poniewaz dzieki niej latwo na stronie wypisac liste kanalow, przyporzadkowac poszczegolnych uzytkownikow do niej...
Jednak jesli zrobie tak jak mowisz sf to uzytkownik, ktory w pozniejszym czasie doda sobie kanal (ktory inny uzytkownik wczesniej dodal) bedzie mial newsy od momentu dodania kanalu przez uzytkownika wczesniejszego. Nie mowie, ze to zle (czasem nawet dobre), ale jednak dosc dziwne .. [; -------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
c3zi: zamień sobie u mnie subskrypcje na kanały i masz to co napisałeś
dalszej części jednak nie rozumiem, zapisujesz wszystkie wpisy rss do bazy tak? i je przechowujesz przez tysiące lat potem.. bo jeśli tak to dlaczego nowy użytkownik ma mieć dostęp do mniejszej ilości wpisów niż starszy? powinien mieć do wszystkich bo dlaczego nie, a nawet jak chcesz mu ograniczyć co wydaje mi się bardzo dziwne to po prostu robisz od daty dodania użytkownika wyświetlaj wiadomości -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
sf:
Wpisy w bazie beda przechowywane do jakiegos czasu lub osiagniecia pewnego limitu. Owszem, uzytkownik moglby przeczytac wczesniejsze informacje (jest to rzeczywiscie wrecz wskazane), jednak kademu newsowi przyporzadkowane sa pewne opcje (np. polec dany news). Zatem nalezaloby chyba kolejna tabele stworzyc wiele do wielu.. Ponadto kazdy uzytkownik ma opcje usuniecia rssa, przez co kazdy uzytkownik powinien miec przyporzadkowanego newsa do siebie. Teraz tak na to patrze i duzo moge na wydajnosci przez takie podejscie stracic. W temacie po prostu chodzilo mi o wytrzymalosc serwera. Czy bylby gotow bezproblemowo obsluzyc 1000 uzytkownikow, biorac pod uwage jakis standardowy serwer z home, nazwa ... Ten post edytował c3zi 9.04.2007, 16:24:29 -------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
to w tabeli użytkownik posaida subskrypcje dodaj znacznik czasu od kiedy posiada daną subskrypcje i przy wyświetlaniu newsów z rss pokazuj tylko te które się pojawiły od czasu zapisania się do subskrypcji plus ostatnie n gdzie n to liczba newsów pokazywanych w danym feedzie - simple
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:02 |