| Technológie TOP 10 web stránok |
|
|
|
| Napísal Ján Šuňavec |
| 24.04.2009 |
|
Veľké projekty, veľa užívateľov, veľké nároky na hardware, také sú požiadavky na najväčšie stránky sveta. Otázka je, na akých technológiách bežia? Aké programovacie jazyky používajú? Aké databázové stroje? Práve na tieto otázky sa dnes pokúsim odpovedať.
Google.comPri čítaní o hardwarovom vybavení tohto molocha, behá mráz po chrbte. 450 000 počítačov po celom svete, 5 Petabytov úložného priestoru, pričom tieto disky čítajú alebo zapisujú každú sekundu 40 Gigabytov dát. Google svoje datacentrá stavia pri elektrárňach a blízko vodných zdrojov, aby mal dostatok elektrickej energie a vodu na chladenie počítačov.Ešte k tomu sa google rád zdôverí s technológiami, takže nieje problém nájsť dostatok informácií, či už dátových centrách alebo o technológiách na ktorých beží. technológie Python, Java, C++, PHP, Linux, Oracle, GFS Primárne Google používa pre svoje služby Python, ktorý je špeciálne upravený pre jeho potreby. Majú nielen vlastné rozšírenia, ale tak isto si upravovali virtuálnu mašinu Pythona, ktorú optimalizovali na lepšie využívanie zdrojov a zrýchlenie behu aplikácií. Tým pádom je však Google Python nekompatibilný s originálnym Pythonom. Našiel som aj projekt, ktorý sa snaží spojiť Google Python s terajšou verziou Pythona. Pri vývoji aplikácií používajú vlastný Google frond-end framework. Okrem tejto základnej technológie Google používa PHP, Javu a C++. Nepodarilo sa mi zistiť na čo presne používa Javu, ale predpokladám že v Jave má vybudované vnútorné biznis aplikácie. PHP používa pri niektorých front-end službách. C++ používa pravdepodobne na spidera, ale túto informáciu nemám potvrdenú. Toto všetko samozrejme beží na Linuxe. Ako databázu používa Google Oracle, ale pozor túto databázu používa len ako index na vlastnom Google file systéme (GFS). GFS je vlastne databáza, ktorú si sami vytvorili. použité zdroje http://highscalability.com/google-architecture http://www.eweek.com/c/a/Application-Development/Google-to-Speed-Up-Python-Add-Java-to-App-Engine-591455/?kc=rss http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars http://panela.blog-city.com/python_at_google_greg_stein__sdforum.htm http://www.scribd.com/doc/20251/The-Google-File-System Yahoo.comYahoo už je trochu skúpejší na zverejňovaní informácií o sebe. Našiel som však stránky kde Yahoo zháňa developerov a podľa požiadaviek som sa ako tak dopracoval k technológiám ktoré používa.technológie PHP, Python, Perl, Java (JEE), C++, Linux, MySQL, Oracle. Yahoo pri svojom vzniku používalo C++. Z dnešného pohľadu sa to zdá ako bláznovstvo stavať projekt v C++, ale treba si uvedomiť že výber technológií bol v roku 1994 veľmi obmedzený. Ešte neexistovalo PHP, ani Java. Takže časti Yahoo služieb dodnes bežia na C++. Neskôr prešli na PHP, ktoré výdatne používajú vo svojich službách. Python, Perl a Bash používajú pravdepodobne v backend procesoch, ale ide o dohad. Ako operačný systém sa používa Linux. Nenašiel som však žiadnu zmienku, akú databázu Yahoo používa. Tak isto som chcel zistiť do akej miery si upravujú PHP, a či vôbec. použité zdroje http://www.slideshare.net/fullo/federico-feroldi-php-in-yahoo http://careers.yahoo.com/jdescription.php?frm=jsres&oid=18414 http://careers.yahoo.com/jdescription.php?frm=jsres&oid=18424 http://careers.yahoo.com/jdescription.php?frm=jsres&oid=19852 Youtube.comJe celkom zaujímavé, že Youtube používa technológie podobné tým ktoré používa Google. A to ich používali predtým ako ich Google kúpil. technológie Python, Psyco, MySQL, Apache, lighttpd Python je základ tohoto projektu. Nenašiel som informáciu o tom či si Python upravujú, alebo používajú oficiálny. V každom prípade používajú Psyco, čo je vlastne just-in-time Python kompilátor. Takže kód pythona sa pri požiadavke najprv skompiluje a potom sa priamo vykonáva. Výsledok je rýchlejšie vykonávanie kódu a rýchlejšie výsledky. Na distribúciu samotných videí používajú web server lighttpd. Celkom logická voľba, keďže jediné čo treba je dodať video, na čo je tento web server ako stvorený. Na zvyšok používajú štandardne Apache. Celkovo môžem povedať že používajú typický LAMP. použité zdroje http://video.google.com/videoplay?docid=-6304964351441328559 http://highscalability.com/youtube-architecture Facebook.comTiež sa veľmi nezvyknú chváliť s tým čo používajú. Ale pár dní dozadu sa objavilo zaujímavé video , kde je do detailu vysvetlené aké technológie a architektúru facebook používa. Technológie PHP, MySQL, Linux Primárne sa všade používa PHP, ktoré je však špeciálne upravené. Virtual machine PHP je upravené na úrovni inštrukcií. Teda optimalizovali inštrukcie, aby PHP bežalo rýchlejšie. Tak isto do jazyka popridávali vlastné rozšírenia. Je mi jasné, že toto PHP nieje kompatibilné s originálnym PHP. Ako databázu využívajú MySQL, ktorú si zvolili kvôli rýchlosti. Trochu zamrzí, že vôbec nedbajú o integritu dát. Nieje mi celkom jasné ako riešia integritu obchodných tranzakcií. Ako framework majú opäť vlastné riešenie. Takže tu nenájdete žiadny Zend Framework alebo Symphony. použité zdroje http://www.infoq.com/presentations/Facebook-Software-Stack Live.comBohužial ďalšií projekt, ktorého technológie nie sú veľmi známe. Microsoft nepatrí medzi firmy, ktoré by tieto dáta radi zdieľali. Keďže majú veľa ďalších projektov nieje možné sledovať voľné pracovné miesta ktoré ponúkajú, a podľa toho zisťovať použité technológie. http://builtwith.com/?help.live.com Wikipedia.orgProjekt používa technológiu ktorú aj zverejnili ako open source projekt z názvom MediaWiki. Takže kto chce môže si naštudovať kódy a architektúru. V podstate čo sa týka technologických informácií o tomto projekte, je na webe asi úplne všetko. V zozname zdrojov úvadzam len podstatné linky. Blogger.comBlogger je ďalšia služba ktorú kúpil Google. Zas bol problém nájsť aspoň aké také zdroje o technológiách ktoré používajú. Myspace.comCelkom som bol prekvapený používanou technológiou. V TOP 10 figuruje len jedna služba s microsoft technológiami (live.com). MySpace tiež nezverejnila priamo informácie o sebe, takže databázu môžem len typovať.
Baidu.comNuž toto bol asi najväčší háčik. Baidu je čínsky vyhľadávač, ktorý je v ázií veľmi populárny. Nanešťastie Čína nieje krajina, kde sa radi delia o informácie. Takže som pekne dlho prehľadával internet, kým som našiel aspoň niečo. |
a LAMP je linux - apache - mysql - php, takže to youtube nesplnuje podla tej specifikácie,
ps: utekát ti písmo pri väčšom rozlíšení
ps2: zaujimave citanie, dik :)
Co sa tyka LAMP http://en.wikipedia.org/wiki/LAMP_(software_bundle). To P moze byt Python, Perl alebo PHP.
Na to pismo sa este pozriem, dik za upozornenie.
https://developer.skype.com/SkypeGarage/DbProjects