open source

Tradotto da https://www.itjungle.com/2020/06/15/more-open-source-databases-coming-to-ibm-i/

IBM sta per introdurre molti nuovi database open source nella piattaforma IBM i, incluso database NoSQL, ma anche altri più tradizionali. Tra i database a cui Rochester sta puntando c'è MongoDB, probabilmente il database NoSQL più popolare e preferito dagli sviluppatori web e mobile, come PostgreSQL, uno dei database relazionari più vecchi e più diffusi.

I database oggi sono come i linguaggi di programmazione, con gli sviluppatori che mescolano e incrociano database diversi per avere funzioni differenti, spesso all'interno dello stesso applicativo. DB-Engines.com tiene traccia di più di 330 diversi database.

Il ranking dei database secondo DB-Engines.com (giugno 2020).

L'Open source è stato un grande fornitore di nuovi linguaggi di programmazione per IBM i, con PHP, Node.JS, Ruby, Python, R, e altri supportati da questa piattaforma. IBM ha portato MySQL all'interno dell'IBM i più di dieci anni fa  in particolare per supportare l'array delle applicazioni PHP pre-confezionate che erano costruite per archiviare i dati in MySQL. E quando Oracle ha acquistato MySQL e bloccato completamente il suo sviluppo su IBM i, IBM ha introdotto il sostituto di MySQL Maria DB.

Per molti anni, il pacchetto MySQL/MariaDB è stato l'unico database su IBM i, escluso, ovviamente il Db2. Ma questo ha iniziato a cambiare nell'ottobre del 2019, quando IBM ha annunciato che Redis, uno store open-source sviluppato da Redis Labs, sarebbe stato supportato sulla piattaforma con IBM i 7.3 Technology Refresh 7 e 7.4 TR1.

Ora siamo sul punto di avere altri due database open source disponibili, anzi potenzialmente più di due.

PostgreSQL su IBM i

Per primo troviamo PostgreSQL, il database per la gestione degli object-relational che è emerso dal lavoro di Michael Stonebraker all'inizio degli anni '80. PostgreSQL supporta una vasta gamma di linguaggi, inclusi: Boolean expressions, arrays, characters, binary, date/time, bit strings, XML, e documenti JSON.

PostgreSQL supporta funzionalità avanzate, inclusi: triggers, stored procedures, foreign keys, materialized views... e può essere utilizzato come base per applicazioni transazionali, ma anche per il data warehousing e il business intelligence workloads.

PostgreSQL può essere utilizzato in configurazioni scale-up (SMP) e scale-out (clustered). Supporta la maggior parte dei sistemi operativi ed è diventato molto noto sopratutto negli ultimi anni, in parte grazie al successo della versione enterprise di PostgreSQL offerta da EnterpriseDB. Secondo DB-Engines.com, è attualmente il quarto database più popolare del mondo dopo: Oracle, MySQL, e Microsoft SQL Server.

IBM ha completato il lavoro riguardo PostgreSQL. Ma la compagnia non lo ha ancora comunicato ufficialmente. Il software si installa tramite Yum e RPM, come la maggior parte dei software open source su IBM i. Maggiori informazioni sono disponibili sulla pagina del progetto GitHub.

MongoDB per IBM i

IBM sta lavorando per far girare MongoDb su IBM i. Quando questo progetto sarà completato, sarà possibile scaricarlo tramite RPM e Yum, o, se si usa Acess Client Solutions (ACS), si potrà ottenere semplicemente attraverso  la funzionalità di ACS Open Source Package Management.

MongoDB è il quinto database più popolare del mondo, secondo DB-Engines.com.  Questo database è stato creato nel 2007 dall'azienda DoubleClick (ora di proprietà di Google), la quale aveva la necessità di un server capace di gestire 400.ooo pubblicità al secondo. Invece di modificare un database esistente adeguandolo alle loro necessità, decisero di creare il loro.

MongoDB è un database NoSQL che archivia i dati nel formato binario JSON, o BSON, che è una estensione di JSON (Java Script Object Notation). Il database organizza questi documenti in collezioni, che sono l'equivalente delle tabelle in un database relazionare. MongoDB piace agli sviluppatori perché questi documenti e collezioni ricordano abbastanza da vicino il linguaggio nativo dell'IBM i.  

