Ciąg dalszy serii o walce z przysłowiowym Panem Gąbką. Tym razem udało mi się namówić oryginalnych gąbka killerów (czyli zespół nasza-klasa.pl), na opowiedzenie o ich walce z wydajnością.

Najnowsze statystyki odnośnie NK jakie podał mi Maciek Popowicz robią wrażenie. W chwili obecnej serwis zalicza 350 milionów odsłon dziennie (ponad 10 miliardów miesięcznie). Transfer danych jaki generują te odsłony to 6 GB na sekundę. W chwili obecnej nasza-klasa stoi na 500 serwerach (a kolejne 32 są już zamówione). Zdjęcia dodawane przez użytkowników przekroczyły już 1,5 miliarda sztuk – trzymane są one na 500 dyskach w macierzach. Codziennie z serwisu korzysta 5,5 miliona osób.

Poniższy tekst tworzony był przez Pawla Olchawe, z poprawkami Tomka Paszkowskiego, Joanny Gajewskiej, Arka Pernala i Maćka Popowicza.

Aktualnie nasz system opiera się na architekturze zaprojektowanej na przełomie listopada i grudnia 2007. Składa się on z dwóch niemalże zupełnie odrębnych części. Jedną z nich jest obsługa składowania i serwowania zdjęć, a drugą – aplikacja z bazami danych. W przeszłości zmagaliśmy się głównie z aplikacją i bazami danych, ponieważ to od nich zależała szybkość ładowania się strony. Obecnie skupiamy się na optymalizacji systemu zdjęć.


Desperacja Pana Gąbki – gryzie kable od serwerów


Dotychczas do serwowania zdjęć używaliśmy gotowego projektu open-source o nazwie MogileFS. Niestety rozwiązanie to nie spełniło naszych oczekiwań (ruch, którym dysponujemy obnażył słabości jego systemu) i dlatego obecnie wdrażamy autorski system składowania i serwowania zdjęć.

Obecnie zdjęcia przechowywane są bezpośrednio jako pojedyncze pliki na dysku w systemie plików XFS (używamy do tego 160 komputerów: Celerony, Pentium IV, Core2Duo). Każde zdjęcie jest składowane na co najmniej 3 różnych serwerach. Codziennie 3-4 serwery mają problemy z błędami XFS-a, co powoduje utratę kopii niektórych zdjęć. Automatycznie jednak z pozostałych kopii tych zdjęć tworzone są repliki, które składowane są na kolejnych serwerach, dzięki temu utrzymujemy bezpieczną liczbę kopii każdego zdjęcia. Wąskim gardłem w tym przypadku jest prędkość dysków twardych, dlatego dodatkowo część miniaturek zdjęć jest osłaniana serwerami Squid, które przetrzymują je w RAMie.

Aby wspomóc te serwery, zakupiliśmy macierze dyskowe Promise posiadające łącznie 480 dysków SATA/SAS i właśnie kopiujemy zdjęcia na te macierze. Jeśli wszystko pójdzie zgodnie z planem, maksymalnie za dwa miesiące zdjęcia na nk będą się ładowały błyskawicznie, nawet w godzinach szczytu. Aby ustrzec się błędów XFS-a napisaliśmy własny moduł do Lighttpd, przez który serwowane będą zdjęcia. Macierze te będą udostępniać zdjęcia po FC(Fibre Channel) serwerom wpiętym do switcha FC, a te będą w stanie je serwować.Dodatkowo wszystkie miniaturki będą serwowane przez znajdujące się przed nimi serwery keszujące Squid. Aby uniknąć sytuacji, w której wszystkie serwery Squid przetrzymują w RAMie ten sam zestaw miniaturek, podzieliliśmy je na grupki i każda z nich odpowiada za inny zbiór miniaturek.

Od strony aplikacji najwięcej problemów sprawiły nam bazy danych. Gdy tworzyliśmy portal, postawiliśmy na MySQL, ponieważ konto na home.pl z tą bazą danych było tańsze od konta z PostgreSQL :). Jednak przy tak dużym obciążeniu jak nasze bardzo szybko musieliśmy się zmierzyć z błędami MySQLa, a szczególnie z bardzo niskopoziomowymi aspektami działania tej bazy, zarówno dla MyISAM jak i InnoDB.

