• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Esempio di architettura distribuita basata su PHP, CouchDB e Mobile
 

Esempio di architettura distribuita basata su PHP, CouchDB e Mobile

on

  • 1,564 views

Caso di studio di un'architettura distribuita basata su PHP, CouchDB e Mobile, presentato al PHP Goes Mobile di Milano il 13/04/2012

Caso di studio di un'architettura distribuita basata su PHP, CouchDB e Mobile, presentato al PHP Goes Mobile di Milano il 13/04/2012

Statistics

Views

Total Views
1,564
Views on SlideShare
1,534
Embed Views
30

Actions

Likes
2
Downloads
14
Comments
0

3 Embeds 30

http://www.dev.mvassociati.it 23
http://www.linkedin.com 6
http://www.slashdocs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Esempio di architettura distribuita basata su PHP, CouchDB e Mobile Esempio di architettura distribuita basata su PHP, CouchDB e Mobile Presentation Transcript

    • Esempio di Architettura Distribuita basata su PHP, CouchDB e Mobile PHP Goes Mobile, Milano 13-04-2012Stefano Maraspin @maraspin
    • Stefano Maraspin Managing Partner di MV Associati Membro Fondatore del PUG Friuli PHP 5 ZCE @maraspin s.maraspin@mvassociati.it2
    • IL CONTESTO
    • DOVE VOGLIAMO ARRIVARE?
    • RAPIDITA’
    • RISPARMIO
    • FEEDBACK
    • FASCINO
    • I CLIENTI ORDINANO…
    • LA CUCINA RICEVE
    • FEEDBACK / REAZIONE IMMEDIATI
    • Partiamo da...14
    • …E SE?
    • Allora...16
    • Cosa scegliere?17
    • Incontriamo Mr. Brewer http://www.julianbrowne.com/article/viewer/brewers-cap-theorem http://ksat.me/a-plain-english-introduction-to-cap-theorem/18
    • Scelta Fatta!19
    • Cos’è CouchDB? • Datastore Documentale (schemaless) • Database / Documenti • JSON • REST20
    • Incontriamo Futon21
    • Replicazione Semplice Supporto per modalità PULL e PUSH22
    • Ma Semplice Davvero! Aggiornati non solo i dati ma anche le viste (design docs)23
    • Versioni • ID / _rev • Aggiornamento ottimista, senza lock • MVCC • Aggiornamenti atomici sui documenti • Coerenza Eventuale24
    • Scenario di conflitto CouchDB – The definitive guide – O’Reilly25
    • Risoluzione del Conflitto CouchDB – The definitive guide – O’Reilly26
    • CouchApps27
    • Implicazione28
    • SAREMO PRESTO DISOCCUPATI!
    • …o forse no30
    • Classico Backend31
    • Business Logic32
    • Poi tutto impacchettato33
    • Mandato a CouchDB Localmente, poi si arrangia lui…34
    • E QUINDI PRESENTATO AI CLIENT
    • L’ELEFANTE LA SPUNTA SEMPRE!
    • Parecchia scelta • Chill • Doctrine CouchDB • PHP CouchDB Extension • PHPillow • Sag • Settee • Plain CURL (don’t forget it’s HTTP)37
    • UNA PALLOTTOLA D’ARGENTO?
    • Alto consumo di disco 16000 DB Size (MB) 14000 12000 10000 8000 6000 4000 2000 0 NB Quanto sopra su update!39
    • Che Succede? Questione di affidabilità, performance40
    • C’è dell’altro • Mantenuta traccia dei documenti eliminati (replicazione) • Spazio su disco viene dedicato anche alle viste (che vengono precalcolate e quindi mantenute incrementalmente) • Quando si esegue la compattazione, fa prima una copia di tutti i dati41
    • COMPATTIAMO QUANDO POSSIBILE…
    • Raw Performance • 3000 evt/sec in batch mode • 400 evt/sec inserimento • 100 evt/sec update • 10 evt/sec update durante compattazione43
    • Possiamo sempre scalare…44
    • O forse no?45
    • Una soluzione al problema46
    • La Morale • CouchDB è un’ottima soluzione per contesti distribuiti • Non è adatto per le situazioni in cui ci siano frequenti aggiornamenti sui dati e carichi (ingenti) costanti • L’API REST ci aiuta a scalare le letture • Bigcouch viene in aiuto sulle scritture • L’utilizzo combinato di PHP e couchapp sembra una strada promettente47
    • DOMANDE?
    • Photo Credits • http://www.flickr.com/photos/saechang/4402720421/ • http://www.flickr.com/photos/koocbor/4738285092/ • http://www.flickr.com/photos/whykkk/6311281715/ • http://www.flickr.com/photos/whykkk/6311776616/ • http://www.flickr.com/photos/neeta_lind/2517034517/ • http://www.flickr.com/photos/sebastian_bergmann/2087764869/ • http://www.flickr.com/photos/mr_g_travels/863720665/sizes/l/in/photostream/ • http://www.flickr.com/photos/dobs/4128798936/sizes/l/in/photostream/ • other pictures come from fotolia archives49
    • Grazie per l’attenzioneStefano Maraspin@maraspins.maraspin@mvassociati.it