Avanscoperta

MongoDB

Dal relazionale al documentale

Negli ultimi anni il movimento NoSQL ha aumentato il suo appeal e in molti scenari diventa l’unica scelta praticabile.

MongoDB è, ad oggi, il più conosciuto ed utilizzato database documentale.

Il passaggio da un approccio relazionale a un approccio documentale richiede, però, uno “switch” mentale tutt’altro che banale e spesso costituisce un vero e proprio scoglio per lo sviluppatore che sceglie NoSQL.

Per garantire certe feature, quali lo sharding, MongoDB, rilassa alcuni constraint tipici del mondo relazionale, senza implementare il concetto di Foreign Key e di join. Questo significa che il modello, che insiste su questo storage, deve essere pensato non per essere fortemente normalizzato, ma per soddisfare gli use-case del business.

Programma

L’idea di questo workshop e’ quella di capire come funziona MongoDB e come sfruttarlo al meglio per evitare di incorrere nelle problematiche tipiche di chi usa MongoDB come se fosse un database relazionale.

Affronteremo tutti gli aspetti necessari per iniziare a (e finire di) costruire un’applicazione che sfrutti MongoDB come storage per la persistenza dei dati. Partiremo dall’installazione e configurazione; affrontaremo i più comuni problemi di design del modello dati; vedremo come interagire con i dati tramite le query e come ottimizzarle; tratteremo anche argomenti più avanzati, quali la replica e lo sharding.

Argomenti
  • Installazione e configurazione 

  • Operazioni CRUD con MongoDB

  • Design dei documenti
  • Ottimizzazione delle query e dello storage
  • Map/Reduce e Aggregation framework

  • High availability e sharding

Perché scegliere questo corso?

Oltre alla competenza specifica su MongoDB temprata da svariate applicazioni mission critical portate e mantenute in produzione, Gabriele porta anche anni di esperienza su svariate piattaforme, ed è quindi in grado di ‘tirare a balestra’ Mongo, ma anche di dirci quando è preferibile prendere altre strade.

FAQ

Devo portare il mio portatile?

Si, la maniera migliore di seguire il corso è quella di partecipare attivamente, sarebbe preferibile un sistema GNU/Linux, ma MongoDB supporta anche Windows.

Ci sono dei prerequisiti al corso?

No, partiremo da zero, ma durante il corso useremo JavaScript come linguaggio di programmazione e un terminale/shell per interagire con MongoDB, una conoscenza pregressa di questi strumenti ne agevolerebbe la fruizione.