Domanda

Sto imparando i database relazionali tradizionali (con PostgreSQL.) E fare qualche ricerca ho trovato alcuni nuovi tipi di database. Couchdb., Drizzle., e Scalaris. Per citarne alcuni, quali saranno le prossime tecnologie del database da affrontare?

È stato utile?

Soluzione

Direi il prossimo gen Banca dati, NON NEXT-GEN SQL.

SQL è una lingua per interrogare e manipolare i database relazionali. SQL è dettato da uno standard internazionale. Mentre lo standard è rivisto, sembra sempre funzionare all'interno del paradigma del database relazionale.

Ecco alcune nuove tecnologie di archiviazione dei dati che stanno attenti Attenzione attualmente:

  • Couchdb. è un database non relazionale. Lo chiamano un database orientato al documento.
  • Amazon Sempledb. è anche un database non relazionale accessibile in modo distribuito attraverso un servizio web. Amazon ha anche un negozio di valore chiave distribuito chiamato Dinamo, che alimenta alcuni dei suoi servizi S3.
  • Dynomite. e Kai. Le soluzioni open source sono ispirate a Amazon Dynamo.
  • Tavolo grande è una soluzione di archiviazione dei dati proprietarie utilizzata da Google e implementata utilizzando la propria tecnologia del file system di Google. Il framework MapReduce di Google utilizza BigTable.
  • Hadoop. È una tecnologia open source ispirata a quella di Google MapReduce e servendo una necessità simile, per distribuire il lavoro di negozi di dati su larga scala.
  • Scalaris. è un negozio di tasti / valore transazionale distribuito. Inoltre non relazionale e non utilizza SQL. È un progetto di ricerca dell'Istituto Zuse di Berlino, Germania.
  • Rdf. è uno standard per la memorizzazione dei dati semantici, in cui i dati e i metadati sono intercambiabili. Ha il proprio linguaggio di query Sparql, che assomiglia a SQL superficialmente, ma in realtà è completamente diverso.
  • Vertica È un database analitico orientato altamente scalabile progettato per l'architettura distribuita (griglia). Richiede di essere relazionale e conforme allo SQL. Può essere utilizzato attraverso la nuvola di calcolo elastica di Amazon.
  • Greenplum È un DBMS da magazzino dati su scala alta, che implementa sia Mapredratuce che SQL.
  • XML. Non è affatto un DBMS, è un formato di interscambio. Ma alcuni prodotti DBMS funzionano con i dati in formato XML.
  • Odbms., o database dell'oggetto, sono per la gestione dei dati complessi. Non sembrano esserci alcun prodotto dominante di Odbms nel mainstream, forse a causa della mancanza di standardizzazione. SQL standard sta gradualmente guadagnando alcune funzioni OO (ad es. Tipi di dati estensibili e tabelle).
  • Drizzle. È un database relazionale, disegnando molto del suo codice da MySQL. Comprende varie modifiche architettoniche progettate per gestire i dati in un'architettura del sistema scalabile "cloud computing". Presumibilmente continuerà a utilizzare SQL standard con alcuni miglioramenti MySQL.
  • Cassandra. è un negozio di valometro a grandezza naturale, eventualmente coerente, distribuito, sviluppato, sviluppato su Facebook da uno degli autori di Amazon Dynamo e ha contribuito al progetto Apache.
  • Project Voldemort. è un sistema di stoccaggio non relazionale, distribuito, valore chiave. È usato su linkedin.com
  • Berkeley db. Merita qualche menzione anche. Non è "prossimo-gen" perché risale ai primi anni '90. È un famoso negozio di valore chiave che è facile da incorporare in una varietà di applicazioni. La tecnologia è attualmente di proprietà di Oracle Corp.

Vedi anche questo bel articolo di Richard Jones: "Anti-RDBMS: un elenco di negozi di valore chiave distribuito. "Va più dettagli descrivendo alcune di queste tecnologie.

I database relazionali hanno debolezze, per essere sicuri. Le persone hanno discusso che non gestiscono tutti i requisiti di modellazione dei dati dal giorno in cui è stato introdotto per la prima volta.

Anno dopo anno, i ricercatori si presentano nuovi modi di gestire i dati per soddisfare requisiti speciali: entrambi i requisiti per gestire le relazioni di dati che non si inseriscono nel modello relazionale, oppure i requisiti del volume o della velocità in alto che richiedono l'elaborazione dei dati. su collezioni distribuite di server, anziché server di database centrali.

