Ako radite u većoj organizaciji, ona vjerojatno ima nekoliko desetaka računala koja nisu potpuno iskorištena. U mom primjeru, to su bila računala koja su obavljala funkciju web kioska. Što možemo učiniti s njima? Pretpostavimo da možemo podijeliti podatke u dijelove (shards), staviti svaki dio u memoriju jednog računala i pokrenuti komadić koda preko njih... Zvuči pomalo kao Google map/reduce , ali kako to implementirati? Za taj zadatak implementirao sam Sack - http://blog.rot13.org/sack/ koji podatke iz različitih izbora sprema u memoriju i izvršava paralelne upite preko njih. Pogledati ćemo kako ga napuniti podacima i iskoristiti za obrade koje su prevelike ili prespore za jedno računalo. Upravljanje računalima koja su dio našeg clustera je poseban izazov. Za rješenje tog problema odlučio sam implementirati PXElator - http://blog.rot13.org/pxelator/ koji nam omogućava jednostavno podizanje računala preko mreže, nadzor i administraciju. Temu ćemo zaokružiti još jednim zanimljivim projektom koji nam omogućava distribuirani fork: Gearman - http://gearman.org/. Tako naše obrade podataka možemo podjeliti na manje dijelove pisane u različitim jezicima (perl, php, python, C, shell, Java) i sve to skupa integrirati s relacijskom bazom podataka u pretraživač web stranica Narada - https://launchpad.net/narada Korištenjem ovih dijelova dobili smo distribuiranu memoriju, distribuirano pokretanje obrada podataka i jednostavnu administraciju: naš vlastiti Google :-)