Los usuarios de Google Analytics, Gmail, Google Maps, Google Earth o Youtube llevan años testeando las capacidades de Google Cloud Bigtable sin saberlo. Desde Mountain View aseguran que llevan más de 10 años haciendo pruebas y que este servicio de base de datos NoSQL, ahora en beta para las empresas, permitirá el procesamiento de mucha información de forma rápida, eficiente y escalable.
Esta nueva solución de Google es especial para las compañías que necesitan la gestión y el análisis de datos en el orden de petabytes en sectores como el de servicios financieros, energía, biomedicina, telecomunicaciones o publicidad online. Gran cantidad de datos y la necesidad de extraer valor de esa información.
Google resume las ventajas de Bigtable en varios puntos clave.
– Rendimiento: latencia de lectura y escritura de una cifra en milisegundos y un rendimiento por dólar dos veces superior al de otras soluciones alternativas NoSQL del mercado. En la imagen de abajo se puede ver un estudio de competencia entre Bigtable, una versión genérica de Hbase y Apache Cassandra, base de datos NoSQL usada por Twitter y escrita en Java.
– Interfaz de código abierto: es un servicio en la nube. Se accede a través de la API de HBase, se integra de forma nativa en las soluciones Hadoop de cualquier empresa y es compatible con el resto de productos de Google que trabajan con datos o en la nube como Google BigQuery y Google Cloud Dataflow. Gracias a la API, la gestión de los datos se puede hacer sin problemas en los formatos estándar propuestos dentro de la industria.
– Coste: Google asegura que Bigtable reduce a la mitad el coste de otras soluciones.
– Seguridad: cifra todos los datos que procesa y funciona mediante una estrategia de replicado de datos.
– Simplicidad: Google presume de que crear o configurar un clúster en Bigtable llevaría menos de 10 segundos gracias a su interfaz de usuario.
– Madurez: Google lleva probando el servicio con sus propias soluciones de datos desde 2004, año del lanzamiento. Ahora lanza una beta.
– Precio: dependerá del uso de la red, los nodos desplegados y el almacenamiento utilizado para nuestros datos.
Modelo de datos y API de Bigtable
Bigtable es un mapa distribuido ordenado y multidimensional con tres dimensiones: filas, columnas y marca temporal. ¿Cómo se relacionan entre sí? Es un sistema que divide los datos en columnas para almacenar toda la información en tablas compuestas por celdas. Cada una de esas celdas dispone de una marca temporal que permite visualizar la evolución de ese dato a lo largo del tiempo.
El sistema de archivos que usa Bigtable es Google File System (GFS) y la compresión y descompresión de los datos se hacen a través de dos algoritmos especialmente rápidos: 100 – 200 MB/s para comprimir y 400 – 1000 MB/s para descomprimir. Esa velocidad es posible porque para llevar a cabo cada una de esas acciones no se actúa sobre el conjunto entero, sino sobre una parte los datos.
Otra gran ventaja del servicio es su API, que es de acceso público. Eso permite que cualquier desarrollador pueda hacer un proyecto concreto con ella o hacer pruebas de rendimiento sobre una muestra de datos, por ejemplo. Si eres desarrollador y te gustaría probarla, debes tener en cuenta que los lenguajes utilizados son C y C++.
Con la API de Bigtable se pueden hacer todo tipo de operaciones con las tablas de datos: se pueden crear y suprimir tablas y familias de columnas, escribir o borrar valores, iterar sobre un subconjunto de datos en una tabla, cambiar un clúster o los metadatos de alguna variable o gestionar los derechos de control de acceso.
Un ejemplo de lo que puede hacerse con la API de Bigtable sería esta muestra de código en C++ para hacer una exploración de los datos y hacer modificaciones:
Scanner scanner(T);
ScanStream *stream; stream = scanner.FetchColumnFamily(“anchor”);
stream->SetReturnAllVersions(); scanner.Lookup(“com.cnn.www”);
for (; !stream->Done(); stream->Next()) {
printf(“%s %s %lld %s\n”,
scanner.RowName(),
stream->ColumnName(),
stream->MicroTimestamp(),
stream->Value()); }
Caso de estudio de Bigtable con servicios financieros
Para responder a la comercialización de Bigtable y las exigencias de las empresas, Google cuenta con la ayuda de varios partners que facilitarían la implementación de los servicios en la nube. Uno de ellos es SunGard, proveedor que permitiría a cualquier compañía del sector financiero la creación de una plataforma escalable y administrada en la nube.
De hecho, según este proveedor, ya existe un sistema de seguimiento de auditoría financiera capaz de gestionar 2,5 millones de mensajes comerciales por segundo.
Entre las características de Google Cloud Bigtable para estos servicios tenemos:
– Servicio escalable.
– Distribución de tablas que permite operaciones simultáneas.
– Esquema flexible y distribución ordenada de los datos en columnas para la mejora del rendimiento.
– Las marcas temporales permiten disponer de la evolución de los datos en cualquier momento. Característica fundamental en procesos de auditoría.
– Garantiza la velocidad con el crecimiento de los datos y los costes bajos cuando el volumen no es tan alto.
– Capacidad para añadir nuevos clusters a la estructura en pocos minutos.
– El cliente puede consultar los datos incluso durante su escritura.
Google, Amazon y Microsoft, la pelea por la nube pública
El nuevo servicio de base de datos NoSQL de Google se enmarca dentro de una pelea estratégica que lleva mucho tiempo calentándose: la batalla por la nube pública. Servicios como Amazon Web Services, Google Cloud Platform y Microsoft Azure luchan por ofrecer un mejor rendimiento, más velocidad, más escalabilidad y, también, mejores precios a las empresas que disponen de datos.
Google lanza una beta de Bigtable como un paso añadido en su intento por dominar ese mercado. Evidentemente, los rivales son poderosos: DynamoDB en Amazon, Azure DocumentDB en Microsoft o Cloudant en IBM. Y también otras alternativas no respaldadas por compañías grandes, pero muy utilizadas por la comunidad: Aerospike, MongoDB, CouchBase, Redis, CouchDB o la mencionada Cassandra.
Tras el lanzamiento, Gartner analizó algunos de los puntos fuertes del servicio de Google: el principal, que las empresas podrán pagar el servicio a medida que lo utilicen, al final es un pago por rendimiento. Por tanto, cualquier cliente de Bigtable podrá previsualizar el coste de su uso. En el aspecto negativo, Gartner ponía en duda la capacidad de la compañía de Mountain View de tener un servicio de ventas lo suficientemente potente como para colocar su servicio en muchas empresas.
Síguenos en @BBVAAPIMarket