Articulo de referencia

Mesa grande

Bigtable es un servicio de base de datos NoSQL de clave-valor y columnas anchas totalmente administrado para grandes cargas de trabajo analíticas y operativas, que forma parte d...

Bigtable es un servicio de base de datos NoSQL de clave-valor y columnas anchas totalmente administrado para grandes cargas de trabajo analíticas y operativas, que forma parte del portafolio de Google Cloud .

Historia

El desarrollo de Bigtable comenzó en 2004. [ 1 ] Actualmente lo utilizan varias aplicaciones de Google, como Google Analytics , [ 2 ] la indexación web, [ 3 ] MapReduce , que se usa a menudo para generar y modificar datos almacenados en Bigtable, [ 4 ] Google Maps , [ 5 ] la búsqueda de Google Libros , "Mi historial de búsqueda", Google Earth , Blogger.com , el alojamiento de Google Code , YouTube , [ 6 ] y Gmail . [ 7 ] Las razones de Google para desarrollar su propia base de datos incluyen la escalabilidad y un mejor control de las características de rendimiento. [ 8 ]

Apache HBase y Cassandra son algunos de los proyectos de código abierto más conocidos que se inspiraron en Bigtable. Bigtable ofrece API compatibles con HBase y Cassandra .

El 6 de mayo de 2015, se lanzó una versión pública de Bigtable como parte de Google Cloud bajo el nombre de Cloud Bigtable. [ 2 ]

A abril de 2024, Bigtable gestiona más de 10 exabytes de datos y atiende más de 7 mil millones de solicitudes por segundo. [ 9 ] Desde su lanzamiento, Google anunció varias actualizaciones para Bigtable, incluyendo compatibilidad con SQL , vistas materializadas incrementales , índices secundarios globales y escalabilidad automatizada. [ 10 ]

Diseño

Bigtable es uno de los ejemplos prototípicos de un almacén de columnas anchas . Asigna dos valores de cadena arbitrarios (clave de fila y clave de columna) y una marca de tiempo (por lo tanto, una asignación tridimensional) a una matriz de bytes arbitraria asociada. No es una base de datos relacional y se puede definir mejor como un mapa ordenado multidimensional disperso y distribuido. [ 3 ] : 1 Está construido sobre Colossus ( Google File System ), Chubby Lock Service , SSTable (almacenamiento estructurado en registros como LevelDB ) y algunas otras tecnologías de Google . Bigtable está diseñado para escalar al rango de petabytes en "cientos o miles de máquinas, y para que sea fácil agregar más máquinas [al] sistema y comenzar a aprovechar automáticamente esos recursos sin ninguna reconfiguración". [ 11 ] Por ejemplo, la copia de la web de Google se puede almacenar en un bigtable donde la clave de fila es una URL invertida de dominio , y las columnas describen varias propiedades de una página web, con una columna en particular que contiene la página en sí. La columna de página puede contener varias versiones con marca de tiempo que describen diferentes copias de la página web, con la fecha y hora de su obtención. Cada celda de una tabla grande puede tener cero o más versiones de los datos con marca de tiempo. Otra función de la marca de tiempo es permitir tanto el control de versiones como la eliminación de datos obsoletos.

Las tablas se dividen en múltiples tabletas : los segmentos de la tabla se dividen en ciertas claves de fila de modo que cada tableta tenga un tamaño de unos cientos de megabytes o unos pocos gigabytes. Una tabla grande es similar a un grupo de trabajadores de MapReduce, ya que cientos o miles de fragmentos de tabletas pueden ser atendidos por cientos o miles de servidores de BigTable. Cuando el tamaño de la tabla amenaza con crecer más allá de un límite especificado, las tabletas pueden comprimirse utilizando el algoritmo BMDiff [ 12 ] [ 13 ] y el algoritmo de compresión Zippy [ 14 ] conocido públicamente y de código abierto como Snappy [ 15 ] , que es una variación menos óptima en cuanto a espacio de LZ77 , pero más eficiente en términos de tiempo de computación. Las ubicaciones en el GFS de las tabletas se registran como entradas de base de datos en múltiples tabletas especiales, que se denominan tabletas "META1". Las tablas META1 se encuentran consultando la tabla "META0", que normalmente reside en un servidor propio, ya que los clientes suelen consultarla para conocer la ubicación de la tabla "META1", la cual contiene la respuesta sobre la ubicación de los datos. Al igual que el servidor maestro de GFS, el servidor META0 no suele ser un cuello de botella, puesto que el tiempo de procesamiento y el ancho de banda necesarios para descubrir y transmitir las ubicaciones de META1 son mínimos, y los clientes almacenan en caché las ubicaciones de forma intensiva para minimizar las consultas.

