Vivimos en la era digital donde la información nos bombardea por todos lados y por varias fuentes, pero en este articulo descubriremos que es Big data y MongoDB
¿Qué es Big Data?
Big Data es no solo como su nombre lo indica cantidades enormes de información sino además el análisis e interpretación de dicha información para obtener datos con valor. Hablemos un poco de datos, en un solo segundo, se generan 8,941 Tweets, 986 imagenes se suben a Instagram, se crean 1,688 publicaciones de Tumblr, se hacen 4,590 llamadas por Skype, se transmiten 91,202 GB de información en internet, se hacen 82,268 búsquedas en Google, se reproducen 83,700 videos en Youtube y se envian 2,903,737 correos electrónicos (fuente: internetlivestats.com), estos son solo algunos ejemplos de las cantidades masivas de información que se generan en el mundo y el Big Data busca usar este tipo de información y muchos más para obtener un beneficio.
Las 5 Vs
Al Big Data se le asociaba inicialmente con “Las 3 Vs” que son:
Volumen, ya que se trata con volúmenes inmensurables de información.
Variedad, pues al ser datos de muchas fuentes distintas tienen formatos distintos
Velocidad, como vimos en la sección anterior cada segundo que pasa se genera más información.A estas se han agregado 2 más, que son:
Veracidad, ya que la información falsa puede interferir en los resultados deseados.
Valor de la información pues no toda la información agrega un valor para el beneficio que se busca obtener.
NoSQL
Ahora sabemos que necesitamos tratar con cantidades enormes de información que además no tiene un formato único, esta es la especialidad y el porque fueron creadas las bases de datos de tipo NoSQL o no relacionales, que a diferencia de las bases de datos relacionales no necesitan un esquema definido y además ofrecen una capacidad para escalabilidad horizontal de la cual la mayoría de las bases de datos tradicionales carecen.
MapReduce
En el 2004, Google para resolvió el problema de cómo procesar largas cantidades de información de forma paralela con un modelo de programación que desde entonces se conoce como MapReduce, explicado de una forma sencilla MapReduce consta de una fase en la que mapea la información de forma paralela y luego se reduce para obtener un resultado.
Explicar a detalle el proceso queda fuera del objetivo de este artículo, pero MapReduce de Google es el precursor de cualquier proceso involucrado actualmente con Big Data, proyectos como Apache Hadoop, Apache Mahout, Infinispan son algunas de las más conocidas implementaciones de MapReduce.
MongoDB
Si hablamos de bases de datos no relacionales uno de los primeros nombres que vienen a la mente y por una buena razón es Big data y MongoDB, siendo una base de datos orientada a documentos que implementa métodos de agregación como MapReduce y su propio framework de agregación, además de permitir escalabilidad horizontal con sus capacidades de fragmentación (sharding) es una opción sólida para resolver problema de Big Data. Además ofrece la ventaja que al usar un motor de Javascript, siendo este uno de los lenguajes más populares de la última década, tiene una menor curva de aprendizaje que algunos de sus competidores.
Por supuesto tiene ventajas y desventajas como cualquier software y dependiendo del problema puede que sea mejor usar otra herramienta, pero definitivamente es una opción sólida y que debe ser tomada en cuenta si estás buscando entrar al mundo del Big Data.