Una delle caratteristiche principali di MongoDB è uno schema di dati flessibile che gli sviluppatori possono cambiare in qualsiasi momento, un altro grande vantaggio è che come altri database NoSQL, MongoDB si ridimensiona in orizzontale anziché in verticale, consentendo agli utenti di espandere le dimensioni del database aggiungendo più nodi. Per set di dati di grandi dimensioni, MongoDB suddivide automaticamente o frammenta i dati su nodi separati.

MongoDB supporta la replica dei dati e ha recentemente aggiunto anche un supporto ACID per le transazioni. Supporta indici e triggers, ma non supporta  foreign keys o joins. Gli sviluppatori possono interagire con MongoDB attraverso le API ufficiali o attraverso uno dei drivers ufficiali o non ufficiali.

MongoDB oggi ha più di 18.000 clienti. MongoDB ha oggi un capitale di circa 11 bilioni di dollari. La compagnia ha lanciato nel 2016 un servizio cloud chiamato Atlas che oggi garantisce all'azienda più del 40% dei suoi ricavi.

I server IBM i sono oggi i più utilizzati dalle grandi aziende, molte delle quali si basano proprio su MongoDB. Nella conferenza mondiale di MongoDB del 2017 il gruppo bancario internazionale HSBC ha parlato di come ha utilizzato Mongo DB per creare un nuovo data store globale.

ASPETTIAMO, POTREBBE ARRIVARE ALTRO

Come abbiamo detto prima, ci sono oggi più di 300 database nel mondo. Nell'universo IBM i ce ne sono quattro ufficialmente supportati: Db2, MySQL, MariaDB, e Redis – con altri due (PostgreSQL and MongoDB) in dirittura d'arrivo. Ma se IBM i si avvia a supportare sei database, perché non dovrebbe arrivare a supportarne una dozzina o più?

Se guardiamo alla lista dei database più popolari nel mondo, ce ne sono anche altri che potrebbero essere utilizzati su IBM i. Secondo Erwin Early, un senior consultant di Perforce (l'azienda che oggi possiede lo Zend server line di PHP), c'è almeno un altro database che potrebbe andare bene.

“Un altro che penso sarebbe perfetto sulla piattaforma IBM i ... è Cassandra” Ha detto Erwin recentemente in una conferenza del COMMON iNSIGHT chiamata “Esplorando i database Open Source su IBM i”.

“Cassandra si basa su Java, quindi dovrebbe essere molto semplice adattarla a IBM i. Ancora però non ho sentito nessuno che ci abbia provato".

Cassandra Apache è una database NoSQL basato su Bigtable, uno store creato da Google per archiviare grandi quantità di dati e che è molto veloce sia in lettura che in scrittura. Cassandra oggi supporta cluster molto vasti ed è considerata perfetta per le aziende che hanno bisogno di mantenere il più alto livello di availability.

Ma perché fermarsi a MongoDB, Cassandra e Redis? Ci sono molti altri membri della famiglia NoSQL che possono entrare nel mondo IBM i: Elasticsearch per la gestione e l'analisi dei log; Memcached per serving di dati super-veloci; Neo4j per le strutture e l'analisi dei dati; Couchbase per analisi edge-to-core; Aerospike per garantire ottime prestazioni anche con cluster di dati lontani fra di loro; e MarkLogic, uno dei primi database multi-modello.

Dare supporto ad un database non è una cosa da poco. Il database è dove le aziende immagazzinano i loro più importanti assets, quindi per prima cosa deve essere affidabile. Non ci sono indizi che Db2 smetterà di essere il database principale per IBM i, anche con questi nuovi database in arrivo.  Ma è chiaro che se la community IBM i accoglierà la tecnologia open-source potrà trarre vantaggio dalle caratteristiche di questi database, che fanno cose per cui il Db2 non è stato progettato. E questa sarebbe davvero un'ottima cosa.

  • Vuoi approfondire o essere richiamato?

    Vuoi approfondire o essere richiamato?

Registrati

  • Vuoi schedulare una dimostrazione del prodotto ?

    Vuoi schedulare una dimostrazione del prodotto ?

Prenota una demo