una soporta segundo rapida por optimizar optimizacion mas lentas lenta hacer cuantas consultas consulta como agilizar sql database nosql non-relational-database

sql - soporta - Las bases de datos de nueva generación



optimizar consultas mysql explain (8)

Diría la base de datos de próxima generación, no el 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. Mientras se revisa el estándar, parece funcionar siempre 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 de forma distribuida a través de un servicio web. Amazon también tiene una tienda de valor clave distribuida llamada Dynamo , que potencia 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 implementada 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 que cumple una necesidad similar para distribuir el trabajo de almacenes de datos a gran escala.
  • Scalaris es un almacén de claves / valores transaccionales distribuidos. También no 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 arquitectura distribuida (grid). 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 objeto, son para administrar datos complejos. No parece haber ningún producto ODBMS dominante en la corriente principal, tal vez debido a la falta de estandarización. El SQL estándar está ganando gradualmente algunas características OO (por ejemplo, tablas y tipos de datos extensibles).
  • 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 gestionar datos en una arquitectura de sistema escalable de "computación en la nube". Es de suponer que continuará usando SQL estándar con algunas mejoras de MySQL.
  • Cassandra es una tienda de valor-clave altamente escalable, finalmente consistente, distribuida y estructurada, desarrollada en Facebook por uno de los autores de Amazon Dynamo, y contribuyó al proyecto Apache.
  • El proyecto Voldemort es un sistema de almacenamiento de clave-valor distribuido y no relacional. Se usa en LinkedIn.com
  • Berkeley DB también merece mención. No es de "nueva generación" porque data de principios de los 90. Es una tienda popular de valores-clave que es fácil de integrar en una variedad de aplicaciones. La tecnología es actualmente propiedad de Oracle Corp.

También vea este agradable artículo de Richard Jones: " Anti-RDBMS: una lista de tiendas distribuidas de valores-clave ". Él entra en más detalles que describen algunas de estas tecnologías.

Las bases de datos relacionales tienen debilidades, sin duda. La gente ha estado argumentando que no manejan todos los requisitos de modelado de datos desde el día en que se introdujo por primera vez.

Año tras año, los investigadores presentan nuevas formas de administrar datos para satisfacer requisitos especiales: requisitos para manejar relaciones de datos que no encajan en el modelo relacional o requisitos de volumen o velocidad a gran escala que exigen el procesamiento de datos. en colecciones distribuidas de servidores, en lugar de servidores centrales de bases de datos.

A pesar de que estas tecnologías avanzadas hacen grandes cosas para resolver el problema especializado para el que fueron diseñadas, las bases de datos relacionales siguen siendo una buena solución de propósito general para la mayoría de las necesidades comerciales. SQL no va a desaparecer.

Escribí un artículo en la revista php | Architect sobre la innovación de las bases de datos no relacionales y el modelado de datos en bases de datos relacionales y no relacionales. http://www.phparch.com/magazine/2010-2/september/

Estoy aprendiendo bases de datos relacionales tradicionales (con PostgreSQL ) y estoy investigando. He encontrado algunos tipos nuevos de bases de datos. CouchDB , Drizzle y Scalaris por nombrar algunas, ¿cuáles serán las próximas tecnologías de bases de datos con las que lidiar?


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. Hice algunos google pero no pude encontrar uno.


Me faltan bases de datos de gráficos en las respuestas hasta el momento. Un gráfico o una red de objetos es común en la programación y también puede ser útil en las bases de datos. Puede manejar información semiestructurada e interconectada de una manera eficiente. Entre las áreas donde las bases de datos de gráficos han ganado mucho interés se encuentran 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 está evolucionando una herramienta GUI .


No quiero 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 SQL mucho menos ... fugly y no intuitivo.


Para ver qué investigaciones académicas se están realizando en el área de las 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 textualmente desde la wikipedia: "SQL, inicialmente utilizado como el lenguaje estándar para bases de datos relacionales, se desvía del modelo relacional en varios lugares. El estándar actual ISO SQL no mencione el modelo relacional o use 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 SQL ".

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


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

  1. clave-valor-caché

    • memcached
    • repcached
    • coherencia
    • in fi nispan
    • Escala extrema
    • caché jboss
    • velocidad
    • terracoqa
  2. clave-valor-tienda

    • espacio de teclas
    • fl son
    • sin esquema
    • RAMCloud
  3. valor-clave-tienda eventualmente consistente

    • dinamo
    • voldemort
    • Dynomite
    • SubRecord
    • MongoDb
    • Dovetaildb
  4. pedido-clave-valor-tienda

    • tirano tokio
    • nube ligera
    • NMDB
    • luxio
    • memcachedb
    • actord
  5. servidor de estructuras de datos

    • redis
  6. tuple-store

    • gigaspaces
    • coord
    • río apache
  7. base de datos objeto

    • ZopeDB
    • db4o
    • Banco
  8. tienda de documentos

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

    • Mesa grande
    • Hbase
    • Cassandra
    • Hipertable
    • KAI
    • OpenNep

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

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


También escuché acerca de NimbusDB por Jim Starkey

Jim Starkey es el hombre que "crea" Interbase

que trabajan en Vulcan (un tenedor Firebird)

y quién estuvo al principio de Falcon para MySQL