Google Cloud Bigtable en acción

8/16
Recursos
Transcripción

¿Cómo crear una base de datos Big Table en Google Cloud?

Big Table es una herramienta poderosa en Google Cloud que te permite almacenar y gestionar grandes volúmenes de datos de manera eficiente. Este tutorial te guiará paso a paso para crear tu propia base de datos Big Table y cómo interactuar con ella. Este proceso es crucial para empezar a utilizar la infraestructura de datos extendida por empresas de gran envergadura como Google.

¿Cómo configurar una instancia de Big Table?

Primero, necesitas acceder a la consola de Google Cloud. Una vez ahí:

  1. Ve al menú principal. Selecciona la sección de databases o bases de datos y elige Big Table.
  2. Haz clic en crear instancia y llena los datos solicitados. Por ejemplo, puedes nombrar tu instancia como "quick start instance".
  3. Se te asignará un ID automáticamente; deja que el sistema lo haga por ti.
  4. Continúa y selecciona el tipo de disco; recomendamos el estado sólido para un mejor rendimiento.
  5. Elige una región y una zona. Un buen ejemplo es "US East 1" en "South Carolina" y la zona "C".
  6. Finalmente, define el número de nodos. Para pruebas suele ser suficiente con uno solo. Luego, haz clic en crear.

Una vez creada la instancia, verás un icono verde que indica que es utilizable.

¿Cómo interactuar con Big Table usando Cloud Shell?

Ahora que tienes tu instancia lista, es momento de interactuar con ella a través de Cloud Shell usando el comando cvt, abreviatura de Cloud Big Table.

Configuración inicial de Cloud Shell

  1. Abre Cloud Shell desde tu consola.
  2. Para asociar la instancia a tu proyecto, utiliza un archivo .cbtrc y ponlo en el ID de tu proyecto con el comando correspondiente.
  3. Indica que la instancia con la que vas a trabajar es "quick start instance" mediante el siguiente código de configuración.

Así, cuando uses cvt y un mandato, Cloud Shell sabrá a cuál instancia referirse.

Crear y gestionar tablas dentro de Big Table

  1. Crear una tabla dentro de la instancia:

    cvt create table myTable
    

    Autoriza a Cloud Shell para que interactúe con la API de Big Table y asegúrate de que la tabla ha sido creada listándola:

    cvt ls
    

    Aquí verás "myTable" como parte de tu base de datos.

  2. Agregar una column family:

    Una column family te ayudará a agrupar columnas.

    cvt create family myTable CF1
    

    Confirma la creación listando las familias:

    cvt ls myTable
    
  3. Agregar datos a tu tabla:

    Para insertar datos en las celdas, realiza el siguiente comando:

    cvt set myTable r1 CF1:c1 test value
    

    Esto crea un qualifier dentro de la familia de columnas y almacena un valor de prueba.

  4. Leer los datos de la tabla:

    Para visualizar la estructura que has creado, lee la tabla con:

    cvt read myTable
    

    Ahí verás los registros que has inserido y su respectivo timestamp, lo que los hace únicos dentro de la base de datos.

¿Por qué usar Big Table?

Big Table destaca por su robustez y capacidad para manejar grandes volúmenes de datos distribuidos. Es ideal para sectores que requieren alta escalabilidad y eficiencia, como motores de búsqueda, analítica de grandes datos y aplicaciones en tiempo real.

Te animo a seguir explorando más sobre Big Table, creando estructuras más complejas y descubriendo cómo esta plataforma puede optimizar tus aplicaciones. ¡Con cada paso que des en tu aprendizaje, te acercas más a construir sistemas eficientes y escalables!

Aportes 12

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.
Para realizar las prácticas pueden utilizar el servidor me-central2 (Dammam) que el nodo cuesta casi 20 veces mas barato que otros servidores 28dls/nodo/mes vs otros 500dls/node/mes al momento de crear su recurso de BigTable.
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