Colección de citas famosas - Colección de consignas - ¿Cuál es la diferencia esencial entre una base de datos relacional y Hadoop?

¿Cuál es la diferencia esencial entre una base de datos relacional y Hadoop?

¿Cuál es la diferencia esencial entre una base de datos relacional y Hadoop? Tienen la misma idea y se distribuyen en procesamiento paralelo. La esencia es definitivamente la misma, pero los escenarios de aplicación son diferentes:

1. Hadoop es un producto liviano y de código abierto. No es tan complejo como dpf y requiere mucho esfuerzo para construir un entorno DPF.

2.hadoop puede procesar datos semiestructurados y no estructurados.

Pero Hadoop debe escribir la función de reducción de mapas, que es mucho más conveniente y flexible que SQL. . .

En términos de procesamiento de datos estructurados, personalmente creo que el rendimiento de la base de datos de MPP no será peor que el de Hadoop. Cuando la gente piensa en MPP, piensa en servidores, almacenamiento externo, redes de fibra óptica y una buena planificación. Piensan que el coste es alto, por lo que todos optan por hadoop :)

Referencia: itpub. /hilo-1566914-1-1.

¡Son dos cosas completamente diferentes! Una es la base de datos y la otra es la infraestructura del sistema distribuido. ¡No hay comparación entre los dos!

Supongo que lo que quieres preguntar es la diferencia entre las bases de datos hbase, nosql y relacionales de Hadoop.

:Hu Zhi. /question/20059632

En términos generales, las bases de datos relacionales se utilizan para respuestas eficientes a consultas en tiempo real. Pero es débil en el análisis fuera de línea de big data. Hadoop es muy adecuado para el análisis de big data fuera de línea.

La diferencia entre bases de datos relacionales y bases de datos no relacionales es en realidad un conjunto de indicadores que apuntan a los datos de la tabla, y el orden de los índices es en realidad el orden de los indicadores. Índice agrupado: el orden de almacenamiento físico de las tablas es el mismo que el orden de los indicadores (es decir, el orden lógico). Índice no agrupado: el orden físico y lógico son diferentes. Debido a que una tabla solo puede tener un orden físico, el número máximo de índices agrupados solo puede ser 1. Entre ellos, el índice único agrega restricciones únicas al índice. No se permiten valores duplicados al agregar o modificar datos en una columna indexada. Puede ser un índice agrupado o un índice no agrupado. No se permite que las claves primarias sean NULL, los índices únicos sí lo son. Pero los índices únicos sólo permiten un NULL. El índice de clave principal define la columna de clave principal como un índice y la clave principal es única, por lo que el índice de clave principal es una forma especial de índice único.

La diferencia entre bases de datos relacionales y bases de datos no relacionales La esencia de las bases de datos no relacionales: los productos de bases de datos no relacionales son versiones funcionales de las bases de datos relacionales tradicionales, que mejoran enormemente el rendimiento del producto al reducir las funciones no utilizadas o poco utilizadas. .

Las estructuras de datos relacionales simplifican algunas estructuras de datos complejas en relaciones binarias simples (es decir, forma tabular bidimensional). Las bases de datos no relacionales generalmente se dividen en bases de datos jerárquicas y bases de datos de red. El sistema de base de datos establecido en base a la estructura de datos de la cuadrícula se denomina sistema de base de datos de cuadrícula. Las estructuras de datos de cuadrícula se pueden convertir matemáticamente en estructuras de datos jerárquicas.

Un modelo jerárquico es esencialmente un árbol ordenado dirigido con un nodo raíz (en matemáticas, un "árbol" se define como un gráfico acíclico conectado).

Las principales bases de datos relacionales actuales incluyen Oracle, DB2, Microsoft SQL Server, Microsoft Aess, MySQL, etc.

Las bases de datos no relacionales incluyen NoSql y Cloudant.

¿Comparación entre NoSQL y bases de datos relacionales?

Ventajas:

1) Costo: la base de datos NoSQL es simple y fácil de implementar, y es básicamente un software de código abierto. No requiere mucho dinero para comprarlo y usarlo como Oracle, y es más barato que las bases de datos relacionales.

2) Velocidad de consulta: la base de datos Nosql almacena datos en el caché, mientras que las bases de datos relacionales almacenan datos en el disco duro, por lo que la velocidad de consulta natural es mucho más lenta que la de la base de datos nosql.

3) El formato de almacenamiento de datos: el formato de almacenamiento de nosql es clave, valor, documento, imagen, etc. , por lo que puede almacenar tipos básicos y varios formatos, como objetos o colecciones, mientras que las bases de datos solo admiten tipos básicos.

4) Paquete de expansión: las bases de datos relacionales están limitadas por mecanismos de consulta de múltiples tablas como la unión, y es difícil expandir el paquete.

Desventajas:

1) Las herramientas y materiales de mantenimiento son limitados, porque NoSQL es una tecnología nueva y no se puede comparar con la tecnología de bases de datos relacionales de hace 10 años.

2) SQL no es compatible. Si no se admiten estándares industriales como SQL, algunos usuarios tendrán costos de aprendizaje y uso.

3) No proporciona una base de datos relacional para manejar las cosas.

La diferencia entre hbase y la base de datos relacional Mongodb se utiliza para almacenar datos no estructurados, especialmente datos en formato json. La capacidad de almacenamiento es de aproximadamente 654,38+0 mil millones. A menos que se divida en diferentes bibliotecas, la eficiencia disminuirá aún más.

Hbase es un almacenamiento en columnas basado en HDFS. Es bueno para consultas rápidas de claves de fila, pero no es bueno para consultas de coincidencias difusas (en realidad, pre-difusas o completamente difusas), pero la capacidad de almacenamiento puede alcanzar decenas. miles de millones o más, mucho más grande que mongodb.