Referencias

  1. Hitchcock, Andrew (2005). "Bigtable de Google" . Recuperado el 29 de julio de 2007. Primero, una descripción general . Bigtable ha estado en desarrollo desde principios de 2004 y ha estado en uso activo durante aproximadamente ocho meses (alrededor de febrero de 2005).
  2. 1 2 "Anuncio de Google Cloud Bigtable: La misma base de datos que impulsa Google Search, Gmail y Analytics ya está disponible en Google Cloud Platform" . Blog de Google . 6 de mayo de 2015. Consultado el 21 de septiembre de 2016 .
  3. 1 2 Chang et al. 2006 .
  4. Chang et al. 2006 , p. 3: «Bigtable se puede usar con MapReduce, un marco de trabajo para ejecutar cálculos paralelos a gran escala desarrollado en Google. Hemos escrito un conjunto de adaptadores que permiten usar Bigtable tanto como fuente de entrada como destino de salida para trabajos de MapReduce».
  5. Hitchcock, Andrew (2005). "Google's Bigtable" . Recuperado el 29 de julio de 2007. Actualmente hay alrededor de 100 celdas para servicios como Imprimir, Historial de búsqueda, Mapas y Orkut.
  6. Cordes, Kyle (12 de julio de 2007). "Charla sobre escalabilidad de YouTube" . Su nueva solución para las miniaturas consiste en usar Bigtable de Google, que ofrece un alto rendimiento para un gran número de filas, tolerancia a fallos, almacenamiento en caché, etc. Este es un buen (¿y raro?) ejemplo de sinergia real en una adquisición.
  7. "Cómo se almacenan las entidades y los índices", Google App Engine , Google Code, archivado del original el 7 de enero de 2012 , consultado el 17 de abril de 2014..
  8. Chang et al. 2006 , Conclusión: «Hemos descrito Bigtable, un sistema distribuido para almacenar datos estructurados en Google... A nuestros usuarios les gusta el rendimiento y la alta disponibilidad que ofrece la implementación de Bigtable, y que pueden escalar la capacidad de sus clústeres simplemente añadiendo más máquinas al sistema a medida que cambian sus necesidades de recursos con el tiempo... Finalmente, hemos descubierto que existen ventajas significativas al desarrollar nuestra propia solución de almacenamiento en Google. Hemos obtenido una flexibilidad sustancial al diseñar nuestro propio modelo de datos para Bigtable.»
  9. "Celebramos 20 años de Bigtable con emocionantes anuncios en Next" . Blog de Google Cloud . 11 de abril de 2024.
  10. Kerner, Sean Michael (27 de enero de 2022). "Google amplía la base de datos NoSQL Cloud Bigtable" . TechTarget . Consultado el 10 de octubre de 2022 .
  11. "Sistema de archivos de Google y Bigtable", Radar ( blog de la World Wide Web ) , Historias de guerra de bases de datos, O'Reilly, mayo de 2006.
  12. "Google Bigtable, compresión, Zippy y BMDiff" . 12 de octubre de 2008. Archivado del original el 1 de mayo de 2013. Consultado el 14 de abril de 2015 ..
  13. Bentley, Jon; McIlroy, Douglas (1999). Compresión de datos mediante cadenas comunes largas . DCC '99: Actas de la Conferencia sobre Compresión de Datos. IEEE Computer Society. CiteSeerX 10.1.1.11.8470 . doi : 10.1109/DCC.1999.755678 . 
  14. "Bigtable de Google", Outer court (Weblog) , 23 de octubre de 2005.
  15. "rápido" . google.github.io .

Bibliografía

  • Bigtable: Un sistema de almacenamiento estructurado distribuido , WashingtonVídeo , archivado del original el 18 de abril de 2011 , recuperado el 11 de julio de 2006..
    • UWTV , archivado del original (vídeo) el 15 de junio de 2006..
    • Hitchcock, Andrew, Bigtable de Google (notas sobre la presentación oficial) , consultado el 29 de julio de 2007..
  • Carr, David F (6 de julio de 2006), "Cómo funciona Google" , Baseline.
  • "¿Está condenada la base de datos relacional?", Read-write web , 12 de febrero de 2009, archivado del original el 10 de noviembre de 2012..
Obtenido de " https://en.wikipedia.org/w/index.php?title=Bigtable&oldid=1359872570 "