Musieliśmy zapoznać się z kodem źródłowym InnoDB, co miłą lekturą nie jest :D. Dla tworzenia aplikacji, w których występuje masa operacji modyfikujących istotne jest dokładne zrozumienie zasad działania różnych blokad. Miesiące walk sprawiły, że posiadamy obecnie własną, bardzo specyficzną, konfigurację MySQLa. Przykładowo zamiast indeksów FullText w MySQLu do wyszukiwania osób na portalu używamy własnego serwera indeksującego wszystkich użytkowników raz na dobę, który został napisany przez Michała Bartoszkiewicza w C++ z użyciem bibliotek STL oraz boost, i który ani razu (sic!) od samego początku jego istnienia nas nie zawiódł. To, że działa tak bezproblemowo spowodowało, że zupełnie o nim zapomnieliśmy, przez co przy ostatniej migracji tabeli z użytkownikami zapomnieliśmy zmienić mu adres IP w ustawieniach :-)

Z zapytaniami, które bazy nie modyfikują, jest o wiele łatwiej, w ich przypadku wystarczy wspomóc się warstwą keszującą w postaci klastra serwerów Memcached, założeniem potrzebnych indeksów (w
granicach rozsądku) oraz „explainowaniem” każdego z zapytań. Nadal trzeba jednak uważać, bo zbyt długo wykonujące się zapytanie może mieć drastyczne skutki (zwłaszcza w przypadku MyISAM).

Reszta w następnym odcinku:) – czyli będzie część 2.

Spodobał Ci się tekst? Poleć znajomym:

iStore

