Diseñar un esquema

El esquema ideal de una tabla de Bigtable depende en gran medida de varios factores, como el caso práctico, los patrones de acceso a los datos y los datos que quieras almacenar. En esta página se ofrece una descripción general del proceso de diseño del esquema de Bigtable.

Antes de leer esta página, debes conocer los conceptos y las prácticas recomendadas de diseño de esquemas. Si procede, consulta también Diseño de esquemas para datos de series temporales.

Antes de empezar

Crea o identifica una instancia de Bigtable que puedas usar para probar tu esquema.

Recoger información

  1. Identifica los datos que tienes previsto almacenar en Bigtable. Estas son algunas de las preguntas que puedes hacer:
    • ¿Qué formato usan los datos? Entre los formatos posibles se incluyen bytes sin formato, cadenas, protobufs y JSON.
    • ¿Qué constituye una entidad en tus datos? Por ejemplo, ¿almacena vistas de páginas, precios de acciones, emplazamientos de anuncios, mediciones de dispositivos u otro tipo de entidad? ¿De qué se componen las entidades?
    • ¿Los datos se basan en el tiempo?
  2. Identifica y clasifica las consultas que usas para obtener los datos que necesitas. Teniendo en cuenta las entidades que vas a almacenar, piensa en cómo quieres que se ordenen y agrupen los datos cuando los uses. Puede que el diseño del esquema no satisfaga todas tus consultas, pero lo ideal es que satisfaga las más importantes o las que se usen con más frecuencia. Estos son algunos ejemplos de consultas:
    • Lecturas de temperatura de objetos de IoT de un mes.
    • Vistas de anuncios diarias de una dirección IP.
    • La ubicación más reciente de un dispositivo móvil.
    • Todos los eventos de la aplicación por día y por usuario.

Diseño

Decide un diseño de esquema inicial. Esto significa planificar el patrón que seguirán las claves de fila, las familias de columnas que tendrá la tabla y los calificadores de columna de las columnas que quieras incluir en esas familias de columnas. Sigue las directrices generales de diseño de esquemas. Si tus datos se basan en el tiempo, sigue también las directrices para datos de series temporales.

Si tienes previsto consultar tu tabla con SQL en lugar de con el método ReadRows de la API Bigtable Data, consulta los siguientes documentos:

Si quieres usar SQL para consultar vistas de tu tabla, así como la propia tabla, consulta Tablas y vistas.

Prueba

  1. Crea una tabla con las familias de columnas y los calificadores de columnas que hayas definido para tu esquema.
  2. Carga en la tabla al menos 30 GB de datos de prueba con las claves de fila que hayas identificado en tu borrador de plan. No superes los límites de utilización del almacenamiento por nodo.
  3. Realiza una prueba de carga pesada durante varios minutos. Este paso da a Bigtable la oportunidad de equilibrar los datos entre los nodos en función de los patrones de acceso que observa.
  4. Ejecuta una simulación de una hora de las lecturas y escrituras que normalmente enviarías a la tabla.
  5. Consulta los resultados de la simulación con Key Visualizer y Cloud Monitoring.

    • La herramienta Key Visualizer para Bigtable proporciona análisis que muestran los patrones de uso de cada tabla de un clúster. Key Visualizer te ayuda a comprobar si el diseño y los patrones de uso de tu esquema están provocando resultados no deseados, como puntos de acceso en filas específicas.

    • La monitorización te permite comprobar métricas, como la utilización de la CPU del nodo más activo de un clúster, para determinar si el diseño del esquema está causando problemas.

Afinar

  1. Revisa el diseño de tu esquema según sea necesario, en función de lo que hayas aprendido con Key Visualizer. Por ejemplo:
    • Si detecta indicios de hotspotting, use otras claves de fila.
    • Si detectas latencia, comprueba si tus filas superan el límite de 100 MB por fila.
    • Si tiene que usar filtros para obtener los datos que necesita, normalice los datos de forma que se puedan leer de forma más sencilla (y rápida): leyendo una sola fila o intervalos de filas por clave de fila.
  2. Después de revisar el esquema, vuelve a probarlo y a consultar los resultados.
  3. Sigue modificando el diseño del esquema y haciendo pruebas hasta que una inspección en Key Visualizer te indique que el diseño del esquema es óptimo.

Siguientes pasos