Anche se queste tecnologie avanzate fanno grandi cose per risolvere il problema specializzato per cui sono stati progettati, i database relazionali sono ancora una buona soluzione generale per la maggior parte delle esigenze aziendali. SQL non sta andando via.


Ho scritto un articolo in PHP | Architect Magazine sull'innovazione dei database non relazionali e sulla modellazione dei dati nei database relazionali a VS. non relazionali. http://www.phparch.com/magazine/2010-2/settembermber/

Altri suggerimenti

Mi manca database grafico nelle risposte finora. Un grafico o una rete di oggetti è comune nella programmazione e può essere utile anche nei database. Può gestire informazioni semi-strutturate e interconnesse in modo efficiente. Tra le aree in cui i database dei grafici hanno guadagnato un sacco di interesse sono web semantico e bioinformatica. È stato menzionato RDF, ed è in effetti una lingua che rappresenta un grafico. Ecco alcuni suggerimenti per ciò che sta accadendo nell'area del database del grafico:

Faccio parte del Neo4j. Progetto, che è scritto in Java ma ha anche vincolanti per Python, Ruby e Scala. Alcune persone lo usano con cloudo o groovy / grails. C'è anche un Strumento GUI in evoluzione.

Potrebbe non essere il posto migliore per rispondere con questo, ma vorrei condividere questa tassonomia del mondo di Nosql creato da Steve Yen (si prega di trovarlo a http://de.slideshare.net/northscale/nosqloakland-200911021.)

  1. Tasto-valore-cache

    • memcached.
    • repcached.
    • coerenza
    • in fi nispus.
    • scala estrema
    • Jboss Cache.
    • velocità
    • Terracoqa.
  2. Key-Value-Store

    • keyspace.
    • fl sono
    • schema-gratis.
    • Ramcloud.
  3. Alla fine-negozio di valore della chiave coerente

    • dinamo
    • Voldemort.
    • Dynomite.
    • Subrecord.
    • Mongodb.
    • Dovetaildb.
  4. Ordinato-Value-Store

    • Tykyo Tyrant.
    • lightcloud.
    • Nmdb.
    • Luxio.
    • memcachedb.
    • attori
  5. server di strutture dati

    • redis.
  6. tuple-store.

    • Gigaspaces.
    • coord.
    • Apache River.
  7. Database oggetto

    • Zopedb.
    • db4o.
    • Banco
  8. Negozio di documenti

    • Couchdb.
    • Mongo
    • Jackrabbit.
    • Database XML.
    • Thrudb.
    • Cloudkit.
    • Perservere
    • Riak Basho.
    • Scalaris.
  9. Ampio store colonnare

    • Tavolo grande
    • Hbase.
    • Cassandra.
    • Ipertable.
    • Kai.
    • OpenNep.

Per uno sguardo in quale ricerca accademica viene eseguita nell'area dei prossimi database Gen Dai un'occhiata a questo: http://www.thetirdmanifesto.com/

Per quanto riguarda il linguaggio SQL come un'adeguata implementazione del modello relazionale, cito da Wikipedia, "SQL, inizialmente spinto come lingua standard per i database relazionali, devia dal modello relazionale in diversi punti. Lo standard ISO SQL corrente non lo standard Menzione del modello relazionale o utilizza i termini o i concetti relazionali. Tuttavia, è possibile creare un database conforme al modello relazionale utilizzando SQL se uno non utilizza determinate funzionalità SQL. "

http://en.wikipedia.org/wiki/relational_model. (Referenziato nella sezione "SQL e il modello relazionale" il 28 marzo 2010

Non essere pedante, ma vorrei sottolineare che almeno Couchdb non è basato su SQL. E spero che il prossimo Gen SQL renderà SQL molto meno ... FUGLY E NON INTITUITIVO.

Ci sono database speciali per XML come Marklogic e Berkeley XMLDB. Possono indicizzare XML-DOCS e si possono interrogarli con XQuery. Mi aspetto che i database JSON, forse esistono già. Un po 'google ma non ho trovato uno.

SQL è in circolazione dai primi anni '70, quindi non penso che andrà via presto ogni volta.

Forse il "nuovo (-ish) sql" sarà oql (vedi http://en.wikipedia.org/wiki/adbms.)

Ho sentito anche su NimBusDB di Jim Starkey

Jim Starkey è l'uomo che "crea" interbase

Chi lavora su Vulcaniano (una forcella Firebird)

e chi era all'inizio del falco per mysql

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top