Sei sulla pagina 1di 11

UNIVERSIDAD INTERAMERICANA DE PANAMÁ

FACULTAD DE INGENIERIA Y SISTEMAS

MATERIA: Base de datos 1

Grupo/ Horario: - Martes 5:45PM – 9:45PM

Estudiantes
JAVIER BALSAS
DIANA PAZ
ÁNGEL BUITRAGO
HUMBERTO KUNKLIS

Profesor: Raúl Pérez


Asignación: Charla -BigTable

Fecha de Entrega: 07/10/18


Tabla de contenido

Introducción ........................................................................................................................................ 3

Características ..................................................................................................................................... 4

Modelo de datos .................................................................................................................................. 5

Api cliente ........................................................................................................................................... 6

Building Blocks – infraestructura subyacente de Google ................................................................... 7

Compactación ...................................................................................................................................... 8

Ventajas de bigtable ............................................................................................................................ 9

Desventajas bigtable............................................................................................................................ 9

Conclusión......................................................................................................................................... 10

Bibliografía ....................................................................................................................................... 11
Introducción

Es un sistema de gestión de base de datos creado por Google con las características de
ser: distribuido, de alta eficiencia y propietario. Está construido sobre GFS(Google File
System), Chubby Lock Service, y algunos otros servicios y programas de Google, y funciona
sobre 'commodity hardware' (sencillos y baratos PCs con procesadores Intel).

BigTable comenzó a ser desarrollado a principios de 2004.

BigTable almacena la información en tablas multidimensionales cuyas celdas están, en su


mayoría, sin utilizar. Además, estas celdas disponen de versiones temporales de sus valores,
con lo que se puede hacer un seguimiento de los valores que han tomado históricamente.

Para poder manejar la información, las tablas se dividen por columnas, y son almacenadas
como 'tabletas' de unos 200 Mbytes cada una. Cada máquina almacena 100 tabletas, mediante
el sistema 'Google File System'. La disposición permite un sistema de balanceo de carga (si
una tableta está recibiendo un montón de peticiones, la máquina puede desprenderse del resto
de las tabletas o trasladar la tableta en cuestión a otra máquina) y una rápida recomposición
del sistema si una máquina 'se cae'.
Características

 El sistema de construcción internamente ayudaría a usarlo para otros proyectos con


un bajo costo incremental

 Se pueden realizar optimizaciones de almacenamiento de bajo nivel, que pueden ser


útiles para aumentar el rendimiento

 Gran cantidad de datos (semi) estructurados en Google URLs: Contenidos, metadatos


de rastreo, enlaces, anclas.

 Datos por usuario: Configuración de preferencias del usuario, consultas recientes /


resultados de búsqueda, Ubicaciones geográficas, carreteras, datos de imágenes
satelitales, anotaciones de usuarios.

 La escala es demasiado grande para la mayoría de las bases de datos comerciales


Incluso si no fuera así, el costo sería muy alto.
 Construir internamente significa que el sistema se puede aplicar en muchos proyectos
por un bajo costo incremental.
 Las optimizaciones de almacenamiento de bajo nivel ayudan significativamente al
rendimiento Mucho más difícil de hacer cuando se ejecuta sobre una capa de base de
datos.
Modelo de datos

 Mapa disperso multidimensional distribuido.


 (Fila, columna, marca de tiempo) -> Contenido de la celda.
 Las claves de fila son cadenas arbitrarias Row es la unidad de consistencia
transaccional.
 Mapa disperso multidimensional distribuido.
 (Fila, columna, marca de tiempo) -> Contenido de la celda.
 Las claves de fila son cadenas arbitrarias Row es la unidad de consistencia
transaccional.

 Las filas con claves consecutivas se agrupan como "tabletas".

 Las claves de columna se agrupan en conjuntos llamados "familias de columnas",


que forman la unidad de control de acceso.

 Los datos almacenados en una familia de columnas suelen ser del mismo tipo.

 La clave de columna se nombra con la siguiente sintaxis: family :qualifier.

 El control de acceso y la contabilidad de disco / memoria se realizan a nivel de


columna familiar.

 Se usa para almacenar diferentes versiones de datos en una celda


 Nuevo escribe por defecto a la hora actual, pero las marcas de tiempo para las
escrituras también pueden establecerse explícitamente por los clientes
 Opciones de búsqueda:

"Devuelve los valores K más recientes".


"Devuelve todos los valores en el rango de marca de tiempo (o todos los
valores)".

 Las familias de columnas se pueden marcar con atributos:

"Conservar los valores K más recientes en una celda".

