mar 12 dicembre 2017 - Lo Sviluppatore  anno III

Lovefield: SQL-like Query Engine firmato Google

Condividi

Lovefield è una libreria JavaScript che fornisce un motore SQL-like per gli sviluppatori web che vogliono i vantaggi di un database relazionale.

Nel 2010, Chrome 4 includeva la WebSQL Database API, un tentativo di fornire un archivio di dati SQL per gli sviluppatori web. Il motore di persistenza  di Chrome era SQLite e anche gli sviluppatori Safari stavano lavorando a sostegno delle API. Nonostante ciò il W3C smise di lavorare sulla specifica API, perché “tutte le parti interessate hanno utilizzato lo stesso backend SQL (Sqlite), ma abbiamo prima bisogno di più implementazioni indipendenti prima di procedere verso il percorso di standardizzazione.”  Il W3C continuò a lavorare sul Web Storage, un semplice database chiave-valore, e la Indexed Database API,  entrambe in gran parte adottate dai maggiori browser.

Ora, Google vuole riportare il database relazionale per gli sviluppatori web tramite Lovefield, un cross-browser SQL-like query engine. Lovefield non include un parser di query SQL, ma si presenta in forma di una libreria JavaScript che fornisce il supporto per un sottoinsieme limitato di SQL 2003. Gli sviluppatori interrogano il database tramite delle chiamate di funzioni JavaScript. Il motore utilizza IndexedDB come persistence store, ma può anche essere eseguito in memoria su degli store temporanei per scopi di test. Lovefield è orientato ad applicazioni con piccole necessità di archiviazione: i dataset sono attualmente limitate a 2 GB, e il motore esegue ragionevolmente fino a 50K righe.

Lovefield supporta:

  • Query: select, insert, update, delete
  • Transazioni
  • Check dei vincoli di integrità
  • Aggregatori (count, min, max, sum, avg, stddev, distinti)
  • Multi-join di tabelle
  • aggiornamento dello Schema
  • Promises
  • E’ progettato tenendo in considerazione l’uso di dispositivi di fascia bassa.
  • Funziona su Chrome, Firefox e IE10, fornendo polyfills dove necessario. Il supporto per Safari è in stand-by fino a quando ci sarà una implementazione “usabile” di IndexedDB.

Alcune funzioni SQL non saranno implementante, come i cursori, le viste, le sub-query e i trigger.

Senza fornire dettagli, Google ha menzionato che il loro intento è quello di standardizzare questa tecnologia in futuro, e l’ha già usato per un Chrome app, Google Play Movies&TV.

Lovefield attualmente supporta solo JavaScript, ma è pensabile in futuro  il supporto per altri linguaggi.

 

Riferimenti

Lovefield su GitHub

 

 

 

Lascia un commento

Top