Cloud database: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 2 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione
 
(14 versioni intermedie di 8 utenti non mostrate)
Riga 1:
{{torna a|Base di dati}}
Un '''cloud database''' è un [[database]] che tipicamente gira su una piattaforma che sfrutta il paradigma di [[cloud computing]], ed accedendo ad essa tale database viene fornito come un semplice servizio.
 
I servizi del database si prendono cura di garantire la scalabilità e un'elevata disponibilità della base di dati. Essi rendono lo stack del software sottostante trasparente all'utente.
Quella dei '''cloud database''' è una tipologia di [[basi di dati]] che viene ospitata su una piattaforma di ''[[cloud computing]]''. Nelle versioni più evolute la maggior parte del sistema database è gestito dalla piattaforma cloud, lasciando al proprietario solo compiti amministrativi di alto livello. Si parla in questo caso di ''Database-as-a-Service'' (DBaaS).
 
== Modelli di Distribuzione ==
Line 6 ⟶ 7:
; [[Virtual machine]] Image: Le piattaforme cloud permettono agli utenti di acquistare istanze di macchine virtuali per un tempo limitato, ed è possibile gestire un database in tali macchine virtuali. Gli utenti possono anche caricare le proprie machine image con all'interno il database già installato, oppure utilizzare una macchina già pronta che contiene una versione ottimizzata di un database. Per esempio, [[Oracle Corporation|Oracle]] fornisce macchine già pronte con installato Oracle Database 11g Enterprise Edition su [[Amazon Elastic Compute Cloud|Amazon EC2]]<ref name="oracle-aws">[https://aws.amazon.com/amis/Oracle/3647 Amazon Machine Images - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit] {{webarchive|url=https://web.archive.org/web/20111016213708/http://aws.amazon.com/amis/Oracle/3647 |data=16 ottobre 2011 }}, Amazon Web Services, Retrieved 2011-11-9.</ref> e su [[Microsoft Azure (piattaforma)|Microsoft Azure]].<ref name="Oracle VM Images on Azure">[https://msdn.microsoft.com/en-us/library/azure/dn439771.aspx List of Oracle VM Images (MSDN)], Retrieved 2014-9-22</ref>
 
