Google Cloud Bigtable en acción

8/16
Recursos

Aportes 11

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Google Cloud Bigtable en acción

En esta clase creamos una instancia de Bigtable con el nombre quick-start-instance, id quick-start-instance y cluster id quickstart-instance-c1. El tipo de disco fue SSD con un solo nodo. Finalmente la región fue us-east1 y la zona us-east1-c.

Desde la CLI podemos crear nuestra instancia ocupando la herramienta cbt, la el comando para crear la instancia de esta clase quedaría así:

cbt createinstance quick-start-instance "quick-start-instance" quickstart-instance-c1 us-east1-c 1 SSD
  • quick-start-instance es el id
  • "quick-start-instance" es el nombre
  • quickstart-instance-c1 es el id del cluster
  • us-east1-c es la región
  • 1 es el numero de nodos
  • SSD es el tipo de disco

Hablemos del elefante en la habitación, 468 dolares mensuales 🙃

• Creación de BigTable en Google Cloud Plataform
o Seleccionamos Home
 Buscar Datastore, seleccionamos Bigtable
 Créate instance, llenamos todos los datos que nos pide
 Seleccionamos continuar, seleccionamos disco SSD
 Seleccionamos continuar, selecciomos la región, requerimos un nodo
 Créate
o Activamos cloud Shell
 Primero asociamos nuestra instancia a mi perfil de cloud Shell para mandar comando y a que base de datos
• Echo Project = ‘gcloud config get-value project’ > ~/.cbtrc
• Echo instance = nombreinstancia >> ~/.cbtrc
o Creamos una tabla
• Cbt createtable my-table
o Autorizamos la Shell para interactuar con la api
• Cbt ls
o Agremos un colum family o agregar columnas
• Cbt createfamily my-table cf1 //nombre de famili1
• Cbt ls my-table
o Ingresamos datos en la tabla
• cbt set my-table r1 cf1:c1=test-value
• cbt read my-table

Resumen de los comandos

echo project = `gcloud config get-value project` > ~/.cbtrc
echo instance = my-instance >> ~/.cbtrc

# create table
create table my-table
cbt ls
# create column family
cbt createfamily my-table my-family
cbt ls my-table
# create row key and column qualifier
# create cell
cbt set my-table my-row-key my-family:my-column=my-cell

# read table
cbt read my-table

Resumen de la clase:

  1. En la sección de DataBases de GCP y seleccionamos BigTable.
  2. Creamos la instancia. Llenamos los datos:
    1. Nombre, ID.
    2. Seleccionamos el tipo de disco (SSD o HDD)
    3. Seleccionamos región y zona.
  3. Interactuamos con nuestra base de datos con Cloud Shell
    1. cbt: Comando para interactuar con bigtable. Debemos setearlo hacia el ID de nuestro proyecto, esto lo podemos hacer: echo project =gcloud config get-value project> ~/.cbtrc (El archivo .cbtrc es el archivo de configuración de variables de bigtable.
    2. echo instance = NOMBRE_DE_LA_INSTANCIA_CREADA >> ~/.cbtrc Le dije a mi perfil que quiero usar el comando y ahora le digo sobre que instancia quiero actuar con el comando anterior.
    3. cbt createtable my_table : Creamos una tabla llamada my_table
    4. cbt ls: listamos todas las tablas que tiene nuestra base de datos
    5. cbt createfamily my_table cf1: Creamos una columna familia, donde en ella ingresaremos columnas relacionadas entre sí.
    6. cbt set my_table r1 cf1:c1-test-value: Ingresamos datos en la tabla
    7. cbt read my_table: Leemos los datos de la tabla. Veremos una marca de tiempo o timestamp agregada por bigtable para identificar al valor como único.
NoSQL de columna ancha completamente administrada. 1. **Base de Datos NoSQL de Columna Ancha**: * En lugar de utilizar un modelo relacional como las bases de datos SQL tradicionales, Bigtable utiliza un modelo NoSQL de columna ancha. Esto significa que los datos se organizan en filas y columnas, similar a una tabla, pero con la flexibilidad de agregar nuevas columnas sin afectar el rendimiento. 2. **Replicación para Alta Disponibilidad y Baja Latencia**: * Bigtable ofrece replicación automática de datos para garantizar alta disponibilidad y tolerancia a fallos. Los datos se replican en múltiples ubicaciones para evitar la pérdida de datos en caso de fallos. 3. **Aprovisionamiento de Instancias**: * Antes de comenzar a utilizar Bigtable, debes aprovisionar una instancia de Bigtable que defina la configuración de tu base de datos, como la capacidad de almacenamiento, la cantidad de nodos, las zonas de replicación, etc. * Puedes ajustar la capacidad de tu instancia según las necesidades de tu carga de trabajo, lo que te permite escalar horizontalmente de forma dinámica. 4. **Bibliotecas Cliente de Bigtable**: * Una vez que has aprovisionado tu instancia de Bigtable, puedes usar una de las bibliotecas cliente de Bigtable para interactuar con la base de datos y desarrollar aplicaciones. * Google proporciona bibliotecas cliente para varios lenguajes de programación, como Java, Python, Go y Node.js. Estas bibliotecas simplifican la escritura y lectura de datos en Bigtable, así como el manejo de operaciones como escaneos y filtrados. 5. **Desarrollo de Aplicaciones con Bigtable**: * Al desarrollar aplicaciones con Bigtable, puedes aprovechar su capacidad para manejar grandes volúmenes de datos en tiempo real con baja latencia. * Puedes almacenar y procesar datos de eventos, registros, métricas, perfiles de usuario, entre otros, y realizar análisis en tiempo real para obtener información valiosa. 6. **Escalabilidad y Rendimiento**: * Bigtable está diseñado para ser altamente escalable y ofrecer un rendimiento óptimo para aplicaciones que requieren acceso rápido a grandes cantidades de datos. * A medida que aumenta la carga de trabajo, Bigtable escala horizontalmente automáticamente agregando más nodos para mantener la respuesta rápida y la baja latencia.
Taller

Es Bigtable no bittable, solo eso, pero gracias por la información ❤️

No olviden eliminar sus recursos si ya no los van a necesitar xD