Big Table
Enviado por Valeria Mata Medaglia • 24 de Octubre de 2018 • Resumen • 731 Palabras (3 Páginas) • 78 Visitas
Big Table
Big Table es un sistema de almacenamiento distribuido para administrar datos estructurados, hace referencia a un mapa multidimensional, escaso, distribuido, persistente y ordenado. El mapa està indexado por filas y columnas clave, junto con un timestamp, cada valor en el mapa es una colecciòn no interpretada de bytes. Cada tabla dentro de Big Table es asignada a una tabla de servidor a la vez. Aproximadamente sesenta proyectos de Google utilizan esta tecnología dentro de los cuales se encuentran Google Earth y Google Finance, Google Analytics y Personalized Search por solo mencionar algunos ejemplos. Se estima que fue implementado desde el año 2005.
La tecnología Big Table cuenta con un API el cual provee funcionalidades para crear y eliminar familias de tablas y columnas. A demás incluye funciones para cambiar de tabla, cluster, columnas incluyendo derechos de control de acceso.
Las aplicaciones cliente pueden escribir o borrar valores en Big Table. Esta tecnología soporta otras características que permiten al usuario manipular los datos en formas más complejas como por ejemplo: transacciones de una fila las cuales pueden ser atómicas como leer, modificar, escribir, también permite que las celdas puedan ser usadas como contadores. Sin dejar de lado que ejecuta scripts proporcionados por el cliente en los espacios de direcciones de los servidores.
Big Table se encuentra construído en diversas partes de la infraestuctura de Google, utilizando también Google File System para almacenar archivos de datos. Un típico cluster de Big Table operan en la unión de un conjunto máquinas que ejecutan una amplia variedad de aplicaciones distribuidas y los procesos en esta tecnología tienden a comparir las mismas máquinas con procesos de otras aplicaciones. Big Table depende de un sistema administrativo de cluster para calendarizar tareas, gestionar recursos en equipos compartidos, solucionar y dar seguimiento a fallos de equipo y monitorear el estado del mismo.
En el proceso de diseñar, implementar, mantener y dar soporte a este tipo de tecnología se pueden determinar diversas lecciones basandose en la experiencia, un ejemplo es que los sistemas distribuidos grandes son vulnerables a muchos tipos de fallos, ante este tipo de situaciones se han planteado protocolos para la prevención de los mismos. Es importante abstener nuevas adiciones de características hasta que esté claro como es que estas funcionalidades van a ser utilizadas. Otra lección aprendida hace énfasis en la importancia de un adecuado sistema de monitoreo. Y una de las enseñanzas más importantes es el alto valor de los diseños simples por todas las ventajas que esto puede traer.
...