"Mantener valores hasta que sean mayores que K segundos".

 Cada celda en Bigtable puede contener múltiples versiones de datos, cada una
indexada por marca de tiempo.

 Las marcas de tiempo son enteros de 64 bits.

 Los datos se almacenan en orden decreciente de marca de tiempo, de modo que se


accede fácilmente a los datos más recientes.

Api cliente

Las API de Bigtable proporcionan funciones para:

 Creación / eliminación de tablas, familias de columnas.

 Modificación de los metadatos de la familia de clústeres, tablas y columnas, como


los derechos de control de acceso.

 Soporte para transacciones de una sola fila.

 Permite que las celdas se usen como contadores enteros.

 Los scripts suministrados por el cliente se pueden ejecutar en el espacio de


direcciones de los servidores.
Building Blocks – infraestructura subyacente de Google

“Chubby” para las siguientes tareas Almacene.

 la tableta raíz, información de esquema, listas de control de acceso.

 Sincronizar y detectar servidores de tableta.

¿Qué es Chubby?

 Servicio de bloqueo persistente altamente disponible. Sistema de archivos simple


con directorios y archivos pequeños Lee y escribe en archivos atómicos.

 Cuando la sesión finaliza, los clientes pierden todos los bloqueos.

GFS para almacenar archivos de registro y datos.

SSTable se usa internamente para almacenar archivos de datos.

¿Qué es SSTable?

Ordenado Inmutable Asignaciones de claves a valores, ambas matrices de bytes arbitrarias


Optimizado para el almacenamiento en GFS y puede asignarse opcionalmente a la
memoria.

Bigtable depende del sistema de administración de clústeres de Google para lo siguiente:

 Programar trabajos
 Administrar recursos en máquinas compartidas
 Control del estado de la máquina
 Tratando con fallas de la máquina

Compactación

Compactación menor.
(Tamaño de memoria> umbral) Nuevo memtable.
 El antiguo convertido a SSTable, escrito en GFS.
 Reducir el uso de la memoria y reducir la longitud del registro en la recuperación.
 Fusionando la compactación.
 Lectura y reducción de algunos SSTables y memtables.
Compactación mayor
 Reescribe todos los SSTables en exactamente una tabla.
 BT reclama recursos para datos eliminados.
 Los datos eliminados desaparecen (datos confidenciales).

Mejoras

El cliente agrupa múltiples familias col juntas


Un SSTable por separado para cada LG en tableta.
Familias divididas a las que no se accede juntas.
Ejemplo:
 (Idioma y suma de comprobación) VS (contenido de la página).
 Lecturas más eficientes.
 Ajuste de params para cada grupo.
Un LG declarado estar en la memoria.
Útil para piezas pequeñas a las que se accede con frecuencia.
Ejemplo: Familia de columna de ubicación en metadatos.
Ventajas de bigtable
 Un servicio NoSQL escalable de forma masiva
Bigtable ofrece latencia baja y rendimiento alto sin importar la escala ni el tipo de
aplicación.
 Escalamiento sin interrupciones
Bigtable puede aprovisionar cientos de petabytes y ajusta su escala de manera
acorde automáticamente, y puede manejar millones de operaciones por segundo sin
ninguna dificultad.
 Integración y simplicidad
Bigtable se integra fácilmente a herramientas populares de macrodatos, como
Hadoop, y a productos de Google Cloud Platform, como Cloud Dataflow y
Dataproc.

Desventajas bigtable

 La mayoría de las bases de datos NoSQL no admiten funciones de fiabilidad, que


son soportadas por sistemas de bases de datos relacionales.

 Con el fin de apoyar las características de fiabilidad y coherencia, los


desarrolladores deben implementar su propio código, lo que agrega más
complejidad al sistema.

 Esto podría limitar el número de aplicaciones en las que podemos confiar para
realizar transacciones seguras y confiables, como por ejemplo los sistemas
bancarios.

 Otras formas de complejidad encontradas en la mayoría de las bases de datos


NoSQL, incluyen la incompatibilidad con consultas SQL.
Conclusión

 Bigtable ha logrado sus objetivos de alto rendimiento, disponibilidad de datos y


escalabilidad. Se ha implementado con éxito en aplicaciones reales (Búsqueda
personalizada, Orkut, GoogleMaps, ...)

 Las ventajas significativas de construir un sistema de almacenamiento propio, como la


flexibilidad en el diseño del modelo de datos, el control sobre la implementación y otra
infraestructura en la que Bigtable confía.
Bibliografía

 Desventajas: https://blog.pandorafms.org/es/bases-de-datos-nosql/

 Bigtable en general: https://cloud.google.com/bigtable/

Potrebbero piacerti anche