La Red de Conocimientos Pedagógicos - Currículum vitae - Detalles de big data

Detalles de big data

Big Data, o big data, se refiere a información que involucra una cantidad tan grande de datos que no se puede capturar, administrar, procesar y organizar en un tiempo razonable mediante las herramientas de software actuales para ayudar a las empresas a tomar decisiones comerciales más positivas.

Introducción básica Nombre chino: Big data mbth: Big Data o: gran cantidad de datos que incluye: información básica sobre el volumen de datos, puntualidad y diversidad, descripción general de la tecnología, caché, base de datos distribuida, sistema distribuido, Data mart, NoSQL, resumen, información básica Big data no se trata solo de volumen de datos, sino que también incluye volumen de datos, puntualidad, diversidad y sospecha: Volumen: la generación, procesamiento y almacenamiento de grandes cantidades de datos, que literalmente significa big data Datos, que es decir, las diversas interpretaciones de la palabra rapidez que he visto: puntualidad. Pero creo que es más apropiado utilizar la explicación de IBM, que es la puntualidad del procesamiento. Dado que uno de los usos de big data mencionados anteriormente es la predicción del mercado, si la puntualidad del procesamiento es demasiado larga, se perderá el significado de la predicción. Por lo tanto, la puntualidad del procesamiento también es muy crítica para big data. El análisis en profundidad de 5 millones de datos puede llevar sólo 5 minutos. Variedad: La variabilidad se refiere a la forma de los datos. Datos estructurados y no estructurados, incluidos texto, vídeo, páginas web, transmisiones, etc. Precisión: La cuestionabilidad se refiere a la idoneidad de la confiabilidad y calidad de los datos en sí a medida que las fuentes de datos se vuelven más diversas. Si hay algún problema con los datos en sí, los resultados del análisis serán incorrectos. Descripción general de la tecnología Big data es un punto de acceso tecnológico reciente, pero a juzgar por el nombre, no es una palabra nueva. Después de todo, lo grande es un concepto relativo. Históricamente, tecnologías como las bases de datos, los almacenes de datos y los mercados de datos en el campo de la gestión de la información se diseñaron en gran medida para resolver problemas de datos a gran escala. Ya en la década de 1990, Bill Enmen, conocido como el padre del almacenamiento de datos, hablaba a menudo de big data. Sin embargo, como término propio, big data se ha convertido en un punto candente, principalmente debido al rápido desarrollo de Internet, la computación en la nube, los dispositivos móviles y la Internet de las cosas en los últimos años. Los omnipresentes dispositivos móviles, RFID y sensores inalámbricos generan datos cada minuto, y los servicios de Internet para cientos de millones de usuarios generan muchas interacciones en cada momento... La cantidad de datos a procesar es demasiado grande y está creciendo. demasiado rápido La demanda y la presión competitiva han planteado mayores requisitos de tiempo real y eficacia en el procesamiento de datos, que los medios técnicos tradicionales simplemente no pueden satisfacer. En esta circunstancia, los técnicos han desarrollado y adoptado muchas tecnologías nuevas, que incluyen principalmente caché distribuida, bases de datos distribuidas basadas en MPP, sistemas de archivos distribuidos y varias soluciones de almacenamiento distribuido NoSQL. Hace diez años, Eric Brewer propuso el famoso teorema CAP, que señalaba que un sistema distribuido no puede cumplir los tres requisitos de coherencia, disponibilidad y tolerancia de partición, sino que solo puede cumplir dos al mismo tiempo. El enfoque del sistema es diferente y las estrategias adoptadas también son diferentes. Sólo comprendiendo verdaderamente los requisitos del sistema podremos hacer un buen uso del teorema CAP. Los arquitectos generalmente utilizan la teoría CAP en dos direcciones. Las tiendas de valor clave, como Amazon Dynamo, pueden elegir de manera flexible productos de bases de datos con diferentes tendencias según la teoría CAP. Almacenamiento en caché distribuido del modelo de dominio, las soluciones distribuidas flexibles se pueden personalizar de acuerdo con la teoría CAP y sus propios proyectos, pero es más difícil. Para sitios web grandes, la disponibilidad y la tolerancia a las particiones tienen prioridad sobre la coherencia de los datos. Generalmente, harán todo lo posible para diseñar en la dirección de A y P, y luego garantizarán la coherencia de los requisitos comerciales a través de otros métodos. Los arquitectos no deben desperdiciar energía en cómo diseñar un sistema distribuido perfecto que pueda satisfacer los tres, sino que deben saber elegir. Diferentes datos tienen diferentes requisitos de coherencia. Los sitios web de SNS pueden tolerar inconsistencias durante un tiempo relativamente largo sin afectar las transacciones y la experiencia del usuario; sin embargo, los datos de transacciones y contabilidad como Alipay son muy sensibles y generalmente no pueden tolerar inconsistencias por encima del segundo nivel; El almacenamiento en caché se utiliza cada vez más en el desarrollo web. mem-cached es un sistema de almacenamiento en caché de objetos de memoria distribuida desarrollado por danga (el equipo técnico que ejecuta LiveJournal) para reducir la carga de la base de datos y mejorar el rendimiento en sistemas dinámicos.

