Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Cloud e Database al CloudParty di Milano 2013

MySQL READ REPLICA, OrientDB, MongoDB, Redis... Soluzioni pratiche per lavorare in modo efficacie con i database nel cloud. Guiarda i video dei Talk!
MySQL READ REPLICA, OrientDB, MongoDB, Redis... Soluzioni pratiche per lavorare in modo efficacie con i database nel cloud. Guiarda i video dei Talk!
Link copiato negli appunti

L'inossidabile team di Corley, visto il successo della Cloud conference di aprile 2013, in preparazione all'evento del 2014 propone altri due incontri di avvicinamento gratuiti: i CloudParty.

Si tratta di pomeriggi dedicati agli sviluppatori, per parlare di Cloud, ma approfondendo ogni volta un tema particolare con sessioni tecniche, con approccio concreto ai problemi e alle soluzioni tecnologiche.

Il primo CloudParty si è svolto presso il Talent Garden di Milano, con un pubblico molto presente ed ha avuto come tema portante la configurazione e la scalabilità dei database nel cloud. Il filo conduttore di questi eventi è sempre quello di suggerire il passaggio dal sovradimensionamento del server alla suddivisione dei sistemi in servizi scalabili.

OrientDB

Dopo una breve presentazione di Gabriele Mittica, co-fondatore di Corley Srl e organizzatore dell'evento, si è passati subito al primo intervento su OrientDB di Luigi Dell'Aquila e Gabriele De Carli.

OrientDB è un database NoSQL che con architettura basata su documenti e grafi. Permette l'accesso al DB tramite API REST o grazie a connettori disponibili per tutti i linguaggi più usati. Orient permette la scrittura di stored functions (simili alle stored procedeures) in JavaScript, gestisce nativamente il mapping tra oggetti e dati in Java e si può interrogare con il classico SQL.

Oltre a questo e a tanto altro che potrete apprendere nel video che segue, OrientDB offre una capacità di scalare molto interessante grazie allo strato HazelCast che ne permette la replicazione "a buon mercato" grazie ad un buon interfacciamento con la piattaforma Amazon AWS.

MongoDB - Joyent

L'evento prosegue con una presentazione di Antonio Bevacqua (Cloud Specialist di ITNet) sulle potenzialità offerte da MongoDB sulla nuvola di Libero Cloud.

Il talk inizia con la presentazione dell'infrastruttura di Libero Cloud con i suoi 3 datacenter da circa 160 server, 15TB di RAM, 2PB di storage e 30GB di banda in ingresso e uscita. Il tutto supervisionato da Joyent, un hypervisor che gira su SmartOS, un fork di OpenSolaris, realizzato da professionisti provenienti da Sun. Molto interessante la possibilità di sfruttare il sistema tramite cloud-API di tipo REST.

Possiamo mettere in piedi macchine di qualunque tipo e gestire database relazionali o NoSQL come Mongo DB (nome che Bevacqua sottolinea derivare da huMONGOus-DB: "immenso-database").

MongoDB è un database scalabile dalle altissime performance orientato ai documenti che assicura velocità, semplicità di gestione delle query e dei risultati, supporto Full Index, Replica e Clustering, Auto Sharding e Map/reduce.

I documenti sono JSON e ogni documento può contenere array e array di documenti. Il database è un insieme di Collection (come table) Indicizzabile su più campi, possiamo pensare ai documenti come righe (Document è una Row), che possono avere una pk e può essere salvati in BSON (Binary JSON).

Troviamo i driver per tutti i linguaggi di programmazione e possiamo interrogare il db con semplici metodi (find(), update())applicati agli oggetti come ad esempio:

db.post.find({tags:'MongoDB'});

Lo speaker mostra poi come può essere gestito lo sharding e la replica.

Redis

Luca Cipriani mostra come sia possibile iniziare a sperimentare con Redis, per creare un sistema di messaggistica come una chat ad esempio, per andare oltre il classico gestore di log.

Ecco i punti salienti del talk:

  • Oltre le sessioni: pub/sub (chat), hipache, AWS ElastiCache for Redis
  • Master/slave config (il problema di Twilio)
  • Partitioning: Client side partitioning, proxy partitioning (twemproxy), query routing
  • Il futurog: partial resync e sentinel, cluster
  • Redis come logger e/o queue broker (esempi con logstash e app logging)

MySQL

Il piatto forte dell'evento lo offre Walter Dal Mut (anche lui di Corley Srl) che inizia con un intervento che spiega quali sono i modi di replicazione e tipologie di copia delle informazioni (sincrona, asincrona, semi-sincrona), per poi passare ad esaminare le potenzialità di scalatura di sistemi MySQL.

In sostanza con MySQL possiamo fare una Async Master Salve replica o Async Master Master (MySQL 5.5 implementa la semi sync tramite plugin). L'assenza di sincronismo introduce un "lag replica time" (tempo di ritardo tra la persistenza su master e slave) che va gestito.

Per ovviare al problema possiamo creare un cluster che si comporti "come un RAID1", con repliche inattive sulle quali non abbiamo controllo. Dobbiamo trovare anche un metodo di scambiare l'IP in questa architettura active-passive (o active-standby). Possiamo utilizzare software di clustering come peacemaker/corosync per attivare il passaggio tra un disco e l'altro in caso di problemi.

Possiamo fare tutto questo oppure... utilizzare le MultiAZ (Multi-Availability Zone) di AWS. A questo punto possiamo utilizzare la READ REPLICA Di MySQL:

READ REPLICA -> CRUD su master e SELECT solo su slave

I problemi veri sono con le configurazioni Master Master. Avremo problemi con le PK autoincrement che vanno in conflitto a causa del LAG di scrittura asincrona, potremmo ovviare impostando valori di autoincrement_increment e autoincrement-offset per far produrre ad ogni master valori diversi per autoincrement, ma il problema persiste per le PK testuali (email, username, etc.).

Oltre a questi problemi ci sono molti pattern di inconsistenza master-master, ma in ogni caso il problema più grosso è che non abbiamo comunque una scalatura delle scritture su multimaster, perché a causa della replicazione tutte le operazioni di scrittura devono essere effettuate sempre su tutti i nodi.

Possiamo quindi pensare a questa soluzione per offrire alta affidabilità o per task di manutenzione (ad esempio la modifica degli schemi).

Cloud Conference Aprile 2014

Il prossimo appuntamento con CloudConference è per aprile 2014 a Torino, dove Mittica promette una giornata ancora più ricca dello scorso anno, con 2 track (12 relatori sia italiani sia internazionali), una location più capiente e con WiFi gratuito per offrire a più persone la possibilità di seguire l'evento.

Se pensate di avere qualcosa da condividere potete farvi sotto: stanno aprendo i call for paper per la proposta di contenuti.

Il tutto, pranzo e pausa caffé compresi, allo stesso prezzo dello scorso anno (29 Eu). Inoltre è previsto uno sconto per chi avrà partecipato ai CloudParty. Non ci resta che prenotare e darci l'appuntamento al prossimo CloudParty di gennaio 2014 a Bologna.

Ti consigliamo anche