Capa 2 de los Datos Pila Grande: Bases de datos operacionales

August 4

En el núcleo de cualquier entorno de datos grande, y la capa 2 de la pila de datos grande, son los motores de bases de datos que contienen las colecciones de elementos de datos relevantes para su negocio. Estos motores tienen que ser rápido, escalable y sólida como una roca. No son todos iguales, y ciertos entornos de datos grandes les irá mejor con un motor que otro, o más probablemente con una mezcla de los motores de bases de datos.

Por ejemplo, aunque es posible utilizar sistemas de gestión de base de datos relacionales (RDBMS) para todos sus grandes implementaciones de datos, no es práctico hacerlo debido a un rendimiento, escala, o incluso el costo. Una serie de diferentes tecnologías de bases de datos están disponibles, y usted debe tener cuidado de elegir sabiamente.

No existe una única decisión correcta respecto a las lenguas de base de datos. Aunque SQL es el lenguaje de consulta de base de datos más frecuente en uso hoy en día, otros idiomas pueden proporcionar una manera más eficaz o eficiente de resolver sus desafíos de datos grandes. Es útil pensar en los motores y los idiomas como herramientas en una "caja de herramientas del implementador." Su trabajo consiste en elegir la herramienta adecuada.

Por ejemplo, si utiliza un modelo relacional, es probable que utilice SQL para consultar la misma. Sin embargo, también puede utilizar lenguajes alternativos como Python o Java. Es muy importante entender qué tipos de datos pueden ser manipulados por la base de datos y si admite cierto comportamiento transaccional. Diseñadores de bases de datos describen este comportamiento con el ácido acrónimo. Representa

  • Atomicidad: Una transacción es "todo o nada" cuando es atómica. Si cualquier parte de la transacción o el sistema subyacente falla, toda la transacción falla.
  • Consistencia: Sólo las transacciones con datos válidos se llevarán a cabo en la base de datos. Si los datos son corruptos o indebido, la transacción no se finalice y que los datos no se escribirá en la base de datos.
  • Aislamiento: múltiple, transacciones simultáneas no interfieran entre sí. Todas las transacciones válidas ejecutarán hasta completarse y en el orden en que fueron presentadas para su procesamiento.
  • Durabilidad: Después de los datos de la transacción se escribe en la base de datos, se queda allí "para siempre."

    Motor Lenguaje de consulta MapReduce Tipos de datos Transacciones Ejemplos
    Relacional SQL, Python, C No Typed ACID PostgreSQL, Oracle, DB / 2
    De columna Rubí Hadoop Predefinido y escrito Sí, si está habilitado HBase
    Gráfico Caminar, Buscar, Cypher No Sin tipo ACID Neo4J
    Documento Comandos JavaScript Typed No MongoDB, CouchDB
    Key-valor Lucene, Comandos JavaScript BLOB, semityped No Riak, Redis

Después de comprender sus necesidades y entender lo que está reuniendo datos, dónde ponerlo, y qué hacer con él, es necesario organizarlo de forma que pueda ser consumida para el análisis, informes o aplicaciones específicas.