La Red de Conocimientos Pedagógicos - Currículum vitae - Cómo calcular la base de datos adbmrio

Cómo calcular la base de datos adbmrio

Notas de ADB:

Objetivo: Utilizado principalmente para análisis de datos, el backend admite informes de BI y pantallas de datos grandes. Protocolo mysql, bajo costo de aprendizaje.

Sustantivos únicos:

Grupo de tablas, correspondiente al esquema RDS.

Grupo de tablas de dimensiones (traído por el sistema): las tablas con conceptos de dimensiones integrados (como tablas de provincias, etc.) se pueden colocar debajo del grupo de tablas de dimensiones

Tabla ordinaria grupo: generalmente, las tablas comunes que deben asociarse se colocan en el mismo grupo de tablas comunes. Se recomienda que todas las tablas comunes en este grupo de tablas tengan la misma cantidad de particiones de primer nivel, y el rendimiento de la unión mejorará enormemente. .

Tabla de dimensiones: ***tabla compartida.

Tabla ordinaria: tabla particionada. La opción predeterminada es la partición de primer nivel y se pueden crear particiones de segundo nivel.

Partición: solo disponible para tablas ordinarias. Se recomienda que la partición de primer nivel utilice un algoritmo hash.

Clave primaria: La tabla debe contener una clave primaria. Consta de una identificación comercial y una clave de partición de primer nivel. En algunos casos, la identificación comercial es la misma que la de la partición de primer nivel. Para tablas con una cantidad particularmente grande de registros, la cantidad de campos de clave principal debe reducirse desde la perspectiva del espacio de almacenamiento y el rendimiento de inserción.

Una vez creada la base de datos, el sistema creará un grupo de tablas de dimensiones de forma predeterminada y todas las tablas relacionadas con dimensiones se pueden colocar en el grupo de tablas de dimensiones.

Campos especiales: marca de tiempo marca de tiempo AnalyticDB tiene una precisión de segundos, MySQL admite precisión personalizada

Conexiones SQL de uso común:

/document_detail/94859.html?spm= a2c4g .11186623.2.38.22c965313Zwnsd

Después de conectar navicat, la declaración de creación de tabla no se puede mostrar.

Método de importación de entradas: 1. DTS; 2. Integración de datos.

El retraso de visualización de inserción es de 5 a 10 segundos y la orden de trabajo se puede modificar por separado.

Actualizar datos: AnalyticDB no admite operaciones de actualización. Las operaciones de inserción se pueden realizar mediante la sobrescritura de la clave principal para lograr la misma función que la actualización.

La función de exportación de datos es débil, vuelque a OSS/MaxCompute

Método de definición de permisos recomendado: /document_detail/95546.html?spm=a2c4g.11186623.6.578.702d620fyspxAo

Principio de índice y escaneo

AnalyticDB utiliza el almacenamiento de columnas internamente. Después de un filtrado eficiente de una sola columna, se pueden escanear otros valores de columna directamente a través del puntero de registro interno, lo que reduce la sobrecarga de consultas de índice de otras. columnas.

Modifique la subconsulta a asociación de tabla

Al unirse a una tabla normal, intente incluir la condición de unión de la columna de partición. De lo contrario, intente filtrar los datos sobrantes mediante la condición donde.

Las tablas de dimensiones se pueden unir a tablas normales sin restricciones.

El valor predeterminado es el índice completo. Después de que la tabla se haya creado correctamente, si se elimina una determinada columna del índice, se debe enviar una orden de trabajo.

La partición secundaria se utiliza para eliminar datos. Para escenarios de "tabla retrospectiva", se evita la eliminación manual.

Selección de clave de partición de primer nivel:

1. Distribuida uniformemente para evitar sesgos en los datos. park_record_id?

2. Se recomienda seleccionar el tipo de datos de la columna de partición de primer nivel como tinyint, smallint, int, bigint o varchar.

3. Si se UNEN varias tablas ordinarias (excluidas las tablas de dimensiones), seleccione las columnas que participan en JOIN como columna de partición. park_record_id? park_id?

4. Seleccione la columna incluida en GROUP BY o DISTINCT como columna de partición

5. Si el SQL de uso común contiene el valor equivalente o la condición de consulta IN de una determinada columna , seleccione la columna como columna de partición. En la siguiente subsección, seleccione id como columna de partición.

seleccione * de la tabla donde id=123 y…;

seleccione * de la tabla donde el usuario está en (1, 2,3);

El escenario de uso es el siguiente Utilizado principalmente por administradores, con más escaneos de rango, la partición park_id tiene mayores ventajas.

Los datos históricos únicos tienen pocas consultas por parte de los administradores y pueden ignorarse.

La consulta única del usuario se completa en RDS.

Múltiples ejemplos de diseño de referencia:/document_detail/97587.html?spm=a2c4g.11186623.6.655.207b43c1yl28Kx

/document_detail/97620.html?spm=a2c4g.11186623.6.656.5ebb12f55cr9P f

Para cumplir con un alto QPS, el diseño adopta tablas grandes y anchas, campos redundantes y evita la correlación de tablas.

Descripción del escenario: SQL completo, baja frecuencia de consultas, principalmente consultas estadísticas regionales.

Mejores prácticas: consulta regional, expansión de lectura de consultas de estacionamiento, distribución uniforme de datos + efecto de columna de agregación. Desventajas:

CLAVE PRIMARIA (park_record_id,TS)

PARTICIÓN POR LLAVE HASH (park_record_id) NÚMERO DE PARTICIÓN 128

SUBPARTICIÓN POR LLAVE DE LISTA (TS)

OPCIONES DE SUBPARTICIÓN (available_partition_num = 300)

AGRUPADO POR (area_id,park_id)

El número máximo de tablas en un único AnalyticDB es 256

Total de tablas en un solo grupo de tablas Número 256

El número máximo de particiones de primer nivel es 255

No se admiten procedimientos almacenados

Si se admite la modificación del Número de particiones de primer nivel de la tabla: actualmente no se admite la modificación dinámica, solo se pueden eliminar y reconstruir tablas.