Contenuti

Come sviluppatori Delphi siamo abituati a lavorare con dati fortemente tipizzati, persistendoli in database SQL tradizionali. Vi sono tuttavia scenari in cui è necessario ricorrere a database NoSQL, che consentono di sfruttare performance, scalabilità e versatilità ai massimi livelli.

MongoDB è senz’altro il più conosciuto e diffuso database NoSQL e, pur non essendo un ambiente basato su un linguaggio dinamico come Python e JavaScript, Delphi può accedere ed eseguire qualunque tipo di operazione su questo database, grazie al driver incluso nella libreria FireDAC.

La company che cura e mantiene il progetto MongoDB da qualche anno ha introdotto una licenza “inedita” con una limitazione piccola ma sostanziale, che rende MongoDB indigesto alla community open-source.

In questo talk faremo la conoscenza di FerretDB, un database NoSQL realizzato per fornire una alternativa che sia “davvero open-source” a MongoDB, con cui è estremamente compatibile; infatti, si tratta di un proxy che traduce le query del protocollo MongoDB in statement SQL da eseguire su SQLite o PostgreSQL.

Sarà un’occasione unica per rispolverare le caratteristiche fondamentali dei database NoSQL, capire le potenzialità e gli scenari d’uso di MongoDB, utilizzare nel modo corretto i componenti e le classi di FireDAC per operazioni su questo database utilizzando il suo ottimo sostituto FerretDB.

Se non hai mai fatto uso di un database NoSQL e vuoi iniziare a utilizzarlo con Delphi, sfruttando le capacità di MongoDB ma senza incorrere nelle limitazioni della sua licenza, oppure se hai già una base dati esistente in PostgreSQL o SQLite e vuoi affiancarle una implementazione NoSQL open-source come quella di FerretDB, questo talk è per te!

Argomenti

  • Confronto tra approccio SQL e NoSQL: differenze strutturali, consistenza dei dati e scenari d’uso
  • Panoramica su MongoDB: architettura a documenti, BSON e licenze (dalla AGPL alla SSPL)
  • Presentazione di FerretDB: cos’è, perché nasce e come sostituisce MongoDB
  • Architettura di FerretDB: i tre strati (Driver, Business Logic in Go e Backend Layer)
  • Integrazione in Delphi: utilizzo dei driver FireDAC per MongoDB con FerretDB
  • Valutazione di FerretDB: vantaggi, limitazioni attuali, stabilità e supporto della community
  • Considerazioni finali, risorse utili e sessione di domande e risposte (Q&A)