; Database-as-a-service (DBaaS): Con un database erogato come servizio, i proprietari delle applicazioni non devono installare a manutenere il database. Invece, il fornitore del servizio si prende la responsabilità di installare e manutenere il database, e ai proprietari delle applicazioni viene fatto pagare un importo proporzionale all'uso del servizio. Per esempio, [[Amazon Web Services]] fornisce tre database come servizi offrendoli come parte del suo portfolio cloud: [[SimpleDB]], un database NoSQL chiave-valore; [[Amazon Relational Database Service|Amazon RDS]], un servizio di database relazionale che include il supporto per [[MySQL]], Oracle, etc.; e [[DynamoDB]]. Microsoft offre il suo servizio [[SQL Azure|Azure SQL Database]] nella sua piattaforma cloud Azure.
La piattaforma di cloud computing Rackspace offre database come servizio per MySQL and [[MongoDB]]. I fornitori dei servizi hanno anche lanciato il loro servizio sotto questo modello. Oracle fornisce il proprio database come servizio, permettendo agli utenti di accedere a Oracle Database 11g and 12c come servizio cloud. MongoDB ha recentemente lanciato il proprio MongoDB come servizio, MongoDB Atlas.<ref>{{Cita web|url=https://www.mongodb.com/cloud|titolo=MongoDB Atlas - Hosted MongoDB as a Service|accesso=1º settembre 2016}}</ref>
 
=== Architetture e caratteristiche comuni ===
* Molti servizi di database offrono una console web, che l'utente finale può utilizzare per fornire e configurare le istanze del database. Per esempio, la console web di Amazon Web Services abilita gli utenti a lanciare le istanze del database, creando snapshots (analoghi ai backups) del database, e monitorando le sue statistiche<ref>"[https://aws.amazon.com/console/#rds AWS Management Console, Amazon RDS Features]", Amazon Web Services, Retrieved 2011-11-10.</ref>
* Il servizio di database consiste di una componente di gestione, che controlla gli strati sottostanti delle istanze usando una service API. La service API è esposta all'utente finale, e gli permette di eseguire operazioni di manutenzione e [[scalabilità]] sulle proprie istanze del database. Per esempio la service API di Amazon Relational Database Service abilita alla creazione di istanze di database, modificando le risorse disponibili sull'istanza, cancellando istanze di database, creando snapshot (cioè dei [[backup]]) del database, e ripristinando un database da uno snapshot.<ref>"[https://aws.amazon.com/rds/#features Amazon Relational Database Service, Features, Detailed Description]", Amazon Web Services, Retrieved 2011-11-10.</ref>
* Lo strato software sottostante include tipicamente il [[sistema operativo]], il database e software di terzi parti usati per gestirlo. Il fornitore del servizio (ad esempio MongoLab o ObjectRocket) è responsabile dell'installazione, dell'aggiustamento e dell'aggiornamento del software sottostante e garantendo complessivamente il funzionamento e le prestazioni del database.
* La scalabilità differisce tra i diversi venditori - molti offrono una scalabilità automatizzata, altri abilitano l'utente nel gestirla mediante l'uso di un'API. C'è tipicamente un affidamento per un certo livello di alta disponibilità (ad esempio 99.9% or 99.99%).
 
Line 18 ⟶ 19:
Nella progettazione e nello sviluppo di sistemi tipicamente si utilizzano la gestione dei data e i database relazionali come loro chiave di costruzione. Interrogazioni avanzate espresse in SQL lavorano bene con relazioni precise che sono imposte sulle informazioni dai database relazionali. Tuttavia, la tecnologia dei database relazionali non era inizialmente disegnata o sviluppata per usi su sistemi distribuiti. Questo problema è stato indirizzato con l'aggiunta di miglioramenti nella creazione dei cluster con i database relazionali, sebbene molti compiti di base richiedano complessi e costosi protocolli, ad esempio la sincronizzazione dei dati.<ref>A. Anjomshoaa and A. Tjoa, [https://dl.acm.org/citation.cfm?id=2095539&CFID=676853031&CFTOKEN=59417535 "How the cloud computing paradigm could shape the future of enterprise information processing"], Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services - iiWAS'11, pp. 7-10, 2011.</ref>
 
I moderni database relazionali hanno mostrati scarse prestazioni su sistemi data-intensive, perciò, l'idea di [[NoSQL]] è stata usato all'interno dei sistemi di gestione dei database basati sul cloud.<ref>S. Cass, "Designing for the Cloud", MIT Technology Review, 2009. [Online]. Available: https://www.technologyreview.com/s/414090/designing-for-the-cloud/. Retrieved 2016-10-04.</ref> All'interno di database [[NoSQL]] implementati, non ci sono requisiti per schemi fissati nelle tabelle, e l'uso dell'operazione di join è vietato.
<ref>S. Cass, "Designing for the Cloud", MIT Technology Review, 2009. [Online]. Available: https://www.technologyreview.com/s/414090/designing-for-the-cloud/. Retrieved 2016-10-04.</ref> All'interno di database [[NoSQL]] implementati, non ci sono requisiti per schemi fissati nelle tabelle, e l'uso dell'operazione di join è vietato.
"The NoSQL databases have proven to provide efficient horizontal scalability, good performance, and ease of assembly into cloud applications."<ref>"[[NoSQL]]", Wikipedia, 2016. Retrieved 2016-10-04.</ref>
 
È anche importante una distinzione tra i cloud database che sono relazionali rispetto a quelli non relazionali o NoSQL:
; SQL database: Ad esempio [[PostgreSQL]], [[EnterpriseDB|EDB Postgres Advanced Server]], [[NuoDB]], [[Oracle Database]], [[Microsoft SQL Server]], [[MariaDB]] e [[MySQL]], rappresentano un tipo di database che possono girare in una piattaforma cloud, sia in una macchina virtuale sia erogati come servizio, in base al fornitore. Mentre i database SQL sono facilmente scalabili verticalmente, la scalabilità orizzontale viene posta come sfida, che i servizi dei cloud database hanno iniziato a indirizzare.<ref name="cnet">Dave Rosenberg, [http://news.cnet.com/8301-13846_3-20022794-62.html Are databases in the cloud really all that different?] {{Webarchive|url=https://web.archive.org/web/20121102121744/http://news.cnet.com/8301-13846_3-20022794-62.html |date=2 novembre 2012 }}, ''CNET'', Retrieved 2011-11-6</ref>
; NoSQL database: Ad esempio [[Apache Cassandra]], [[CouchDB]] e [[MongoDB]], sono un altro tipo di database che possono girare nel cloud. I database NoSQL sono costruiti per servire pesanti carichi di lettura/scrittura e possono scalare su e giù facilmente,<ref name="Agrawal2008">{{Cita pubblicazione|autore= Agrawal, Rakesh |titolo= The Claremont report on database research |rivista= SIGMOD Record |volume= 37 |numero= 3 |anno= 2008 |issn = 0163-5808 |pp= 9–199-19 |doi = 10.1145/1462571.1462573 |editore= [[Association for Computing Machinery|ACM]]|url= http://db.cs.berkeley.edu/claremont/claremontreport08.pdf}}</ref> e perciò sono molto più adatti per essere eseguiti in una piattaforma cloud.
: Tuttavia, la maggior parte delle applicazioni contemporanee sono costruite intorno ad un [[modello dei dati]] relazionale, quindi lavorare con database NoSQL spesso richiede una riscrittura del codice delle applicazioni.<ref>Ken North, "[http://drdobbs.com/blogs/database/228701075 SQL, NoSQL or SomeSQL?]", Dr. Dobb's, Retrieved 2011-11-9.</ref>
|url= http://db.cs.berkeley.edu/claremont/claremontreport08.pdf
}}</ref> e perciò sono molto più adatti per essere eseguiti in una piattaforma cloud.
: Tuttavia, la maggior parte delle applicazioni contemporanee sono costruite intorno ad un modello dei dati relazionale, quindi lavorare con database NoSQL spesso richiede una riscrittura del codice delle applicazioni.<ref>Ken North, "[http://drdobbs.com/blogs/database/228701075 SQL, NoSQL or SomeSQL?]", Dr. Dobb's, Retrieved 2011-11-9.</ref>
: Molti database relazionali hanno inglobato funzionalità usate nei NoSQL tra cui risultano il formato JSON, il formato JSON binario, e database chiave-valore. Questi database multi-modello includono [[PostgreSQL]] e [[EnterpriseDB|EDB Postgres Advanced Server]].
 
Line 48 ⟶ 46:
</ref>
* [[Ingres (database)]]<ref>Chris Kanaracus, "[http://www.infoworld.com/d/data-center/ingres-rolls-out-cloud-database-offerings-965 Ingres rolls out cloud database offerings]", ''Infoworld.com'', Retrieved 2011-8-28.</ref>
* [[MariaDB]]<ref>"[http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=irol-newsArticle&ID=2095051 Amazon Web Services Announces Two New Database Services – AWS Database Migration Service and Amazon RDS for MariaDB] {{Webarchive|url=https://web.archive.org/web/20170601175022/http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=irol-newsArticle&ID=2095051 |data=1º giugno 2017 }}, Amazon Press Releases, retrieved 2015-11-17</ref><ref>"[https://azure.microsoft.com/en-us/marketplace/partners/mariadb/cluster-maxscale/ MariaDB Enterprise Cluster + MariaDB MaxScale] {{Webarchive|url=https://web.archive.org/web/20161204101728/https://azure.microsoft.com/en-us/marketplace/partners/mariadb/cluster-maxscale/ |datedata=4 dicembre 2016 }}, Microsoft Azure, retrieved 2015-11-17</ref>
* [[MySQL]]<ref>"[https://aws.amazon.com/articles/1663 Running MySQL on Amazon EC2 with EBS (Elastic Block Store)], Amazon Web Services, retrieved 2011-11-20</ref>
* [[NuoDB]]<ref>Swoyer, Stephen. [http://tdwi.org/articles/2012/11/13/nuodb-cloud-database.aspx "NuoDB: A Database for the Cloud."] TDWI. Nov. 13, 2012. Retrieved Nov. 26, 2012</ref>
* [[Oracle Database]]<ref name="oracle-aws" /><ref>"[http://www.oracle.com/technetwork/topics/cloud/database-cloud-openworld08-168208.pdf Oracle Database in the Cloud]", Oracle.com, Retrieved 2011-11-9.</ref>
* [[PostgreSQL]]<ref>Chris Kanaracus, "[https://www.pcworld.com/businesscenter/article/238775/enterprisedb_adding_new_cloud_option_for_postgresql_database.html EnterpriseDB Adding New Cloud Option for PostgreSQL Database] {{Webarchive|url=https://web.archive.org/web/20120114061417/http://www.pcworld.com/businesscenter/article/238775/enterprisedb_adding_new_cloud_option_for_postgresql_database.html |date=14 gennaio 2012 }}", ''PCWorld'', retrieved 2011-8-28</ref>
* [[SAP HANA]]<ref>{{Cita web|url=https://aws.amazon.com/sap/solutions/saphana/|titolo=AWS {{!}} SAP HANA|sito=Amazon Web Services, Inc.|accesso=7 luglio 2016}}</ref><ref>{{Cita web|url=https://azure.microsoft.com/en-us/campaigns/sap/|titolo=SAP Solutions {{!}} Microsoft Azure|sito=azure.microsoft.com|accesso=7 luglio 2016}}</ref><ref>{{Cita web|url=https://hana.sap.com/implementation/deployment/cloud/hana-enterprise-cloud.html|titolo=SAP HANA Enterprise Cloud|sito=hana.sap.com|accesso=7 luglio 2016|urlmorto=sì|urlarchivio=https://web.archive.org/web/20160815002558/https://hana.sap.com/implementation/deployment/cloud/hana-enterprise-cloud.html|dataarchivio=15 agosto 2016}}</ref>
|
* [[Amazon Relational Database Service]]
* [[Clustrix]] Database as a Service<ref>{{cita web |url=https://finance.yahoo.com/news/clustrix-enters-rackspace-partner-program-120500944.html |titolo=Copia archiviata |accesso=3 dicembre 2016 |urlmorto=sì |urlarchivio=https://web.archive.org/web/20160414015133/http://finance.yahoo.com/news/clustrix-enters-rackspace-partner-program-120500944.html |dataarchivio=14 aprile 2016 }}</ref>
* [[EnterpriseDB]] Postgres Plus Cloud Database<ref name=":0">[[EnterpriseDB#cite note-10]]</ref>
Line 65 ⟶ 63:
! scope="row" | Modello dati NoSQL
|
* [[Apache Cassandra]] on Amazon EC2<ref>"[https://wiki.apache.org/cassandra/CloudConfig Setting up Cassandra in the Cloud] {{Webarchive|url=https://web.archive.org/web/20181026222341/https://wiki.apache.org/cassandra/CloudConfig |data=26 ottobre 2018 }}", Cassandra Wiki, Retrieved 2011-11-10.</ref> or Google Compute Engine<ref>{{Cita web|url=https://cloudplatform.googleblog.com/2014/07/click-to-deploy-apache-cassandra-on-google-compute-engine.html|titolo=Google Cloud Platform Blog: Click to Deploy Apache Cassandra on Google Compute Engine|accesso=28 novembre 2016}}</ref>
* [[Clusterpoint|Clusterpoint Database Virtual Box VM]]<ref>"[http://docs.clusterpoint.com/wiki/Clusterpoint_installation_using_Virtual_Box Clusterpoint Database Virtual Box VM Installation Guide] {{webarchive|url=https://archive.is/20150310161740/http://docs.clusterpoint.com/wiki/Clusterpoint_installation_using_Virtual_Box |data=10 marzo 2015 }}", Clusterpoint, Retrieved 2015-03-08.</ref>
* [[CouchDB]] on Amazon EC2<ref>"{{collegamento interrotto|1=[https://aws.amazon.com/amis/Community/2861 Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu] |datedata=settembre 2017 |bot=InternetArchiveBot }}", Amazon Web Services, Retrieved 2011-11-10.</ref> or Google Cloud Platform<ref>{{Cita web|url=https://bitnami.com/stack/couchdb/cloud/google|titolo=CouchDB Cloud Hosting on Google Cloud Platform|accesso=28 novembre 2016}}</ref>
* [[EnterpriseDB|EDB Postgres Advanced Server]]
* [[Hadoop]] on Amazon EC2,<ref>"{{collegamento interrotto|1=[https://aws.amazon.com/amis/Community/647 Amazon Machine Image, Hadoop AMI] |datedata=settembre 2017 |bot=InternetArchiveBot }}", Amazon Web Services, Retrieved 2011-11-10.</ref> Google Cloud Platform,<ref>{{Cita web|url=https://cloud.google.com/dataproc/|titolo=Cloud Dataproc - Managed Spark & Managed Hadoop Service|accesso=28 novembre 2016}}</ref> or Rackspace<ref>"[http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop at Rackspace] {{Webarchive|url=https://web.archive.org/web/20140302041422/http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ |datedata=2 marzo 2014 }}", Rackspace Big Data Platforms, Retrieved 2014-02-24.</ref>
* [[MarkLogic]] on Amazon EC2<ref>{{Cita web|url=https://aws.amazon.com/marketplace/pp/B00U36DS6Y/ref=wikipedia_cloud_db|titolo=MarkLogic Developer 8 (HVM) on AWS Marketplace|sito=aws.amazon.com|accesso=31 marzo 2016}}</ref> or Google Cloud Platform<ref>{{Cita web|url=http://www.marklogic.com/wp-content/uploads/2016/09/Flexible-Deployment-Datasheet.pdf|titolo=Flexible Deployment|host=marklogic.com|accesso=28 novembre 2016}}</ref>
* [[MongoDB]] on Amazon EC2,<ref>"[https://www.mongodb.org/display/DOCS/Amazon+EC2 MongoDB on Amazon EC2], MongoDB.org, Retrieved 2011-11-10.</ref> Google Compute Engine,<ref>{{Cita web|url=https://cloud.google.com/solutions/deploy-mongodb/|titolo=Deploying MongoDB on Google Compute Engine|accesso=28 novembre 2016}}</ref> Microsoft Azure,<ref>"[https://www.mongodb.org/display/DOCS/MongoDB+on+Azure MongoDB on Azure] {{Webarchive|url=https://web.archive.org/web/20121031143839/http://www.mongodb.org/display/DOCS/MongoDB+on+Azure |data=31 ottobre 2012 }}, MongoDB.org, Retrieved 2011-11-10.</ref> or Rackspace<ref>"[http://www.rackspace.com/blog/stress-free-scaling-of-mongodb-with-objectrocket/ Easily Scale MongoDB at Rackspace] {{Webarchive|url=https://web.archive.org/web/20140302041649/http://www.rackspace.com/blog/stress-free-scaling-of-mongodb-with-objectrocket/ |datedata=2 marzo 2014 }}", Managed MongoDB ObjectRocket by Rackspace, Retrieved 2014-02-24.</ref>
* [[Neo4J]] on Amazon EC2<ref>"[http://wiki.neo4j.org/content/Neo4j_in_the_Cloud Neo4J in the Cloud] {{webarchive|url=https://web.archive.org/web/20110925234234/http://wiki.neo4j.org/content/Neo4j_in_the_Cloud |data=25 settembre 2011 }}", Neo4J Wiki, Retrieved 2011-11-10.</ref> or Microsoft Azure<ref>"[http://neo4j.com/blog/announcing-neo4j-on-windows-azure/ Announcing Neo4J on Windows Azure]", Neo4J Blog, Retrieved 2011-11-10.</ref>
|
* [[Amazon DynamoDB]]
* [[Amazon SimpleDB]]{{CitazioneSenza necessariafonte}}
* Azure [[DocumentDB]]
* [[Cloudant| Cloudant Data Layer]]<ref>Andrew Brust, "[https://www.zdnet.com/blog/big-data/cloudant-makes-nosql-as-a-service-bigger/468 Cloudant Makes NoSQL as a Service Bigger]", ZDNet, Retrieved 2012-5-22.</ref> ([[CouchDB]])