¿Por qué las personas almacenan grandes datos utilizando buffers de protocolo (o equivalente)?

Contestaría su pregunta con otra: ¿cuál sería la alternativa?

Para muchos casos de uso, el clúster Spark efectivamente tiene un solo “almacén de datos”, y es HDFS. HDFS no tiene ninguna funcionalidad de tipo de base de datos incorporada, como tablas, columnas, etc., es un sistema de archivos, por lo que solo hay archivos y carpetas.

En este caso, lo mejor que podemos hacer es que los archivos en nuestro sistema de archivos sean:

  1. lo más compacto posible (para reducir las necesidades de E / S al realizar consultas)
  2. Rápido para serializar y deserializar (para reducir las necesidades de CPU al realizar consultas)
  3. estar en un formato que le permita a Spark hacer el tipo de optimizaciones que una base de datos más tradicional (Parquet es un formato de archivo que Spark reconoce y consulta mucho más rápido con él)

Yo diría que Thrift ya llega a # 1 y # 2, y puede implementar # 3 escribiendo sus objetos Thrift en Parquet (aquí está el archivo fuente que hace que Parquet / parquet-mr)

Solo que estos admiten la evolución y el control de versiones de Schema. Eso facilita la tarea de mezclar agentes, cada uno trabajando con una versión diferente del esquema.

Su compatibilidad, creo, no es de 2 vías. Un nuevo consumidor de esquemas puede comprender los datos de un antiguo productor … pero un viejo consumidor no puede entender los nuevos datos del esquema. Por lo tanto, los consumidores deben actualizarse con un nuevo esquema o, de lo contrario, se desatará un infierno.

Pero, ¿por qué alguien los usaría para almacenamiento? Solo que serializan datos y los almacenan de forma compacta. Son más favorables como entradas para reducir mapas que cualquier otra cosa. Puede asegurarse de que los datos de esquema antiguos y nuevos se puedan analizar juntos. Esta es mi comprensión periférica.

-editar-

He leído el libro de Big Data de Nathan Marz, el creador de Apache Storm y la arquitectura Lambda. Utiliza el ahorro de manera extensiva para almacenar el conjunto de datos maestros en el que se realiza todo el procesamiento por lotes.

Creo que el hecho es binario y altamente optimizado. A una escala muy grande, el rendimiento minúsculo aumenta el rendimiento general. El análisis también es súper rápido.

More Interesting

¿Qué proyectos puedo hacer en R?

Como científico de datos, ¿sería prudente familiarizarme con los servicios de informes SQL?

¿Cuál es la diferencia entre Data science, Big Data y Hadoop?

¿Cómo es útil Python en análisis de datos? ¿Qué características le dan una ventaja sobre otras herramientas de ciencia de datos?

¿Cuáles son los diferentes caminos para convertirse en un científico de datos en grandes empresas como Google o Facebook, si acabo de comenzar a trabajar como científico de datos en una startup de análisis de datos en India después de mi graduación en el campo de la electrónica?

¿Cómo explicará la precisión media promedio ( [correo electrónico protegido] ) a un cliente comercial en una sola oración?

¿Qué es la clasificación bayesiana en la minería de datos?

¿Por qué hay tanta locura por la ciencia de datos en estos días?

¿Cuál es la mejor aplicación de recuperación de datos de la tarjeta SD para Android (Play Store)?

¿Cuál es el mejor instituto de capacitación en análisis de datos en Delhi?

¿Cuál es la mejor institución para aprender un curso de análisis de negocios / ciencia de datos en Hyderabad?

¿Cuál es la mejor opción para estudiar análisis de datos?

Planificación de MS en Informática o Ciencia de Datos. También teniendo en cuenta que tomaré un préstamo, ¿qué país / colegio / universidad sugeriría?

¿Quién gana más? Analista de datos o analista de negocios?

¿Cómo y de qué sitios web y libros puedo aprender en profundidad los conceptos de ciencia de datos para prepararme para el nivel de entrevista?