Red de conocimiento de abogados - Derecho de sociedades - ¿Cuál es la historia del desarrollo de la era del big data?

¿Cuál es la historia del desarrollo de la era del big data?

La historia del desarrollo de la tecnología de big data: la vida pasada y presente de big data

La tecnología de big data de la que hablamos a menudo hoy en día en realidad se originó a partir de tres artículos publicados por Google alrededor de 2004. es decir, la "troika" de la que oímos hablar a menudo es el sistema de archivos distribuido GFS, el marco informático distribuido de big data MapReduce y el sistema de base de datos NoSQL BigTable.

Como usted sabe, los motores de búsqueda hacen principalmente dos cosas, una es el rastreo web y la otra es la creación de índices, y en este proceso, es necesario almacenar y calcular una gran cantidad de datos. Esta "troika" en realidad se utiliza para resolver este problema. Como puede ver en la introducción, es un sistema de archivos, un marco informático y un sistema de base de datos.

Ahora que escuchas palabras como big data y distribuido, definitivamente no te son desconocidas en absoluto. Pero debes saber que en 2004, todo Internet todavía estaba en una era de ignorancia. El artículo publicado por Google realmente conmocionó a la industria y de repente todos se dieron cuenta de que todavía se podía jugar así.

Porque en ese momento, la mayoría de las empresas todavía se centraban en máquinas individuales, pensaban en cómo mejorar el rendimiento de las máquinas individuales y buscaban servidores mejores y más caros. La idea de Google es implementar un clúster de servidores a gran escala, almacenar datos masivos en este clúster de manera distribuida y luego utilizar todas las máquinas del clúster para realizar cálculos de datos. De esta manera, Google en realidad no necesita comprar muchos servidores costosos, solo necesita organizar estas máquinas comunes y será muy poderoso.

Doug Cutting, un genio programador en ese momento y fundador del proyecto de código abierto Lucene, estaba desarrollando el motor de búsqueda de código abierto Nutch. Después de leer el artículo de Google, estaba muy emocionado y luego lo implementó inicialmente. una solución similar basada en los principios del artículo. GFS y la funcionalidad MapReduce.

Dos años después, en 2006, Doug Cutting separó estas funciones relacionadas con big data de Nutch y luego lanzó un proyecto independiente dedicado al desarrollo y mantenimiento de tecnología de big data, que se hizo famoso más tarde y que incluye principalmente Hadoop. sistema de archivos distribuido HDFS y motor informático de big data MapReduce.

Cuando miramos hacia atrás en la historia del desarrollo de software, incluido el software que desarrollamos nosotros mismos, encontrará que a nadie le importa algún software o solo unas pocas personas lo usan una vez desarrollado. Algunos software pueden crear una industria, generar decenas de miles de millones de dólares en valor cada año y crear millones de puestos de trabajo. Estos software solían ser Windows, Linux y Java, y ahora el nombre de Hadoop se agrega a esta lista.

Si tiene tiempo, simplemente puede explorar el código de Hadoop. Este software escrito exclusivamente en Java en realidad no tiene ninguna dificultad técnica avanzada. Utiliza algunas de las habilidades de programación más básicas y no hay nada. Lo sorprendente es que ha tenido un enorme impacto en la sociedad, provocando incluso una profunda revolución tecnológica y promoviendo el desarrollo y progreso de la inteligencia artificial.

Creo que cuando desarrollamos software, también podemos pensar más en cuál es el valor del software que desarrollamos. ¿Dónde realmente necesitas utilizar el software para obtener valor? Debe prestar atención a los negocios, comprender los negocios, estar orientado a los valores, utilizar su propia tecnología para crear valor real para la empresa y luego darse cuenta del valor de su propia vida. En lugar de enterrar la cabeza en el documento de requisitos todo el día y ser un robot de código sin pensar.

Después del lanzamiento de Hadoop, Yahoo rápidamente comenzó a usarlo. Aproximadamente un año después, en 2007, Baidu y Alibaba también comenzaron a utilizar Hadoop para el almacenamiento y la informática de big data.

En 2008, Hadoop se convirtió oficialmente en el proyecto de alto nivel de Apache, y más tarde el propio Doug Cutting se convirtió en el presidente de la Fundación Apache.