¿Cuál es la diferencia entre una base de datos relacional y una base de datos en tiempo real? ■Datos e información de bases de datos relacionales

Las bases de datos relacionales se basan en álgebra de conjuntos y utilizan métodos matemáticos para procesar datos en la base de datos. Varias entidades del mundo real y diversas relaciones entre entidades están representadas por modelos relacionales.

El modelo relacional consta de tres partes: estructura de datos relacionales, conjunto de operaciones relacionales y restricciones de integridad relacional.

Doce estándares para un sistema totalmente relacional

Un sistema relacional completo debe soportar plenamente todas las características del modelo relacional. E.F. Codd, el fundador del modelo relacional, dio los principios básicos que debe seguir todo el sistema relacional.

; Criterio 0 "": Un sistema de base de datos relacional en forma relacional debe poder administrar la base de datos completamente a través de sus capacidades relacionales.

; Directriz 1 'Directriz de información: Toda la información en un sistema de base de datos relacional debe representarse explícitamente en la capa lógica mediante valores en tablas.

; Criterio 2 'Criterios de acceso garantizado: se garantiza que se accederá a cada elemento de datos en una base de datos relacional de manera lógica según la combinación del nombre de la tabla, el código principal y el nombre de la columna.

; Criterio 3 'Manejar valores nulos sistemáticamente: los sistemas de bases de datos relacionales con relaciones completas admiten el concepto de valores nulos y manejan valores nulos de manera sistemática.

; Criterio 4' 'Diccionario de datos dinámico en línea basado en modelo relacional: la descripción de la base de datos es la misma que la descripción de datos ordinarios en la capa lógica

Estándar 5 "Sublenguaje de datos unificados:

Un sistema de base de datos relacional. Puede haber varios idiomas y varios métodos de acceso al terminal, pero debe tener un idioma cuyas oraciones puedan representarse mediante cadenas estrictamente gramaticales y que puedan soportar completamente varias reglas.

; Estándar 6 ‘Estándar de actualización de vistas: todas las vistas que en teoría son actualizables también deben poder ser actualizadas por el sistema.

; Operaciones de inserción, modificación y eliminación de alto orden del 'Principio 7': el sistema debe realizar la optimización de consultas para varias operaciones.

;Independencia física de los datos: no importa cómo se almacenen o se acceda a los datos de la base de datos, las actividades de la aplicación y del terminal permanecen lógicamente sin cambios.

; Criterio 9 ‘Independencia lógica de los datos: las actividades de la aplicación y del terminal permanecen lógicamente sin cambios cuando ocurre cualquier cambio en la relación subyacente en la que la información teóricamente no se destruye.

;Estándar 10 ""Independencia de la integridad de los datos: las restricciones de integridad para las bases de datos relacionales deben definirse en el lenguaje de la base de datos y almacenarse en el diccionario de datos.

; Estándar 11 'Independencia de distribución: un sistema de base de datos relacional mantiene la lógica sin cambios cuando se introducen datos distribuidos o se redistribuyen.

; Estándar 12 'Estándar no destructivo: si el sistema de base de datos relacional tiene un lenguaje de bajo nivel, entonces este lenguaje de bajo nivel no puede violar ni eludir el estándar de integridad.

■La base de datos en tiempo real es una rama del desarrollo de sistemas de bases de datos que es adecuada para procesar datos continuamente actualizados y que cambian rápidamente, así como transacciones de tiempo limitado. La tecnología de bases de datos en tiempo real es el producto de la combinación de sistemas en tiempo real y tecnología de bases de datos. Los investigadores esperan utilizar la tecnología de bases de datos para resolver problemas de gestión de datos en sistemas en tiempo real, mientras utilizan la tecnología en tiempo real para proporcionar algoritmos de asignación de recursos y programación basados ​​en el tiempo para bases de datos en tiempo real. Sin embargo, la base de datos en tiempo real no es una simple integración de las dos en términos de conceptos, estructuras y métodos. Es necesario realizar una investigación teórica en profundidad sobre muchos temas, como modelos de datos en tiempo real, estrategias de asignación de recursos y programación de transacciones en tiempo real, lenguajes de consulta de datos en tiempo real y comunicación de datos en tiempo real basados ​​en diferentes requisitos de aplicación y características de la aplicación.

Los principales contenidos de investigación de los sistemas de bases de datos en tiempo real incluyen:

Modelo de base de datos en tiempo real

Programación de transacciones en tiempo real: incluido control de concurrencia, resolución de conflictos, interbloqueos, etc.

Tolerancia a fallos y recuperación de errores

Control de permisos de acceso

Organización y gestión de la memoria

Programación de E/S y disco

Sistema de base de datos de memoria principal

Problema de cálculo inexacto

Problema de serialización relajada

SQL en tiempo real

Predictibilidad de transacciones en tiempo real

El estado de la investigación y el desarrollo de sistemas de bases de datos en tiempo real aparecieron por primera vez en el primer número especial de ACM SIGMOD Records en marzo de 1988. Posteriormente, surgió gradualmente un grupo de investigación maduro, que marcó la integración del campo de tiempo real y el campo de bases de datos y el establecimiento de un nuevo campo de investigación de bases de datos en tiempo real. Desde entonces, han aparecido una gran cantidad de artículos y prototipos de sistemas en bases de datos en tiempo real. El grupo de bases de datos en tiempo real del Laboratorio de Tecnología de Interacción Humano-Computadora y Procesamiento Inteligente de Información se ha comprometido con la investigación y el desarrollo de sistemas en tiempo real, inteligencia en tiempo real, sistemas de bases de datos en tiempo real y tecnologías relacionadas, y ha logrado ciertos resultados.