Saltear al contenido principal

Almacenes de datos NoSQL – Lenguaje Python

Las bases de datos relacionales almacenan la gran mayoría de los datos persistentes de las aplicaciones web. Sin embargo, existen varias clasificaciones alternativas de representaciones de almacenamiento.

  1. Par clave-valor
  2. Orientado a documentos
  3. Tabla de familia de columnas
  4. Grafico

Estas representaciones de almacenamiento de datos persistentes se utilizan comúnmente para aumentar, en lugar de reemplazar por completo, las bases de datos relacionales. El tipo de persistencia subyacente utilizado por la base de datos NoSQL a menudo le otorga características de rendimiento diferentes a las de una base de datos relacional, con mejores resultados en algunos tipos de lectura / escritura y peor rendimiento en otros.

Par clave-valor

Los almacenes de datos de pares clave-valor se basan en mapa hash estructuras de datos.

Almacenes de datos de pares clave-valor

  • Redis es un almacén de datos de pares clave-valor en memoria de código abierto. A Redis se le suele llamar «la navaja suiza del desarrollo de aplicaciones web». Se puede usar para almacenar en caché, poner en cola y almacenar datos de sesión para un acceso más rápido que una base de datos relacional tradicional, entre muchos otros casos de uso. Obtenga más información en la página de Redis.

  • Memcached es otro sistema de almacenamiento de pares clave-valor en memoria muy utilizado.

Recursos de pares clave-valor

Recursos de Redis

Orientado a documentos

Una base de datos orientada a documentos proporciona una representación semiestructurada para datos anidados.

Almacenes de datos orientados a documentos

  • MongoDB es un almacén de datos de código abierto orientado a documentos con un formato de almacenamiento de notación de objetos binarios (BSON) que es de estilo JSON y familiar para los desarrolladores web.
    PyMongo es un cliente de uso común para interactuar con una o más instancias de MongoDB a través del código Python. MongoEngine
    es un ORM de Python escrito específicamente para MongoDB que está construido sobre PyMongo.

  • Riak es un almacén de datos distribuido de código abierto centrado en la disponibilidad, la tolerancia a fallos y las implementaciones a gran escala.

  • Apache CouchDB también es un proyecto de código abierto en el que la atención se centra en adoptar el acceso HTTP de estilo RESTful para trabajar con datos JSON almacenados.

Recursos del almacén de datos orientados a documentos

Tabla de familia de columnas

Una clase de tabla de familia de columnas de almacenes de datos NoSQL se basa en el tipo de par clave-valor. Cada par clave-valor se considera una fila en la tienda, mientras que la familia de columnas es similar a una tabla en el modelo de base de datos relacional.

Almacenes de datos de tablas de familias de columnas

Grafico

Una base de datos gráfica representa y almacena datos en tres aspectos: nodos, bordes y propiedades.

UN nodo es una entidad, como una persona o una empresa.

Un borde es la relación entre dos entidades. Por ejemplo, una ventaja podría representar que un nodo de una entidad persona es un empleado de una entidad comercial.

UN propiedad representa información sobre los nodos. Por ejemplo, una entidad que represente a una persona podría tener una propiedad de «mujer» o «hombre».

Almacenes de datos gráficos

  • Neo4j es una de las bases de datos de gráficos más utilizadas y se ejecuta en la pila de máquinas virtuales Java.

  • Cayley es un almacén de datos de gráficos de código abierto escrito por Google escrito principalmente en Go.

  • Titán es una base de datos de gráficos distribuida creada para clústeres de varios nodos.

Recursos del almacén de datos de gráficos

Servicios de terceros NoSQL

  • Componer proporciona MongoDB como servicio. Es fácil de configurar con una pila LAMP estándar o con Heroku.

Recursos del almacén de datos NoSQL

  • Bases de datos NoSQL: una descripción general
    explica qué significa NoSQL, cómo se almacenan los datos de manera diferente a los sistemas relacionales y qué significa el teorema de coherencia, disponibilidad y tolerancia a la partición (CAP).

  • NoSQL explicado es una buena descripción general de alto nivel de las consideraciones y características al elegir un tipo de base de datos NoSQL en comparación con una base de datos relacional.

  • Resumen del teorema CAP
    presenta las limitaciones básicas que todas las bases de datos deben compensar en funcionamiento.

  • Esta publicación en ¿Qué es una base de datos NoSQL? Aprenda escribiendo uno en Python
    es un artículo detallado que rompe la mística detrás de lo que algunas formas de bases de datos NoSQL están haciendo bajo las sábanas.

  • los Serie de teoremas CAP
    explica conceptos relacionados con NoSQL como qué es ACID en comparación con CAP, CP versus CA y alta disponibilidad en implementaciones a gran escala.

  • NoSQL semanal es un boletín informativo gratuito por correo electrónico que agrega artículos, tutoriales y videos sobre almacenes de datos no relacionales.

  • Comparación NoSQL
    es una gran lista de almacenes de datos populares, basados ​​en BigTable, de propósito especial y otros con atributos y los mejores casos de uso para cada uno.

  • Las bases de datos relacionales como MySQL y PostgreSQL han agregado características en versiones más recientes que imitan algunas de las capacidades de los almacenes de datos NoSQL. Por ejemplo, consulte esta publicación de blog en
    almacenar datos JSON en PostgreSQL.

Lista de verificación de aprendizaje de almacenes de datos NoSQL

  1. Comprenda por qué los almacenes de datos NoSQL son mejores para algunos casos de uso que las bases de datos relacionales. En general, estos beneficios solo se ven a gran escala, por lo que es posible que no sean aplicables a su aplicación web.

  2. Integre Redis en su proyecto para aumentar la velocidad sobre el almacenamiento persistente más lento. El almacenamiento de datos de sesión en la memoria es generalmente mucho más rápido que guardar esos datos en una base de datos relacional tradicional que usa almacenamiento persistente. Tenga en cuenta que cuando la memoria se vacía, los datos desaparecen, por lo que cualquier cosa que deba ser persistente aún debe respaldarse en el disco de forma regular.

  3. Evalúe otros casos de uso, como almacenar registros transitorios en un almacén de datos orientado a documentos, como MongoDB.

¿Qué quieres aprender a continuación?

¿Necesitas ayuda para revisar el código de tu proyecto?



Esta entrada tiene 0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba