Nosql clave-valor
Una base de datos de documentos es un tipo de base de datos no relacional que está diseñada para almacenar y consultar datos como documentos de tipo JSON. Las bases de datos de documentos facilitan a los desarrolladores el almacenamiento y la consulta de datos en una base de datos utilizando el mismo formato de modelo de documento que utilizan en el código de su aplicación. La naturaleza flexible, semiestructurada y jerárquica de los documentos y las bases de datos de documentos les permite evolucionar con las necesidades de las aplicaciones. El modelo de documento funciona bien con casos de uso como catálogos, perfiles de usuario y sistemas de gestión de contenidos en los que cada documento es único y evoluciona con el tiempo. Las bases de datos de documentos permiten una indexación flexible, potentes consultas ad hoc y análisis de colecciones de documentos.
Una base de datos de documentos es una gran opción para las aplicaciones de gestión de contenidos, como los blogs y las plataformas de vídeo. Con una base de datos de documentos, cada entidad que la aplicación rastrea puede ser almacenada como un solo documento. La base de datos de documentos es más intuitiva para que un desarrollador actualice una aplicación a medida que los requisitos evolucionan. Además, si hay que cambiar el modelo de datos, sólo hay que actualizar los documentos afectados. No es necesario actualizar el esquema ni dejar de utilizar la base de datos para realizar los cambios.
Ejemplo de base de datos Nosql
Una base de datos orientada a documentos o un almacén de documentos NoSQL es una forma moderna de almacenar datos en formato JSON en lugar de simples filas y columnas. Permite expresar los datos en su forma natural, tal y como deben ser.
Durante los últimos 40 años, las bases de datos relacionales han dominado la industria de las bases de datos. Las bases de datos relacionales organizan los datos en tablas de filas y columnas y generan relaciones entre ellas. Estas relaciones se consideran las conexiones lógicas entre las tablas y se definen a partir de los propios datos.
Con estos problemas a los que se enfrentan las organizaciones que hacen un uso intensivo de los datos y que se mueven con rapidez, se demandaron nuevas soluciones tecnológicas y la respuesta es las bases de datos documentales NoSQL. A diferencia de las filas y columnas, las bases de datos NoSQL guardan los datos en documentos. Estos documentos siguen un mínimo de reglas de formato estándar (para que la base de datos pueda entenderlo para su postprocesamiento). El formato utilizado puede ser JSON, XML, YAML, etc. El formato JSON es el elegido por las bases de datos NoSQL, y por una buena razón. Un documento JSON es simplemente más compacto y más legible.
Base de datos relacional
}ColeccionesUna colección es un grupo de documentos. No es necesario que todos los documentos de una colección tengan los mismos campos, ya que las bases de datos documentales tienen un esquema flexible. Tenga en cuenta que algunas bases de datos de documentos proporcionan la validación del esquema, por lo que el esquema puede ser opcionalmente bloqueado cuando sea necesario.Continuando con el ejemplo anterior, el documento con la información sobre Tom podría ser almacenado en una colección llamada usuarios. Se podrían añadir más documentos a la colección de usuarios para almacenar información sobre otros usuarios. Por ejemplo, el siguiente documento que almacena información sobre Donna podría añadirse a la colección de usuarios. {
El modelo de documentos es un superconjunto de otros modelos de datosDebido a sus ricas capacidades de modelado de datos, las bases de datos de documentos son bases de datos de propósito general que pueden almacenar datos para una variedad de casos de uso.¿Por qué no usar simplemente JSON en una base de datos relacional?
Base de datos de documentos
En primer lugar, debería abordar la definición de NoSQL. Se ha convertido en un término un poco omnipresente y posiblemente sobreutilizado. El término se utiliza para englobar los mecanismos de almacenamiento de datos que no son relacionales y, por tanto, no requieren el uso de SQL para acceder a sus datos. En su entrada de blog, “Addressing the NoSQL Criticism” (bit.ly/rkphh0), el experto y autor de CouchDB, Bradley Holt, dice que ha oído a la gente “redefinir NoSQL como ‘no sólo SQL'”. Su opinión es que no se trata de un movimiento anti-SQL, ni mucho menos. Me gusta esta perspectiva, porque soy un gran creyente en el uso de la herramienta adecuada para el trabajo.
La mayoría de las bases de datos que caen bajo el paraguas no relacional comparten objetivos comunes de velocidad y escalabilidad. Al romper con el modelo de almacenamiento relacional y dejar atrás los esquemas, estas bases de datos se liberan de las limitaciones impuestas por un esquema estrechamente ligado y la necesidad de su aplicación de unir datos entre tablas.
En mi investigación, he escuchado a un experto de MongoDB decir que la principal preocupación del producto es el rendimiento. Un experto de CouchDB señaló la simplicidad y la fiabilidad (“queremos ser el Honda Accord de las bases de datos”). Y Ayende Rahien, creador de RavenDB, dijo que RavenDB aspira a “escrituras rápidas, lecturas rápidas y paz mundial”. Cada una de estas bases de datos documentales tiene aún más que ofrecer de lo que sugieren estas frases.