NoSQL Databáze v PHP

05.11.2009 Bez komentářů

Včera jsem byl na přednášce Honzy Krále na téma Nechoďte s kanónem na data aneb key value databáze. Přednáška nebyla jen o key value databázích, ale obecně o NO SQL.

Honza shrnul problémy RDBMS databází s ohledem na ACID a co můžou přinést jiné typy databází než sql. Například key value a dokumentové pro nasazení ve webových službách, kde mnohé také vznikly používájí je Google, Amazon, Facebook a jiní.

Přehled NoSQL najdete také ve wikipedii.

Key value databáze nebo úložiště

Dokumentové databáze

Toto téma je široké a hodně se o tom diskutovalo a Honza předvedl implementaci Twitter serveru v Pythonu a ukládání dat do Redisu. Lekce šlo kód škálovat a z jedné databáze začít ukládat do deseti různých.

CouchDb databáze je například nasazena v novém Ubuntu 9.10 a bude se její podpora pro Ubuntu One a synchronizaci dat určitě rozšiřovat. Pokud používáte Ubuntu, balíček s aktuální verzí najdete v repository. Za výhodu jednoduchého nasazení CouchDb je jeho REST api a pěkný webový klient pro administraci. Nevýhodou bude výkon ve srovnání s MongoDb, kde je nativní klient a dobrý jazyk pro dotazy. V CouchDb musíte pro psaní materializovaných pohledů používat javascript. MongoDb podporuje index a celkově je v mnoha věcech vyspělejší. Ale chybí například podpora v ubuntu, balíček nenajdete, musíte si ji zkompilovat sami.

Pro Zend Framework pokud vím se připravuje implementace CouchDb. Jak použít v Zend Frameworku MongoDb pro ukládání logů v kombinaci s Zend Tool ukazuje Raphael Stolt.

Pokud víte o větším nasazení těchto databází nebojte se to uvést v komentářích. Například portály jobs.cz a prace.cz používají memcache, ale takových nasazení budou stovky. Má někdo v Čechách nasazené ve velkém CouchDb nebo MongoDb?

http://arbitracker.org/phpillow.html
Categories: php Tags:

Proč jsem přešel z Mercurial na Git

Verzovací systémy už používám asi 5 let, vystřídal jsem CVS, Subversion, Mercurial, Bazaar a Git. V nedávné době v souvislosti také s tím, že Nette přešlo na Git a vůbec se spousta open source projektů přesunula na Github.com jsem také přešel na distribuovaný systém.

V práci používám Subversion a také přispívám do několika projektů, které pracují na Subversion. Dělal jsem migrace z CVS na SVN ve firmě, kde pracuji apod. Subversion má jednu velkou výhodu, kterou nemají distribuované systémy a to velmi dobré a detailní ACL a různé metody autentizace (LDAP, Active Directory). To si myslím udrží ve spoustě firem Subversion ještě po dlouhou dobu.

Ale protože pracuju na linuxu, pro verzování lokálních projektů a pracovních skriptů apod. používám Git, dříve Mercurial.

Proč jsem nejdříve zvolil Mercurial?

  1. Bitbucket, jednoduchý, přehledný, rychlý a privatní repository v free variantě (proti Github.com)
  2. Jednoduší přechod z SVN (viz Přechod od Subversion k Mercurial)

Proč jsem přešel na Git ?

  1. Karel Minařík mě přesvědčil o výhodách Gitu a odpovídal mě na dotazy, které jsem měl a předvedl mi killer feature (git-filter-branch).
  2. Mercurial mi při práci na projektu vyhodil tuto zprávu „files over 10MB may cause memory and performance problems“.
  3. Zvykl jsem si na syntax Gitu, udělal jsem si hromadu aliasů a to chce prostě trochu čas.

Proč mi vadí to upozornění na přidání souboru většího než 10MB? Protože, pokud to tam mají určitě vědí proč. Performance je Gitu velká výhoda a já od verzovacího systému chci hlavně jednu věc a to verzovat cokoliv.

V současnosti používám Subversion, Mercurial i Git současně a nijak mi to nevadí. Git, ale preferuju pro nové projekty. Stávající ponechám tam kde jsou případně pořeším co udělám s těmi nepodporovanými keywords v Gitu, ale stejně mi nepřijdou v poslední době důležité, protože stejně jsou v každém souboru jiné a nenese to tu informaci, kterou většina chce a to je verze revize z SVN. Tohle spíše je lepší přesunout do build scriptu nebo na deployment.

Doufám, že jsem Borkovi Bernardovi odpověděl na co chtěl, případné dotazy do komenářů.

Categories: scm Tags: ,

Co mě zaujalo na ZendConu 2009

