Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ACADEMIA:
MGTI. MIRIAN MAGALY CANCHÉ CAAMAL
UNIDAD I. CONCEPTOS DE BASES DE DATOS NO RELACIONALES,
ORIENTADAS A OBJETOS Y A DOCUMENTOS
Cuando evaluaron diferentes tecnologías que pudieran dar soporte a este movimiento de información, analizaron alternativas como clústers de MySQL,
HBase o Cassandra. Facebook había liberado dos años antes el artículo técnico que describía cómo habían desarrollado Cassandra (se verá en la siguiente
sección) para su Omnibox (la caja de búsqueda que actualmente puede verse en cualquier cuenta de Facebook). Cassandra se perfilaba, en un principio, como
candidata, ya que tenían a los equipos técnicos formados y era un sistema desarrollado casi enteramente en la propia empresa. Cuando visualizaron los
patrones de comportamiento de los datos de Messages se dieron cuenta que había dos tipos de datos: un pequeño conjunto de datos muy volátil, y un cada
vez más creciente conjunto de datos que eran muy raramente accedidos. Finalmente, la decisión fue montar el sistema en HBase, puesto que Cassandra tiene
unas particularidades en temas de consistencia de la información que no cuadraban con el sistema que deseaban montar (Muthukkaruppan 2010).
EJEMPLOS
Facebook “HBase proporciona muy buena escalabilidad y rendimiento para esta carga de trabajo y un modelo de
consistencia más simple que Cassandra. A pesar de que hemos trabajado mucho con HBase durante el
año pasado, cuando empezamos nos pareció que era la más completa en cuanto a términos de nuestras
necesidades (balanceo de carga y failover automático, soporte de compresión, múltiples particiones por
servidor, etc.) HDFS, el sistema de archivos subyacente utilizado por HBase, proporciona varias
características interesantes, como la replicación, las sumas (checksum) de comprobación de extremo a
extremo, y el rebalanceo automático. Además, nuestros equipos técnicos ya tenían bastante experiencia
operativa con HDF de haber utilizado procesamiento de datos con Hadoop. Desde que empezamos a
trabajar en HBase, nos hemos interesado en mantener el proyecto mismo de HBase, trabajando de cerca
con la comunidad. La versión de código abierto de HBase es lo que estamos utilizando en la actualidad.”
Actualmente, Facebook utiliza un software propio llamado HydraBase, que toma la idea inicial de HBase, pero realiza algunas modificaciones en los
conceptos más básicos. Por ejemplo, en lugar de alojar cada una de las regiones en un servidor de región, HydraBase aloja cada región en un grupo de
servidores de región. De este modo, en caso de que alguno de los servidores deje de estar accesible no será necesario inicial una reubicación de la región,
sino que esa misma región está ya repartida por otros servidores.
EJEMPLOS
Spotify es un servicio de escucha de música en streaming, presente en más de 50 países,
Spotify que cuenta con 20 millones de canciones, donde diariamente se añaden 20.000 canciones y
que cuenta con unos 40 millones de usuarios activos, entre los cuales, 10 millones de ellos
son usuarios que poseen suscripción de pago. Spotify comenzó únicamente con
postgreSQL como backend para la plataforma, pero a medida que fueron creciendo y las
necesidades de escalabilidad se fueron haciendo más fuertes comenzaron a mirar por
nuevas alternativas.
Según cuenta Alex Liljencrantz, ingeniero backend en Spotify, “básicamente, una vez que alcanzas varios CPDs, la replicación en tiempo real de postgreSQL
no funciona especialmente bien con para escribir volúmenes de datos muy grandes. De esta forma, cuando comenzamos a buscar una solución BigData,
Cassandra fue la que más cumplía nuestras expectativas, por su ausencia de puntos únicos de fallo, y lo que es más importante, su diseño basado en
BigTable. Esto nos aseguraba un nivel de confianza de forma que no perderíamos datos, incluso siendo aun un proyecto muy joven. Básicamente, aun
produciéndose bugs o errores, estaremos seguros de no perder nuestros datos.”
Existen varios servicios de Spotify que hacen uso de Cassandra, pero el que más datos almacena es un clúster con unos 50 terabytes de datos
comprimidos.
EJEMPLOS
Foursquare es una red social cuya actividad consiste en permitir a sus usuarios realizar
Foursquare check-in en lugares concretos (marcar lugares como visitados a medida que el usuario los
visita y compartir la localización con amigos y contactos). Cuando Foursquare decidió
migrar a MongoDB, su capa de backend consistía en una única base de datos relacional.
Debido al crecimiento exponencial que experimentó desde su creación en 2009 hasta
pocos años después, los ingenieros de Foursquare decidieron evaluar, entre otras
soluciones, bases de datos NoSQL. Finalmente encontraron en MongoDB la base de datos
que les permitía solucionar tanto sus necesidades más inmediatas, como las ,
previsiblemente, pudieran surgirles más adelante.
EJEMPLOS
Hace menos de un año eBay compró una empresa llamada Shutl, especializada en realizar envíos. Un servicio
eBay especialmente popular que tiene esta pequeña empresa es la modalidad de envío en el mismo día, que te
permite enviar una mercancía de un lado a otro de Reino Unido en menos de 24h. El record, que puede
visualizarse en su web56, es de 13’ 57’’. EBay Now es un servicio que eBay ofrece, y que se dedica a enviar
productos entre tiendas locales y entre tiendas locales y clientes, cumpliendo el servicio en menos de dos
horas, o en un intervalo de tiempo que el cliente o la tienda receptora especifique, pagando un coste por el
servicio de envío. El equipo que desarrolla y mantiene el servicio sabía que mediante una base de datos basada
en grafos se podría simplificar mucho el modelado del dominio. El sistema que tenían por aquel entonces,
basado en MySQL, estaba comenzando a hacer que el código de base de datos fuera cada vez más lento y
difícil de mantener. Era necesario un cambio para poder mantener la competitividad y la calidad del servicio.
Neo4j fue elegido por su flexibilidad de esquema, que hacía que los desarrollos fueran más rápidos, su mejor
representación del modelo de datos que manejan, y al lenguaje de consulta Cypher, más sencillo y rápido. A
pesar de no tener una escalabilidad tan potente como otros sistemas NoSQL, el equipo implementó Neo4j
afirma que sus tiempos de respuesta mejoraron, literalmente, del orden de miles de veces. Además, el código
con el que realizabas las consultas a la base de datos se redujo, según el caso concreto, entre 10 y 100 veces
(Neo4j 2014).
REFERENCIAS BIBLIOGRÁFICAS
https://core.ac.uk/download/pdf/44310803.pdf?fbclid=IwAR2F5s0ijOuHdg5CO4AoZN1fK9QI_VCtP2sM44491b7
7yRLTtJi_XSzmp-c
PREGUNTAS Y COMENTARIOS