Desde entonces, Hadoop se ha convertido en una estrella en el campo del desarrollo de software.

Ese mismo año, se fundó Cloudera, una empresa comercial especializada en operar Hadoop, y Hadoop recibió más apoyo comercial.

En ese momento, algunas personas de Yahoo sintieron que usar MapReduce para la programación de big data era demasiado problemático, por lo que desarrollaron Pig. Pig es un lenguaje de secuencias de comandos que utiliza una sintaxis similar a SQL. Los desarrolladores pueden usar secuencias de comandos de Pig para describir operaciones en grandes conjuntos de datos. Una vez compilado, Pig generará un programa MapReduce y luego lo ejecutará en Hadoop.

Aunque escribir scripts de Pig es más fácil que la programación directa de MapReduce, aún necesitas aprender una nueva sintaxis de script. Entonces Facebook lanzó Hive nuevamente. Hive admite el uso de sintaxis SQL para cálculos de big data. Por ejemplo, puede escribir una declaración Select para consulta de datos y luego Hive convertirá la declaración SQL en un programa de cálculo MapReduce.

De esta manera, los analistas de datos e ingenieros familiarizados con las bases de datos pueden utilizar big data para el análisis y procesamiento de datos sin ninguna barrera. Después de la aparición de Hive, redujo en gran medida la dificultad de usar Hadoop y rápidamente se hizo popular entre desarrolladores y empresas. Se dice que en 2011, el 90% de los trabajos que se ejecutaban en la plataforma de big data de Facebook procedían de Hive.

Posteriormente, comenzaron a aparecer muchos productos periféricos de Hadoop y gradualmente se formó un ecosistema de big data, que incluye: Sqoop, que se especializa en importar y exportar datos de bases de datos relacionales a la plataforma Hadoop de recopilación distribuida a gran escala; registros, Flume para agregación y transmisión, motor de programación de flujo de trabajo MapReduce, Oozie, etc.

En los primeros días de Hadoop, MapReduce era tanto un motor de ejecución como un marco de programación de recursos. La gestión de programación de recursos del clúster de servidores la completaba el propio MapReduce. Sin embargo, esto no favorece la reutilización de recursos y hace que MapReduce esté muy inflado. Entonces se lanzó un nuevo proyecto para separar el motor de ejecución de MapReduce y la programación de recursos. Este es Yarn. En 2012, Yarn se convirtió en un proyecto independiente y comenzó a operar. Posteriormente, contó con el respaldo de varios productos de big data y se convirtió en el sistema de programación de recursos más importante en la plataforma de big data.

También en 2012 comenzó a surgir Spark desarrollado por el Laboratorio AMP (abreviatura de Algoritmos, Máquinas y Personas) de la UC Berkeley. En ese momento, el Dr. Ma Tie de AMP Lab descubrió que el rendimiento del uso de MapReduce para los cálculos de aprendizaje automático era muy pobre, porque los algoritmos de aprendizaje automático generalmente requieren muchos cálculos iterativos y MapReduce necesita reiniciar un trabajo cada vez que realiza Map and Reduce. cálculos, lo que conlleva mucho consumo innecesario. Otro punto es que MapReduce utiliza principalmente discos como medio de almacenamiento y, en 2012, la memoria superó las limitaciones de capacidad y costos y se convirtió en el principal medio de almacenamiento durante la operación de datos. Una vez lanzado, Spark se hizo inmediatamente popular en la industria y gradualmente reemplazó a MapReduce en las aplicaciones empresariales.

En términos generales, los escenarios de negocios procesados ​​por marcos informáticos como MapReduce y Spark se denominan computación por lotes, porque generalmente realizan un cálculo sobre los datos generados en "días" y luego obtienen el tiempo requerido para lo requerido. Los resultados probablemente sean decenas de minutos o incluso más. Debido a que los datos calculados no son datos en tiempo real obtenidos en línea, sino datos históricos, este tipo de cálculo también se denomina cálculo de big data fuera de línea.

En el campo del big data, existe otro tipo de escenario de aplicación, que requiere cálculos instantáneos sobre grandes cantidades de datos generados en tiempo real, como el reconocimiento facial y el seguimiento de sospechosos para cámaras de vigilancia en toda la ciudad.