Figura 1 Composición de Memcached Memcached tiene las siguientes características: protocolo simple; procesamiento de eventos basado en libevent; modo de almacenamiento de memoria incorporado; Memcached está descentralizado y no tiene comunicación entre sí. Memcached procesa cada par (Clave, Valor) (en lo sucesivo, par KV), y la clave se convertirá en una clave hash a través de un algoritmo hash para facilitar la búsqueda, comparación y hash tanto como sea posible. Al mismo tiempo, Memcached utiliza un hash de dos niveles, mantenido por una gran tabla hash. Memcached consta de dos componentes principales: servidor (ms) y cliente (mc). En una consulta memcached, mc primero determina la posición ms del par KV calculando el valor hash de la clave. Cuando se confirma el ms, el mc enviará una solicitud de consulta al ms correspondiente para encontrar los datos exactos. Debido a que no existe interacción ni protocolo de multidifusión, la interacción con Memcached tiene un impacto mínimo en la red. MemcacheDB es un sistema de almacenamiento persistente distribuido de valores clave. No es un componente de almacenamiento en caché, sino un motor de almacenamiento persistente rápido y confiable basado en el acceso a objetos. El protocolo es coherente con Memcached (incompleto), por lo que muchos clientes de Memcached pueden conectarse a él. MemcacheDB utiliza Berkeley DB como componente de almacenamiento persistente, por lo que admite muchas funciones de Berkeley DB. Hay muchos productos de este tipo. Por ejemplo, Taobao Tair es una estructura de almacenamiento de valores clave que se ha utilizado ampliamente en Taobao. Más tarde, Tair también creó una versión persistente. La idea es básicamente la misma que la de Sina MemcacheDB B. La base de datos distribuida Alipay Company fue la primera en China en utilizar la base de datos Greenplum para migrar el almacén de datos de la plataforma Oracle RAC original al clúster Greenplum. Las poderosas capacidades informáticas de Greenplum se utilizan para respaldar las crecientes necesidades comerciales de Alipay. El software Greenplum Data Engine está diseñado para datos a gran escala y capacidades de consulta complejas que requieren los almacenes de datos de próxima generación. Se basa en la arquitectura MPP (procesamiento paralelo masivo) y Shared-Nothing (sin * * *), y está diseñado en base a software de código abierto y hardware comercial x86 (más rentable). Figura 2 Sistema distribuido del software Greenplum Data Engine Cuando se trata de sistemas de archivos distribuidos, se debe mencionar el GFS de Google. Un sistema de clúster basado en una gran cantidad de PC normales instaladas con el sistema operativo Linux. Todo el sistema de clúster consta de un host (normalmente con varias copias de seguridad) y varios TrunkServers. Los archivos en GFS se respaldan en Trunks de tamaño fijo, que se almacenan en diferentes servidores Trunk, y cada Trunk tiene múltiples copias (generalmente 3 copias), también almacenadas en diferentes servidores Trunk. Master es responsable de mantener los metadatos en GFS, es decir, los nombres de los archivos y su información principal. El cliente primero obtiene los metadatos del archivo del servidor principal, se comunica con el TrunkServer correspondiente de acuerdo con la posición de los datos que se leerán en el archivo y obtiene los datos del archivo. Hadoop nació después de la publicación del artículo de Google. A día de hoy, muchas de las mayores empresas de Internet de China utilizan Hadoop. Hadoop se puede ver en el análisis del registro de búsqueda de Baidu y en los almacenes de datos de Tencent, Taobao y Alipay. Un diagrama esquemático de Hive y Hadoop citado por un ingeniero de Facebook. Hadoop tiene las características de bajo costo de hardware, sistema de software de código abierto, gran flexibilidad, que permite a los usuarios modificar su propio código y admite tareas informáticas y de almacenamiento masivo de datos. Hive es una plataforma de almacenamiento de datos basada en Hadoop, que se convertirá en los programas MapReduce correspondientes para su ejecución basada en Hadoop. A través de Hive, los desarrolladores pueden desarrollar ETL fácilmente. Como se muestra en la figura, cito un diagrama de Hive y Hadoop realizado por un ingeniero de Facebook.

