Predavanje: ----------- NoSQL distribuirana baza u memoriji - da li je rješenje u vreći? Sack je NoSQL baza s distribuiranom memorijom koja se skalira jednostavim dodavanjem računala. Koristi se preko komandno-linijskog sučelja (REPL+vi) i web-a (status, rezultati, grafovi). Doći do prototipa koji radi uključivalo je otkriti nekoliko stramputica u dizajniranju shared-nothing rješenja koje ćemo predstaviti u ovom predavanju. http://blog.rot13.org/sack/ --- Radionice: ---------- Kako napraviti Google od svoje zgrade s računalima? 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 podizavnje 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 :-) --- Virtual LDAP Većina organizacija posjeduje centralni imenički servis LDAP. Na prvi pogled, LDAP je idealno mjesto za centralnu autorizaciju korisnika. Ali situacija nije toliko jednostavna: ponekad imamo potrebu podatke u LDAP-u prebaciti u neki drugi sustav ili nekom drugom sustavu isporučiti podatke koji se ne nalaze u LDAP-u. Za rješnje tog problema odlučio sam implementirati ldap-rewrite koji omogućava modifikaciju i obogaćivanje LDAP zapisa. Za isporuku podataka iz relacijske baze implementirao sam jednostavan LDAP server. Oba alata su relativno jednostavne perl skripte koje su odličan način da u potpunosti iskorisite LDAP kao imenički servis, a ne samo za autorizaciju korisnika.