Pregunta

Estoy aprendiendo Bases de Datos Relacionales tradicionales (con PostgreSQL ) y haciendo algunas investigaciones me he encontrado Nuevos tipos de bases de datos. CouchDB , Drizzle y Scalaris por nombrar algunos, lo que va a ser el próximas tecnologías de bases de datos con las que lidiar?

¿Fue útil?

Solución

Diría la base de datos de próxima generación , no SQL de próxima generación.

SQL es un lenguaje para consultar y manipular bases de datos relacionales. SQL está dictado por un estándar internacional. Si bien el estándar se revisa, parece que siempre funciona dentro del paradigma de la base de datos relacional.

Aquí hay algunas nuevas tecnologías de almacenamiento de datos que están recibiendo atención actualmente:

  • CouchDB es una base de datos no relacional. Lo llaman una base de datos orientada a documentos.
  • Amazon SimpleDB también es una base de datos no relacional a la que se accede en de manera distribuida a través de un servicio web. Amazon también tiene una tienda distribuida de valor clave llamada Dynamo , que alimenta algunos de sus servicios S3.
  • Dynomite y Kai son soluciones de código abierto inspiradas en Amazon Dynamo.
  • BigTable es una solución de almacenamiento de datos patentada utilizada por Google, e implementado utilizando su tecnología de sistema de archivos de Google. El marco MapReduce de Google usa BigTable.
  • Hadoop es una tecnología de código abierto inspirada en MapReduce de Google y atendiendo una necesidad similar, distribuir el trabajo de almacenes de datos a gran escala.
  • Scalaris es una clave transaccional distribuida / Almacén de valor. Tampoco es relacional, y no usa SQL. Es un proyecto de investigación del Instituto Zuse en Berlín, Alemania.
  • RDF es un estándar para almacenar datos semánticos, en el que Los datos y metadatos son intercambiables. Tiene su propio lenguaje de consulta SPARQL, que se asemeja a SQL superficialmente, pero en realidad es totalmente diferente.
  • Vertica es una base de datos analítica orientada a columnas altamente escalable diseñada para distribuido arquitectura (cuadrícula). Afirma ser relacional y compatible con SQL. Se puede usar a través de Elastic Compute Cloud de Amazon.
  • Greenplum es un DBMS de almacenamiento de datos a gran escala, que implementa MapReduce y SQL.
  • XML no es un DBMS en absoluto, es un formato de intercambio Pero algunos productos DBMS funcionan con datos en formato XML.
  • ODBMS , o bases de datos de objetos, son para administrar datos complejos. No parece haber ningún producto ODBMS dominante en la corriente principal, quizás debido a la falta de estandarización. SQL estándar está ganando gradualmente algunas características de OO (por ejemplo, tipos de datos extensibles y tablas).
  • Drizzle es una base de datos relacional, que extrae gran parte de su código de MySQL . Incluye varios cambios arquitectónicos diseñados para administrar datos en una "computación en la nube" escalable arquitectura del sistema Presumiblemente continuará usando SQL estándar con algunas mejoras de MySQL.
  • Cassandra es un altamente escalable, eventualmente consistente, distribuido, tienda estructurada de valor clave, desarrollada en Facebook por uno de los

Otros consejos

Me faltan bases de datos de gráficos en las respuestas hasta ahora. Un gráfico o red de objetos es común en la programación y también puede ser útil en bases de datos. Puede manejar información semiestructurada e interconectada de manera eficiente. Entre las áreas donde las bases de datos de gráficos han ganado mucho interés son la web semántica y la bioinformática. Se mencionó RDF, y de hecho es un lenguaje que representa un gráfico. Aquí hay algunos consejos sobre lo que está sucediendo en el área de la base de datos de gráficos:

Soy parte del proyecto Neo4j , que está escrito en Java pero tiene enlaces a Python, Ruby y Scala también. Algunas personas lo usan con Clojure o Groovy / Grails. También hay una herramienta GUI en evolución.

Puede que no sea el mejor lugar para responder con esto, pero me gustaría compartir esta taxonomía del mundo noSQL creada por Steve Yen (encuéntrela en http://de.slideshare.net/northscale/nosqloakland-200911021 )

  1. key-value-cache

    • memcached
    • repcached
    • coherencia
    • in ? nispan
    • eXtremescale
    • jbosscache
    • velocidad
    • terracoqa
  2. key-value-store

    • espacio de teclas
    • ? are
    • sin esquema
    • RAMCloud
  3. tienda de valores-clave eventualmente coherente

    • dynamo
    • voldemort
    • Dynomite
    • SubRecord
    • MongoDb
    • Dovetaildb
  4. ordered-key-value-store

    • tokyotyrant
    • nube de luz
    • NMDB
    • luxio
    • memcachedb
    • actord
  5. servidor de estructuras de datos

    • redis
  6. tuple-store

    • gigaspaces
    • coord
    • apacheriver
  7. base de datos de objetos

    • ZopeDB
    • db4o
    • Bajío
  8. almacén de documentos

    • CouchDB
    • Mongo
    • Jackrabbit
    • Bases de datos XML
    • ThruDB
    • CloudKit
    • Perservere
    • RiakBasho
    • Scalaris
  9. amplia tienda columnar

    • BigTable
    • Hbase
    • Cassandra
    • Hipertable
    • KAI
    • OpenNep

Para ver qué investigación académica se está realizando en el área de bases de datos de próxima generación, eche un vistazo a esto: http : //www.thethirdmanifesto.com/

Con respecto al lenguaje SQL como una implementación adecuada del modelo relacional, cito de Wikipedia, " SQL, inicialmente promovido como el lenguaje estándar para bases de datos relacionales, se desvía del modelo relacional en varios lugares. El estándar ISO SQL actual no menciona el modelo relacional ni utiliza términos o conceptos relacionales. Sin embargo, es posible crear una base de datos que se ajuste al modelo relacional usando SQL si no se usan ciertas características de SQL. & Quot;

http://en.wikipedia.org/wiki/Relational_model (Referenciado en sección "SQL y el modelo relacional" el 28 de marzo de 2010

No para ser pedante, pero me gustaría señalar que al menos CouchDB no está basado en SQL. Y espero que el SQL de próxima generación haga que SQL sea mucho menos ... fugoso y no intuitivo.

Hay bases de datos especiales para XML como MarkLogic y Berkeley XMLDB. Pueden indexar xml-docs y uno puede consultarlos con XQuery. Espero bases de datos JSON, tal vez ya existan. Busqué en Google pero no pude encontrar uno.

SQL ha existido desde principios de la década de 1970, así que no creo que vaya a desaparecer pronto.

Tal vez el 'nuevo (-ish) sql' sea oql (vea http: //en.wikipedia .org / wiki / ODBMS )

También escuché sobre NimbusDB por Jim Starkey

Jim Starkey es el hombre que "crea" Interbase

que trabajan en Vulcan (un tenedor Firebird)

y quién estaba al principio de Falcon para MySQL

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top