El sistema de almacenamiento de archivos distribuido (DFS) de Yonghong Data Mart Data Grid se basa en la mejora y extensión de Hadoop HDFS. Administra y almacena archivos almacenados en todos los nodos del clúster de servidores de manera unificada. Estos nodos incluyen el único NamingNode, que proporciona servicios de metadatos en DFS. Muchos MapNodes proporcionan bloques de almacenamiento. Los archivos almacenados en DFS se dividen en bloques y estos bloques luego se copian en varias computadoras (nodos de mapa). Esto es muy diferente de la arquitectura RAID tradicional. El tamaño de los bloques y el número de bloques copiados los determina el cliente al crear el archivo. El nodo nombrado monitorea las operaciones de archivos, como la creación, eliminación, movimiento, cambio de nombre, etc. de archivos, en todos los nodos del clúster de servidores. Data Mart Data Mart, también conocido como mercado de datos, es un almacén que recopila datos de datos operativos y otras fuentes de datos, al servicio de un grupo profesional especial. En términos de alcance, los datos se extraen de una base de datos, un almacén de datos o un almacén de datos más especializado de toda la empresa. El punto clave del centro de datos es que satisface las necesidades específicas de los usuarios profesionales en términos de análisis, contenido, rendimiento y facilidad de uso. Los usuarios de los centros de datos quieren que los datos se representen en términos con los que estén familiarizados. En el conocido informe extranjero de Garnter sobre productos de data mart, los productos de inteligencia empresarial ágil en el primer cuadrante incluyen QlikView, Tableau y SpotView. Todos son productos de data mart de computación de memoria completa y son más competitivos. que los productos tradicionales de inteligencia empresarial plantean un desafío. Los productos de BI nacionales comenzaron tarde. Los productos de inteligencia empresarial ágiles más conocidos incluyen PowerBI, Z-Suite de Yonghong Technology, SmartBI, etc. Entre ellos, Z-Data Mart de Yonghong Technology es un producto de data mart para computación con memoria caliente. Deon Information también es un integrador de sistemas de productos de data mart en China. Yonghong Data Mart es un software de procesamiento y almacenamiento de datos desarrollado por Yonghong Technology basado en su propia tecnología. La tecnología subyacente de Yonghong Data Mart: 1. Computación distribuida2. Comunicación descentralizada3. Computación en memoria. Almacenamiento de columnas 5. Computación en la tienda NoSQL A medida que crece la cantidad de datos, cada vez más personas prestan atención a NoSQL. Especialmente en la segunda mitad de 2010, Facebook seleccionó HBase como el sistema de almacenamiento de mensajes en tiempo real para reemplazar el sistema Cassandra original. Esto ha atraído mucha atención hacia HBase. La elección de HBase por parte de Facebook se basó en dos necesidades: datos temporales para pequeños lotes a corto plazo y datos a los que rara vez se accede para el crecimiento a largo plazo. HBase es un sistema de almacenamiento distribuido altamente confiable, de alto rendimiento, escalable y orientado a columnas. Utilizando la tecnología HBase, se pueden construir clústeres de almacenamiento estructurados a gran escala en servidores de PC económicos. HBase es una implementación de código abierto de BigTable que utiliza HDFS como sistema de almacenamiento de archivos. Google ejecuta MapReduce para procesar datos masivos en BigTable, y HBase también usa MapReduce para procesar datos masivos en HBase, BigTable usa Chubby como servicio de colaboración y HBase usa Zookeeper como servicio correspondiente. Resumen: El uso de bases de datos NoSQL se ha vuelto cada vez más popular recientemente y casi todas las grandes empresas de Internet están practicando y explorando este aspecto. Además de disfrutar de la escalabilidad inherente, la tolerancia a fallas y el alto rendimiento de lectura y escritura de este tipo de base de datos (aunque NoSQL convencional aún está mejorando), cada vez más necesidades prácticas han llevado a las personas a otras áreas en las que NoSQL no es bueno. búsqueda, análisis estadístico casi en tiempo real, transacciones simples, etc. En la práctica, se combinarán algunas otras tecnologías en torno a NoSQL para formar una solución general. Figura 4 Integración perfecta del sistema de solicitud en línea y la plataforma de datos