En mi opinión, hay 3 puntos fundamentales que una aplicación de Big Data debería tener:
- Alta disponibilidad
- Alto rendimiento
- Analítica
Los primeros 2 puntos se logran mediante diversos grados de replicación, equilibrio de carga y fragmentación de la base de datos. El equilibrio de carga es un proceso de replicar su código en muchos servidores y hacer que cada servidor comunique su estado y disponibilidad. Por lo tanto, cualquier solicitud se enviará solo a servidores que estén disponibles y que otras solicitudes no hayan sobrecargado. Una aplicación de big data a gran escala como Facebook tendría miles de servidores dedicados al equilibrio de carga.
La división de bases de datos es el proceso de dividir una base de datos en varias bases de datos ubicadas en diferentes servidores. Cada base de datos tendrá la misma estructura de datos, pero almacenará diferentes filas de datos. Cada una de esas bases de datos se denominará “nodo”. Por ejemplo, si una aplicación almacena detalles de millones de usuarios y metadatos asociados, los usuarios pueden agruparse en diferentes bases de datos basadas, por ejemplo, en la ubicación geográfica, una letra del alfabeto o un año de registro. Como los procesos de lectura desde disco, escritura en disco y escaneo de grandes tablas de bases de datos son computacionalmente costosos, esta configuración actúa como un equilibrio de carga para estos procesos.
- ¿Cómo es una implementación de ciencia de datos de producción?
- ¿Cómo se puede utilizar la realidad virtual para enseñar ciencia de datos de manera más eficiente?
- ¿Cuáles son algunas ideas de proyectos de ciencia de datos de baloncesto?
- ¿Cómo es un gran impacto el Big Data?
- ¿Cuáles son las ventajas de 'Big Data' sobre las técnicas estándar?
Yo personalmente recomendaría a Cassandra como la tecnología para una solución de Big Data, ya que está específicamente diseñada para permitir una fácil implementación en varios nodos. Este artículo proporciona un buen ejemplo de por qué Cassandra es una buena opción para una aplicación web con uso intensivo de datos:
Cómo Discord almacena miles de millones de mensajes
En comparación con HBase (la base de datos que forma parte de Hadoop), Cassandra es conocida por su mayor rendimiento y disponibilidad. La única desventaja de Cassandra en comparación con HBase es que Cassandra no viene con buenas herramientas de análisis. Sin embargo, Hadoop y Cassandra se pueden combinar para proporcionar lo mejor de ambos mundos. Este artículo ofrece una breve descripción del proceso:
Cassandra vs. Hadoop: una mirada comparativa | Qubole
Finalmente, este artículo proporciona un resumen de una arquitectura de big data y contiene varios enlaces útiles para obtener más información sobre el tema:
Cómo se crean las aplicaciones web de Big Data