Almacenes de datos NoSQL frente hadoop

Almacenes de datos NoSQL originalmente suscribieron a la noción " Apenas diga no a SQL " (parafraseando a partir de una campaña publicitaria anti-drogas en la década de 1980), y eran una reacción a las limitaciones percibidas de bases de datos relacionales (basadas en SQL). No es que esta gente odiaba SQL, pero estaban cansados ​​de forzar clavijas cuadradas en agujeros redondos mediante la resolución de problemas que las bases de datos relacionales no fueron diseñados.

Una base de datos relacional es una herramienta poderosa, pero para algunos tipos de datos (como pares clave-valor, o gráficos) y algunos patrones de uso (como el almacenamiento muy gran escala) una base de datos relacional simplemente no es práctico. Y cuando se trata de almacenamiento de gran volumen, base de datos relacional puede ser costoso, tanto en términos de costos de las licencias de base de datos y los costes de hardware. (Bases de datos relacionales están diseñados para trabajar con el hardware de nivel empresarial.)

Así que, con el movimiento NoSQL, programadores creativos desarrollaron decenas de soluciones para diferentes tipos de problemas de almacenamiento de datos y procesamiento espinosos. Estas bases de datos NoSQL suelen ofrecer escalabilidad masiva a través de la agrupación, ya menudo están diseñados para permitir un alto rendimiento y baja latencia.

El nombre NoSQL es algo engañoso porque muchas bases de datos que se ajusten a la categoría hacer contar con el apoyo de SQL (en lugar de " NoSQL " de apoyo). Piense en su nombre en lugar como " No sólo SQL ".

Las ofrendas NoSQL disponibles hoy en día se pueden dividir en cuatro categorías distintas, en función de su diseño y propósito:

  • Tiendas de valores clave: Esta oferta proporciona una manera de almacenar cualquier tipo de datos sin tener que utilizar un esquema. Esto está en contraste con las bases de datos relacionales, donde es necesario definir el esquema (la estructura de la tabla) antes de introducir ningún dato. Desde tiendas de clave-valor no requieren un esquema, usted tiene una gran flexibilidad para almacenar datos en muchos formatos.

    En un almacén de claves-valor, una fila consiste simplemente en una clave (un identificador) y un valor, que puede ser cualquier cosa, desde un valor entero a una gran cadena de datos binarios. Muchas implementaciones de almacenes de claves y valores se basan en papel Dynamo de Amazon.

  • Tiendas familiares Columna: Aquí tienes las bases de datos en la que las columnas se agrupan en familias de columna y almacenados juntos en el disco.

    En sentido estricto, muchas de estas bases de datos no son columnas orientado, porque se basan en papel BigTable de Google, que almacena los datos como un mapa ordenado multidimensional.

  • Tiendas de Documento: Esta oferta se basa en colecciones de documentos de manera similar codificados y formateados para mejorar la eficiencia. Tiendas de documentos permiten a los documentos individuales en una colección para incluir sólo un subconjunto de los campos, por lo que sólo los datos que se necesita es almacenada. Para los conjuntos de datos dispersos, en muchos campos a menudo no se poblaron, esto puede traducirse en un ahorro de espacio significativos.

    Por el contrario, las columnas vacías en tablas bases de datos relacionales no ocupan espacio. Tiendas de documentos también permite la flexibilidad del esquema, ya que sólo los campos que son necesarios se almacenan, y los nuevos campos se pueden añadir. Una vez más, a diferencia de las bases de datos relacionales, estructuras de tabla se definen por adelantado antes de que se almacenan los datos, y el cambio de columnas es una tarea tediosa que afecta todo el conjunto de datos.

  • Las bases de datos del gráfico: Aquí tienes las bases de datos que almacenan estructuras de gráficos - representaciones que muestran colecciones de entidades (vértices o nodos) y sus relaciones (bordes) entre sí. Estas estructuras permiten a las bases de datos del gráfico a ser muy adecuado para el almacenamiento de estructuras complejas, como las relaciones que unen entre todas las páginas web conocidas. (Por ejemplo, páginas web individuales son nodos y los bordes que conectan los enlaces de una página a otra.)

    Google, por supuesto, es todo sobre la tecnología gráfica, e inventó un motor de procesamiento gráfico llamado Pregel para alimentar su algoritmo PageRank. (Y sí, hay un libro blanco sobre Pregel.) En la comunidad Hadoop, hay un proyecto de Apache llamado Giraph (basado en el papel Pregel), que es un motor de procesamiento gráfico diseñado para procesar gráficos almacenados en HDFS.

Las opciones de almacenamiento de datos y de procesamiento disponibles en Hadoop están en muchos casos, las implementaciones de las categorías NoSQL enumerados aquí. Esto le ayudará a evaluar mejor las soluciones que están disponibles para usted y averigua cómo Hadoop puede complementar los almacenes de datos tradicionales.




» » » » Almacenes de datos NoSQL frente hadoop