Ve dnech 19-22 října se v San Jose v Kalifornii konal 5. ročník konference ZendCon (Zend PHP Conference for Developers). Na této konferenci je skvělé to, že je opravdu pro vývojáře a i když jsem se tam letos nedostal tak si ze slidů z konference a probíraných témat něco odnesu. To se tolik nedá říci o lokálním Webexpu, kde jsou přednášky cíleny spíše na začátečníky a na ty co s danou problematikou většinou nepřišli do styku.

Nejvíce mě zaujaly přednášky od těchto přednášejících:

Ilia Alshanetsky

Fabien Potencier

Stefan Priebsch

Derick Rethans

Ralph Schindler

Matthew Weier O’Phinney

Tyto přednášky jistě stojí za to se na ně podívat a poučit se co se na nejznámější konferenci probíralo, samozřejmě to jistě nebylo všechno. Žádný účastník také jistě nestihl všechno co chtěl, protože program byl hodně plný. Mluvilo se také o uvedení Zend Server 5.0 beta a Zend Studia 7.1 beta, které si můžete již vyzkoušet.

Pokud někoho zaujalo něco dalšího tak to napište do komentářů.

Categories: php Tags: , , ,

Má dnes cenu psát knihu o verzovacích systémech?

Řeším dilema o tom, zda napsat knihu o verzovacích systémech, ale potřebují uživatelé českou knihu o verzování. Na internetu najdete skvělé online knihy o většině používaných systémů.

Subversion

Mercurial

Git

S těmi vcelku vystačíte pokud se systémem začínáte, v případě Subversion je to kniha do detailů přesná a obsahuje skoro všechny. Ostatní knihy jsou také velmi obsáhlé, ale samozřejmě v nich není všechno.

Pro ty co neumějí anglicky je to sice horší, ale většina verzovacích programů také není přeložena a asi nebude.

V češtině je dostupný částečný překlad GitMagic od Jakuba Kulhana, Proč je lepší Git než X? od Karla Minaříka. Pro Git se také začal překládat do češtiny, uvidíme zda se k překladu přidají další, aby se to pohnulo kupředu. Ve svojí knize o Subversion ke konci jsem stejně dospěl, že je dobré migrovat k nějakému distribuovanému systému, ale přece jenom bude trvat než se ve firmách stane Git nějakým standardem a nikdo neví zda to nebude třeba jiný systém.

Prosím věnujete trochu času a odpovězte na otázku Má smysl psát českou knihu o verzovacích systémech?

Díky za váš čas

Categories: scm Tags: , ,

OpenMeeting 24.9. na téma Testování webových aplikací

24.09.2009 Bez komentářů

Dnes se konal OpenMeeting na téma Testování webových aplikací.

První přednášku měl Michal Špaček ze Skypu o systému Selenium. Pokud jste viděli jeho přednášku na webExpu 2008 tak to bylo totéž v kratší variantě.

Druhá přednáška byla na téma opět Selenium a měl ji Filip Braun z Benety, ukazoval testování jak je dělají oni.

Do třetice také Selenium a to ukazoval Jakub Vrána na Adminerovi. Adminer je z velké části pokryt testy z hlediska funkčnosti. Jakub si měří pokrytí napříč aplikací (coverage) na co má vlastní skript, který mu to přehledně vyhodnocuje. Zazněla tady dobrá rada, pokud používáte Selenium RC v Internet Exploreru, vyvarujte se xpath výrazům a používejte CSS selektory, ušetříte tím hromadu času.

Čtvrtá přednáška od Karla Minaříka na téma Cucumber a testování v Ruby světe. Cucumber má velmi pěkný styl testů, které se dají psát například i česky a jazykem blízkým normálnímu člověku. Není omezeny jen na Ruby a měl by jít využít i pro další platformy. Určitě to brzo vyzkouším na php. Cucumber používá HTTP adaptér webrat pomocí, kterého se připojíte na Selenium nebo další nástroje (např. pro testování Flexu).

Pátá přednáška byla od Štěpána Bechyňského z Microsoftu. Ukazoval nám jak můžete testovat v prostředí Visual Studia 2008. Pokud chcete nějak testovat dobře aplikace v Internet Exploreru, přijde mi to jako jediná spolehlivá cesta. V novém Visual Studiu 2010 by to mělo být značně ještě vylepšeno.

Poslední přednáška od Vratislava Sejka z Unicornu se věnovala Bezpečnostnímu testování. Unicorn kromě funkčních a výkonových testů také dělá bezpečnostní testy na které se dá dobře využít nástroj IBM Rational AppScaner. Komplexní komerční nástroj, pokud někdo znáte nějaký dobrý podobný open source nástroj, prosím zmiňte ho do komentářů.

To je v souhrnu všechno co bylo obsahem formální části a potom samozřejmě probíhala už neformální diskuse jak to pravidelně bývá.

Categories: openmeeting Tags: ,

Switch to our mobile site