Este tipo de cálculo se denomina computación de flujo de big data. En consecuencia, existen marcos de computación de flujo como Storm, Flink y Spark Streaming para enfrentar escenarios de aplicaciones de big data. Los datos que se procesarán mediante la computación en streaming son datos generados en línea en tiempo real, por lo que este tipo de computación también se denomina computación en tiempo real de big data.

En escenarios empresariales típicos de big data, el enfoque más común para el negocio de datos es utilizar tecnología de procesamiento por lotes para procesar la cantidad total de datos históricos y utilizar computación de transmisión para procesar nuevos datos en tiempo real. Los motores informáticos como Flink pueden admitir tanto la informática en streaming como la informática por lotes.

Además del procesamiento por lotes y el procesamiento de flujos de big data, los sistemas NoSQL se ocupan principalmente del almacenamiento y acceso a datos masivos a gran escala, por lo que también se clasifican como tecnología de big data. NoSQL fue muy popular alrededor de 2011 y surgieron muchos productos excelentes como HBase y Cassandra, un sistema NoSQL basado en HDFS que se separó de Hadoop.

Cuando miramos hacia atrás en la historia del desarrollo de software, encontraremos que el software con funciones casi similares apareció muy cerca uno del otro. Por ejemplo, Linux y Windows aparecieron a principios de la década de 1990, y varios MVC. frameworks en el desarrollo de Java Básicamente aparecieron al mismo tiempo, y Android e iOS también salieron en primer y segundo lugar. Alrededor de 2011, varias bases de datos NoSQL surgieron una tras otra. También fue en ese momento que participé en el desarrollo del propio sistema NoSQL de Alibaba.

El desarrollo de las cosas tiene sus propias tendencias y leyes. Cuando estás en la tendencia, debes aprovechar la oportunidad de la tendencia y encontrar formas de destacar. Incluso si no tienes éxito, lo tendrás. una mejor comprensión del pulso de los tiempos. Adquirir valiosos conocimientos y experiencia. Y si la tendencia ha retrocedido, si continuamos trabajando en esta dirección en este momento, sólo conseguiremos confusión y depresión, lo que será de poca ayuda para los tiempos y para nosotros mismos.

Pero las olas de estos tiempos son como olas en la playa, siempre vienen una tras otra. Mientras estés en la playa y estés en esta industria, la próxima ola llegará pronto. Debes observar con sensibilidad y profundidad, ignorar esas burbujas impetuosas, aprovechar la oportunidad de la tendencia real y probarla, independientemente del éxito o el fracaso, no te arrepentirás.

Como dice el refrán, avanzamos en la lógica del progreso histórico y nos desarrollamos en la tendencia de los tiempos. En términos sencillos, significa volar con el viento.

Lo que hablé anteriormente se puede clasificar básicamente como motores de big data o marcos de big data. Los principales escenarios de aplicación del procesamiento de big data incluyen análisis de datos, minería de datos y aprendizaje automático. El análisis de datos se completa principalmente utilizando motores SQL como Hive y Spark SQL; la minería de datos y el aprendizaje automático incluyen marcos de aprendizaje automático especializados como TensorFlow, Mahout y MLlib, que tienen incorporados importantes algoritmos de aprendizaje automático y minería de datos.

Además, los big data deben almacenarse en el sistema de archivos distribuido (HDFS), la ejecución de los trabajos de MapReduce y Spark debe programarse de manera ordenada y los resultados de la ejecución deben escribirse en la base de datos de cada aplicación. El sistema también requiere una plataforma de big data que integre todos estos componentes de big data y sistemas de aplicaciones empresariales.

Todos estos marcos, plataformas y algoritmos relacionados en la figura juntos constituyen el sistema técnico de big data. Los analizaré uno por uno al final de la columna para ayudarlo a comprender los principios y aplicaciones de big data. tecnología de datos. El algoritmo construye un sistema de conocimiento completo. Si ingresa, puede especializarse en el desarrollo de big data. Si se retira, podrá integrarse mejor con big data en su propio desarrollo de aplicaciones y controlar sus propios proyectos.

¡Espero que te ayude! ~