iStore

  • Zmien Serwer

    W koncu zmienili serwer, ja im kazalem !

  • http://tenisowo.pl Logan

    Fajny wpis, no i najważniejsze: miło się czyta (:

  • ;)

    ciekawe jaki jest rachunek za transfer ;)

  • http://www.autentik.pl smitu

    Po polsku sie nie dalo tego napisac? ;)

  • Anonim

    Czy jest w .pl serwis ktory ma wieksza ogladalnosc dziennie?
    chyba nawet portale nie beda mialy takiej ilosci odslon dziennie (specjalnie pisze odslon, a nie uniq, bo mase ludzi ma ustawione w przegladarce homepage na powiedzmy onet.pl)

    Jakies dane ktorymi ktos sie anonimowo ;) tutaj podzieli?

  • Azazello

    przy takich odsłonach można zarabiać 100 tyś $$ na samych reklamach googla – więc o rachunek za transfer nikt tam się chyba nie martwi ;)

  • Maciek Popowicz

    @Azarello: 100$ to chyba troche za malo na rachunek za lacze :>

  • Grzes

    Czyli od wewnatrz to tez taki duzy patchwork. Mimo wszystko gratuluje sukcesow, duza zaleta NK jest to za aktywowala w necie mase ludzi ktorzy jeszcze dlugo by bez tego komputera nie uzywali. To ma moim zdaniem kapitalne znacznie, analfabetyzm cyfrowy to spory problem.

  • Marcin

    Faktycznie macie racje przy takich odwiedzinach pieniądze z reklam „same” się robią i nie trzeba aż tak zwracać uwagę na trensfer

  • ;)

    mnie poprostu ciekawi ile kosztuje 6gb na sek – a nie czy to problem czy nie ;)

    gdyby NK nie zostalo wykupione to ci co lubia pozbawiac sie prywatnosci ogladaliby dzis 404 albo fotke

  • http://www.luksoft.org Luksoft

    „Macierze te będą udostępniać zdjęcia po FC(Fibre Channel) serwerom wpiętym do switcha FC, a te będą w stanie je serwować.” To chyba zostało napisane, żeby było mniej zrozumiale i robiło wrażenie na laikach… Wystarczyło napisać, że macierze połączone są z serwerami przez sieć światłowodową. Znaczyłoby to samo, a byłoby zrozumiałe…

  • http://blog.lipek.net Michał

    Czy mogę prosić o malutkie rozwinięcie w następnym odcinku tematu systemu plików XFS? :) Dlaczego akurat wybrano ten system plików? Skąd się biorą błędy? Czy rozważano inne, być może stabilniejsze systemy plików?

  • Azazello

    -> Maćku miałem na myśli 100 tyś $ na dzień…

    p.s. fajnie jak by jeszcze podać ile % tych 6GB na sekundę to obrazki

  • http://www.fAzoLAnd.pl fAzI

    chyba już nie bedzie takiego spektakularnego startupa w Polsce :(

  • dc1

    Kurcze, najbardziej z nienawidzony serwis w branzy, ktory w zapowiedziach lada moment mial zakonczyc swoj zywot lub poprostu zejsc na margines, calkiem niezle sie trzyma. Panowie „analitycy”, „eksperci”, „znawcy”, „bloge..y” jak to jest mozliwe?
    Moze jeszcze pare rad?

    A wracajac do tematu – niedawno takze rozbilem sie o wydajnosc, mimo ze ogladalnosc serwisu naszej firmy to nikly procent tego co sie dzieje na NK.
    Nie pomogla optymalizacja zapytan, cacheowanie itd. i przyszedl czas na zmiane serwera (jednego:)
    Bardzo milo sie czyta o rozwiazaniach innych – zawsze mozna sie czegos nauczyc.

  • http://www.pytamy.pl Grzegorz Marczak

    @dc1 – lol, ty jesteś niezłomny w swoich skrajnych przekonaniach i uważasz, że krytyka wynika tylko z nienawiści a porady z faktu, że uważa się kogoś za mało inteligentnego.

    Naprawdę nie wszyscy kierują się takimi pobudkami.

  • http://www.dziejesie.pl Vee

    „zawsze mozna sie czegos nauczyc.”

    A mnie to przeraża ;> A człowiek/ludzie którzy są w stanie to wszystko zaprojektować/napisać/skonfigurować warci są chyba w złocie tyle ile ważą :D

    Sam bym nie wiedział gdzie szukać takich „speców” przy takim obciążeniu.

  • acid

    Polecam lekture: http://audyt.gemius.pl/

    Wg danych zamiesczonych w tym raporcie n-k ma tyle odslon co google.pl + onet.pl + wp.pl !

  • dc1

    @hazan, wiesz, mozna to na wiele sposobow tlumaczyc, juz wiele razy o tym pisalem, nie chce mi sie powtarzac.
    Co do skrajnosci – to jest ona napewno nie wieksza od tych ktorzy lubia gdybac cudzym kosztem.
    Piszesz ze nie wszyscy kieruja sie takimi pobudkami. Masz racje – nie wszyscy, wielu jednak tak.
    W branzy dziala to tak, ze jak wiatr za wieje…

  • Azazello

    ->dc1 – dlaczego znienawidzony, bo student wymyślił i zrobił sobie serwis, który stał się niesłychanie popularny?!

    Polska to specyficzny rynek i sprawdzają się tu lokalne pomysły, a nie klony zachodnich witryn (choć jest kilka wyjątków). NK wypaliła dzięki temu iż była nieco prymitywna i banalna.

    Nie jestem wilki entuzjastą tego serwisu – ale robi wrażenie to jak się dziś patrzy na statystyki i wielu pewnie trudno to zaakceptować – jestem bardzo ciekaw co myślą sobie włodarze portali, które latami i niesamowitymi nakładami dochodziły do podobnych statystyk.

    Po drugie uważam że serwis ma w sobie potencjał na kilka ciekawych udogodnień i co ważne pożytecznych… jestem ciekaw w jaką stronę będzie szedł i jak właściciele wykorzystają jego moc ;)

  • Borys

    bardzo ciekawa wypowiedz :) co innego niektóre komentarze :D

    a xfs wybrano chyba bo jest on jest najlepszy dla dużych dysków.

  • ra

    a pomyśleć, że cała wikipedia ma 300 serwerów :)

  • MaxDb

    Witam,
    pozytywne wrażenie wywarł na mnie skok wydajności NK. Jesli możnaby mieć życzenia co do odcinka 2nd :
    - jakie inne systemy plików były brane pod uwagę i dlaczego wsród nich na polu walki został wyłącznie XFS oraz MogileFS?
    - często spotykam się z twierdzeniem, że MySQL nadaje się do mało wydajnych rozwiązań, natomiast gdy priorytetem jest wydajność na piedestale stawia sie np: Oracle. Zagadka dla mnie jest , w jaki sposób zoptymalizować MySQL`a do progresu w którym mogłaby uciągnąć choćby 10% szacunkowego obciażenia NK. Argumenty np: poparte kalkulacjami (cpu vs ram vs ilosc zapytan vs myisam vs innodb).
    PS: lektura e.g: mysqlperformanceblog.com daje pewne pojecie o zlozonosci problemu. Jednak „case study” ewolucji NK jest o wiele bardziej pouczajacym zagadnieniem.
    Pzdr, MD

  • http://www.intelpro.pl Czarek

    Wniosek: lamy przy kasie.
    Dla porównania:
    - wikipedia stoi na 300 serwerach, działa o niebo lepiej i nie maja planów zwiększania tego stanu (bo po co).
    - bazę danych mają setki razy większą, a działa na MySql i jak się ma poukładane w głowie – działa niezawodnie
    - po co pisać własne coś do wyszukiwania skoro jest Lucene? (również wykorzystywane w wikipedii)
    - dane statystyczne są chyba wyssane z palca

    Jednak co by nie mówić, dzięki estońskim właścicielom z dużą gotówką, działa :-)

  • http://www.pytamy.pl Grzegorz Marczak

    Wiedziałem, że znajdzie się specjalista co wie lepiej :) – no i wszyscy kłamią podając swoje statystyki…

  • Piotrek

    Jak się ma tyle kasy na serwery i nie ma odpowiedniej wiedzy z zakresu systemów baz danych, to po co stawiać takie rzeczy na MySQLu, zacofanym i domyślnie dosyć wolnym systemie bazodanowym, pisanym przez amatorów?

    IMHO kilka (nie kilkaset) serwerów na czymkolwiek komercyjnym np. Oracle, MSSQL, DB/2, Sybase załatwiłoby sprawę bez miesięcy zapoznawania się z kodami źródłowymi i walki z błędami MySQL ;)

  • Tomasz

    Niestety te ‘kilka serwerów’ na Oracle czy DB/2 by nie pomogło, prz tyej ilości zapytań jakie mamy. No chyba że kupilibyśmy mega super wielkie serwery (a tego chcemy uniknąć). Mimo wszystko naszym ulubionym sposboem jest tworzenie małych systemów odpowiedzialnych za wąską grupe zadań a nie wielkich przetwarzających wszystko.

  • Krzysiek

    350mln /24h/60m/60s/500 serwerow daje 8 odslon na sekunde… czy to duzo? Jedno jest pewno n-k to wspaniale laboratorium testow obciazenia sprzetu.

  • http://siliconmind.eu SiliconMind

    Piotrek, to ty nie wiesz, że są ludzie dla których Open Source to jedyne słuszne i prawdziwe rozwiązanie? ;)

  • Tomasz

    Krzysiek: te 350 mln to jest przez caly dzien, wez pod uwage ze sa godziny szcytu gdzie ruch jest najwiekszy i noc gdzie prawie nic sie nie dzieje. W godzinach szczytu mamy ponad 40 tys nowy połączeń na sekunde do serwerów generujących content. Osobną kwestia są zdjęcia, tam sytuacja wygląda zupełnie inaczej bo łatwiej to skeszowac.

  • grzegorz

    moze poprostu przesiadcie sie na postgresa, u mnie to spowodowalo spore oszczednosci na ilosci serwerow, i obciazenia. Ten sam problem miala wikipedia, ale zamiast przesiasc sie na pgsql ostatecznie, mysql zaplacil im za to – i oddelegowal ludzi do optymalizacji mysqla pod ich potrzeby. praktyka godna microsoftu :)

  • PP

    Mam pytanie co do ilosci zdjec – przy zalozeniu ze nasza klasa ma 13 milionow uzytkownikow w jaki sposob maja oni 1,5 miliarda dodanych zdjec. Przy zalozeniu ze kazde skladowane jest trzykrotnie i kazdy ma nawet 5 zdjec to wciaz 3 x 13 x 5 = 195 milionow.

  • FalX

    Mam sie smiac czy plakac – polowa tych wymienionych rzeczy jest wyssana z palca – juz widze jak „czytacie” dokumentacje InnoDB…
    Ogolnie jak dla mnie wszystko jest pieknym „belkotem” marketingowym. Do tego sadze ze uzywacie „rosyjskiego” serwera www a nie lighttpd jak napisaliscie.
    Tak czy siak – szacun za walke bo NK chodzi widocznie lepiej.

  • le.mateo

    Podane przez NK statystyki uwalniają pewne spostrzeżenia.
    I tak na szybko:
    „… serwis zalicza 350 milionów odsłon dziennie…”
    „…Codziennie z serwisu korzysta 5,5 miliona osób…”

    350/5.5 = ~64pv/u [sorry, nie wierzę].
    ponadto: 5.5 miliona „osób”. co to znaczy „osób”? RU czy UU?

    „…Zdjęcia dodawane przez użytkowników przekroczyły już 1,5 miliarda sztuk…”

    1500000000/11000000(liczba userów) = ~137zdjęć ma każdy user w galerii? raczej te 1.5mld to „licznik” [do którego zaliczają się również te usunięte zdjęcia].

  • :)

    Przyjemnie napisane, nasuwa się od razu tyle pytań o szczegóły rozwiązań, że kilka książek odpowiedzi by nie starczyło :) Pracuję w firmie, która obsługuje miliony użytkowników, ale wasze statystyki mnie powaliły. Pozdrawiam i życzę następnych milionów :)

  • Piotrek

    Niech im będzie 350 mln odsłon.
    Większość z tego to żądania wyświetlenia profilu znajomych z klasy oraz ich zdjęć. Wiele razy korzystaliśmy z NK i widziałem, co ludzie głównie robią.

    Wyciągnięcie danych profilu można zrobić kilkoma prostymi zapytaniami SQL, dotykającymi zaledwie kilku, góra kilkunastu rekordów. Przy dobrym indeksowaniu takie zapytanie na zwykłym sprzęcie wykonuje się ok. 0.1 – 20 ms w zależności od tego czy trafi w cache, czy nie, niezależnie od łącznej ilości danych w bazie. Ponieważ aktywnych userów macie RAPTEM 6 milionów i na dodatek większość z nich nie trzyma tam jakiś olbrzymich ilości danych tekstowych (głównie widzę zdjęcia, ale w bazie są pewnie tylko ścieżki), myslę, że przy 16 – 32 GB RAMu spokojnie da się zbuforować większość „gorących” danych, co daje finalnie ok 0.1 – 0.5 ms na zapytanie. Budowaliśmy tego typu systemy w J2EE i bez większych problemów wyciągały ok. 500 req/s na jeden węzeł i to przy prawie każdej transakcji modyfikującej dane, bez squida na wejściu. Czyli spoko kilkanaście serwerów styknie te 350 mln odłon.

    No, ale to powyższe oczywiście przy założeniu, że na frontendzie jest coś kompilowanego do kodu maszynowego (.NET, Java), a nie powolny interpreter PHP, a baza danych jest dobrze zestrojona i umie wykorzystywać dobrodziejstwa nowoczesnych kompów (jak np. 4 rdzenie, wiele dysków, asynchroniczne I/O, co w MySQL mocno kuleje).

  • Maciek

    http://highscalability.com/myspace-architecture

    sa wieksi, dzialaja na windowsach i dzialaja lepiej :)

    Cos panowie architekci systemowi n-k slabo sobie daja rade :*

  • http://scout.jogger.pl Scout

    Gratuluję wielu odwiedzin :)

  • o2

    @Piotrek, Maciek – zlózcie CV do NK, napewno przy tym poziomie wiedzy dostaniecie prace…

  • Tomek

    Patchwork na mysql…. brawo, dali z sicbie wszytsko żeby z tego wycisnąć tyle :) Moja sugestia: zastanowcie sie nad czymś większym np Oracle ;)

  • http://yahoo.com Y!

    @ MaxDb : Lustre też jest ponoć fajnym rozwiązaniem jeśli chodzi o rozproszone systemy plików

  • Maciek

    o2 Malo kreatywna to praca obsluga 500 serwerow NK. Wyroslem z tego

  • Piotrek

    @o2:
    Nie ma sprawy, tylko po co?
    Myślisz, że nie ma lepiej płatnej i ciekawszej pracy na rynku niż przy tworzeniu portali społecznościowych w PHP + MySQL?

  • Piotrek

    Zapomniałem dać linka do jednej z naszych produkcji:
    http://www.thewitcher.com/community/en/news/477.html

  • Piotrek

    @Maciek:
    ASP.NET + MSSQL server to jednak zupełnie inna liga niż PHP + MySQL Jakieś 20-30 lat rozwoju do przodu…

  • Tomasz

    Piotrek: 500 req/s to my mamy na slabo obciazonych bazach, te najbardziej obciazone dostaja znacznie znacznie wiecej :-) A Squid-em mozna tylko skeszowac zdjecia, do keszowania kontentu trzeba stosowac inne triki. Kesza kontentowego mamy w ramie i jest tego kolo 200GB. Pozatym te 350 mln odslon to sa odslony gdzie wykonuje sie JavaScript a sporo jest hit-ow, ktorych nie mozna zakwalifikowac np. caly kontent AJAX-owy.

  • Piotrek

    @Tomek
    500 req/s odnosiło się do pełnego renderowania strony, nie hitów na bazie. Hitów w warstwę danych mieliśmy kilkadziesiąt tysięcy / s i serwer nawet się nie zająknął (był jeszcze duży zapas). Myślę, że da się znacznie więcej, gdyby tylko zainwestować w kilka dysków i szybsze (SCSI 15 tys. obr zamiast standardowych SATA) i wykorzystać partycjonowanie poziome tabel.

    Widzisz, piszesz, że musieliście robić tricki do buforowania kontentu, bo squidem się nie dało. W ASP.NET i J2EE nie trzeba robić żadnych tricków, tam takie rzeczy są normalnym elementem architektury systemu. Ustawiasz jedną opcję i jest. I to na różnym poziomie, bo i buforowanie całych stron / fragmentów i na poziomie obiektów encji. Nie mówiąc o tym, że i samo generowanie kontentu, pod warunkiem że się coś nie zapcha na bazie danych, jest wielokrotnie szybsze niż w PHP – cały kod logiki biznesowej jest skompilowany natywnie, nie ma narzutu interpretera, nie ma narzutu parsowania przy każdym żądaniu wszystkich includów…

    Podobnie z bazą danych, bardzo wiele problemów, z którymi musieliście się zmierzyć, w MSSQL czy Oracle po prostu nie ma szans wystąpić, bo te systemy zostały ZAPROJEKTOWANE, a nie poskładane metodą „każdy naskrobał kilkaset linijek kodu od siebie”.

    Niemniej, i tak szacun, że na tej technologii udało się w końcu uzyskać zadowalającą wydajność :)

  • o2

    @Maciek, Piotrek – no tak, dla was to drobnica te kilka milionow userow

  • JaFranek

    Pomyślcie jakie serwery musi mieć YouTube które ma userów z całego świata

  • Paweł

    Przy PHP używa się APC i też nie ma narzutu interpretowania kodu bo jest prekompilowany, później patrzymy na wyniki profilera na 1 serwerze (który ma skonfigurowanego dodatkowo xdebug’a) i te funkcje które zajmują najwięcej czasu wykonania przepisujemy w C jako rozszerzenie PHP.

  • Piotrek

    PHP z APC jest nadal jakieś 20-40 razy wolniejsze niż .NET/JVM. APC nie kompiluje do kodu maszynowego, a jedynie buforuje kod pośredni PHP. Narzut interpretacji kodu pośredniego jest olbrzymi.

    A pisanie rzeczy sieciowych w C to przeżytek. Miłego debugowania wycieków pamięci i łatania dziur.

  • matmis

    Moja sugestia dla NK – nie wdawać się w „pissing contest” z innymi komentatorami; poczytać fachowe publikacje (np. highscalability), przeanalizować na chłodno, przetestować wątpliwości samemu, podejmować obiektywnie właściwe decyzje rozwojowe. A po udanym dniu w pracy zagrać w Witchera :-)

    A jakie serwery ma YouTube to przecież wiadomo.

  • marcin

    Dajcie spokoj, jak mnie zawsze smiesa JAVOWCY i NETOWCY, takie ich technologie piekne, a tak naprawde jest 1 serwis (myspace) ktory jest na technologii MS i moze sie mierzyc z rozwiazaniami open source. Ale polscy lamercy programisci wiedza ZAWSZE lepiej :D

    jaki zal….

  • neuro

    marcin – racja…. moze nie zawsze lamerscy – ale fakt ze zawsze beda mowic ze dziurawa java jest the best :)
    co do nk – cala firma godna – pozalowania….
    takie teksty i kombinacje to wiecie – dzieciom na informatyce w podstawowce

    nawet kabli nie potrafia zorganizowac na wieszakach …. coz … potem sie dziwic ze nie wiedza ktory byl ktory ….

    co do technologii – kombinujecie jak kon pod gore i motacie sie jak cma w w herbacie – pasowaloby nie tylko miec papierek ktorym mozna sie podetrzec ale wiedze praktyczna i intelekt – a nie sucha wiedze akademicka…..
    zajmowalem sie bazami gdzie tabele mialy pod 50 mln rekordow i srednio 78 pol…. ciekawe co byscie wymyslili – 20.000 serwerow ? oczywiscie idac waszym tokiem myslenia – kazdy z innej parafii…..

  • neuro

    prawda jest taka ze da sie wszystko zrobic – czy to php czy j2ee – tylko trzeba wiedziec jak – i dobrze planowac – a z tego co widze sledzac historie nk – nie potraficie projektowac w przyszlosc – systemy skalowalne tylko kombinujecie jak juz macie noz na gardle…..

  • http://gdzieswanglii.net jasiek

    gratuluje sukcesu tworcom naszej klasy. mam nadzieje, ze ktorys z moich tworow dorowna waszej popularnosci:)
    pozdrawienia mentalne z wysp