Przepraszam, przez nieuwagę wysłałem odpowiedź na priv, a miało być tutaj:/ jeszcze raz: Dnia 4 stycznia 2005, Tomek w 41D9E075.7060002@toya.net.pl napisał:
Zapomniałeś o punkcie "Optymalizujemy oprogramowanie" a moze i "Zmieniamy oprogramowanie jeśli stare się nie sprawdza"? Bo jeśli chodzi o inne rozwiązania techniczne, to np. taki Usenet (protokół NNTP) ma tysiące użytkowników, dziesiątki tysięcy postów (edycji) codziennie na każdym przeciętnym serwerze NNTP, no i działa to bez większych problemów.
Usenet to jednak coś innego - wymaga zupełnie innego typu bazy danych. Podstawowa różnica to to, że raz napisany post nie ulega już żadnym zmianom.
? Bardzo podobnie jest w Wikipedii, każda nowa edycja artykułu zastępuje poprzednią, poprzednia jest zapisywana w archiwum, w którym znajdują się wszystkie wersje (odpowiednik serwerów news-archive).
Nie trzeba więc przechowywać historii jego edycji i nie musi on być stale gotowy do kolejnej edycji.
Historia edycji to nic innego jak lista artykułów w danym wątku (Tytuł artykułu) na określonej grupie (kategoria artykułu).
Między samymi postami nie ma też żadnych zwrotnych relacji, które baza danych musi obsługiwać.
Relacje są opisane w polach nagłówka: References, Newsgroups itd., każdy artykuł news ma Message-ID (który moze być tak spreparowany by zawierał istotne dla szybkości dostępu informacje), dzięki któremu łatwo można sprawdzić jego istnienie na serwerze, pobrać sam nagłówek lub tekst. Ustalenie relacji i ich prezentacja np. kolorowanie na czerwono linków do nieistniejących haseł to robota dla wikiczytnika.
To NNTP, a z drugiej strony mamy mechanizm mediawiki, który potrafi eksportować do XML tylko ostatnią wersję artykułu lub całość, nie można pobrać konkretnej wersji, ostatnia wersja nie zawiera informacji o wersjach poprzednich. Nie można pobrać samych informacji o artykule (nagłówków). Podobnie wersja text/x-wiki, wprawdzie chyba można pobrać konkretną wersję znając id, ale skąd ten id wziąć? Udostępniany RSS nie zawiera wielu ważnych informacji takich jak np. kategoria czy idy poprzednich wersji.
Zmiany w artykułach Wikipedii pojawiają się natychmiast po ich wprowadzeniu, zaś posty w usenecie "propagują" się po serwerach dość wolno. Są widoczne od razu tylko na tym serwerze z którego się korzysta samemu. Do wielu serwerów nie trafią wogóle nigdy. Jak się ogląda określone grupy usenetowe na dwóch różnych serwerach, łatwo można zaobserwować, że zbiory postów na nich nie są jednakowe. Niektórych postów może brakować, pojawiają się one w różnej kolejności itd.. Tego typu sytuacje nie mają prawa zdarzyć się w Wikipedii.
Powiedzmy, ze główne serwery news znajdowałyby się w jednym miejscu (lub każda wikipedia oddzielnie) i tu zapewniona byłaby pełna synchronizacja. A inne serwery news musiałyby postarać się (przy okazji źródło dochodów dla Fundacji) o zapewnienie odpowiednich parametrów, aby mieć uprawnienia do zapisu postów, bo z pobieraniem nie byłoby problemu (a większość ruchu jednak robią czytelnicy jak przypuszczam). Taki WikiUsenet z zawartością encyklopedyczną, to byłaby zupełnie inna jakość i przypuszczalnie dostawcom usług internetowych opłacałoby się zapewnić swoim klientom takie stałe darmowe źródło aktualnej wiedzy o świecie. Tym bardziej, że licencja GFDL umożliwia np. dołączanie reklam.
Poza tym WikiUsenet nie byłby takim chaosem jak obecny Usenet, miałby określoną hierarchię tematów, tematy haseł, tematy dyskusji (a moze podgrupy typu pl.kategoria.dyskusja), działałby wg bardziej restrykcyjnych zasad i musiałby mieć jednak poszerzone możliwości (np. większe uprawnienia dla administratorów).
Wikipedia jest największą na świecie relacyjną bazą danych dostępną do edycji on-line w czasie rzeczywistym 24 godziny na dobę - razem z zapisaną historią wszystkich artykułów liczy aktualnie ponad 20 milionów rekordów.
Sama grupa pl.sci.psychologia ma z tego co pamiętam ok. 200 tys. postów w archiwum. Na news.tpi.pl jest ponad 30 tys. grup, a na świecie?:)
W dodatku tej bazy nie można łatwo podzielić na mniejsze kawałki bo wszystko jest z sobą powiązane.
Dlaczego? Które powiązania są aż tak ważne? Czy aby wyświetlić jakiekolwiek hasło baza musi mieć pod ręką całą wiedzę ludzkości, wszystkie edycje?
Do tego dochodzi stały wzrost liczby wikipedystów i czytelników wikipedii. Nikt dotąd nie miał doświadczenia jak takie coś może działać, dlatego wszystkie problemy rozwiązuje się na bieżąco.
Tym bardziej trzeba myśleć zawczasu o zmianach.:)
Ja ten temat traktuję jako burzę mózgów, tak więc dzięki za wypowiedź, poruszyła trochę moje szare komórki i może przy okazji coś się urodzić. Fajnie by było gdyby jednak pomyślano o zmniejszeniu monopolu mediawiki i udostępniono bardziej użyteczne sposoby pozyskiwania danych z bazy przez zewnętrzne niezależne programy.