Star Schema Benchmark (SSB) es una herramienta estándar de la industria para evaluar el rendimiento de consultas OLAP en almacenes de datos. Este tema le guía paso a paso para ejecutar una prueba de rendimiento de SSB en EMR Serverless StarRocks.
La implementación de SSB en este tema se basa en el benchmark de SSB. Los resultados no son comparables con los resultados publicados del benchmark de SSB.
Resultados de referencia
Los siguientes resultados se midieron en una instancia de 8 CU (8 núcleos, 32 GB de memoria). Cada valor representa el tiempo de respuesta de la consulta en milisegundos. Un valor menor indica un mejor rendimiento.
Entorno de prueba
|
Componente |
Especificación |
|
Unidades de cómputo (CU) |
8 CU (8 núcleos, 32 GB de memoria) |
|
Factor de escala |
1 (1 GB de datos sin procesar) |
Consulta de tabla ancha de SSB (modo ssb-flat)
|
Consulta |
Tiempo (ms) |
|
Q1.1 |
26 |
|
Q1.2 |
13 |
|
Q1.3 |
20 |
|
Q2.1 |
46 |
|
Q2.2 |
40 |
|
Q2.3 |
26 |
|
Q3.1 |
40 |
|
Q3.2 |
33 |
|
Q3.3 |
30 |
|
Q3.4 |
23 |
|
Q4.1 |
26 |
|
Q4.2 |
30 |
|
Q4.3 |
20 |
|
Total |
373 |
Consulta de tabla estándar de SSB (modo ssb)
|
Consulta |
Tiempo (ms) |
|
Q1.1 |
26 |
|
Q1.2 |
20 |
|
Q1.3 |
23 |
|
Q2.1 |
103 |
|
Q2.2 |
53 |
|
Q2.3 |
50 |
|
Q3.1 |
86 |
|
Q3.2 |
46 |
|
Q3.3 |
46 |
|
Q3.4 |
36 |
|
Q4.1 |
83 |
|
Q4.2 |
63 |
|
Q4.3 |
53 |
|
Total |
688 |
Descripción general de SSB
SSB simula un modelo de datos de esquema de estrella típico con cinco tablas: Date, Customer, Supplier, Part y Lineorder. Evalúa las siguientes métricas de rendimiento de un almacén de datos o sistema OLAP:
Tiempo de respuesta de consulta
Procesamiento simultáneo
Carga de datos
Optimización de consultas
SSB también permite personalizar el modelo de datos; por ejemplo, puede aplanar el esquema de estrella en una tabla ancha para reducir la sobrecarga de uniones (joins).
La herramienta de generación de SSB utiliza un factor de escala (SF) para controlar el volumen de datos: 1 SF = 1 GB de datos sin procesar. El almacenamiento de índices no está incluido, por lo que debe reservar espacio adicional en disco al configurar su entorno.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de Elastic Compute Service (ECS) para generar datos, cargarlos en StarRocks y ejecutar consultas de cliente
Una instancia de EMR Serverless StarRocks
Requisitos de la instancia ECS
|
Requisito |
Detalles |
|
Sistema operativo |
CentOS o Alibaba Cloud Linux |
|
Disco de datos |
SSD mejorado (ESSD); capacidad según el volumen de datos objetivo |
|
Red |
Misma región y Virtual Private Cloud (VPC) que la instancia de StarRocks |
|
IP pública |
Obligatorio |
Para obtener instrucciones sobre cómo crear una instancia ECS, consulte Create an instance.
Requisitos de la instancia StarRocks
Los resultados de referencia en este tema utilizaron 8 CU (8 núcleos, 32 GB de memoria). Ajuste los recursos de cómputo según sus necesidades de prueba.
Para crear una instancia de StarRocks, vaya a la consola de E-MapReduce, vaya a EMR Serverless StarRocks y haga clic en Create Instance. Para obtener instrucciones detalladas, consulte Create an instance.
Utilice una instancia recién creada para cada ejecución de prueba. Las instancias que han sido actualizadas o degradadas pueden producir resultados inconsistentes.
Ejecutar la prueba de rendimiento de SSB
Paso 1: Descargar y configurar el kit de herramientas de prueba
Inicie sesión en la instancia ECS. Consulte Connect to an ECS instance.
-
Descargue y extraiga el kit de herramientas de prueba.
sudo wget https://starrocks-oss.oss-cn-beijing.aliyuncs.com/public-access/starrocks-ssb-benchmark-for-serverless.tar.gz tar xzvf starrocks-ssb-benchmark-for-serverless.tar.gz -
Vaya al directorio del kit de herramientas.
cd starrocks-ssb-benchmark-for-serverless -
Abra el archivo de configuración.
vim conf/starrocks.conf -
Actualice los parámetros para su entorno.
# for mysql cmd mysql_host: fe-c-7b6f92276******-internal.starrocks.aliyuncs.com mysql_port: 9030 mysql_user: admin mysql_password: 1**** database: ssb_sf # cluster ports http_port: 8030 # Specifies whether to enable the bitmap index. bitmap_index: false # benchmark config scale_factor: 1 dataset_generate_root_path: /mnt/disk1/starrocks-benchmark/datasetsParámetro
Descripción
Valor predeterminado
mysql_hostEndpoint interno del frontend (FE). Encuéntrelo en la pestaña Instance Details bajo Gateway Information > Internal endpoint.
—
mysql_portPuerto de consulta del FE. Encuéntrelo en la pestaña Instance Details bajo FE Details > Query Port.
9030mysql_userUsuario de la instancia de StarRocks.
adminmysql_passwordContraseña del usuario de la instancia de StarRocks.
—
databaseNombre de la base de datos que se creará en la instancia de StarRocks.
ssb_sfscale_factorVolumen de datos en GB. 1 = 1 GB de datos sin procesar. Asegúrese de que su disco tenga suficiente capacidad para el conjunto de datos generado.
1dataset_generate_root_pathRuta local donde se almacena el conjunto de datos de prueba generado.
/mnt/disk1/starrocks-benchmark/datasetsbitmap_indexIndica si se habilita la función Bitmap Index. Habilitarla mejora el rendimiento de las consultas para patrones específicos, particularmente Q2.2, Q2.3 y Q3.3.
falsehttp_portPuerto HTTP del FE. Encuéntrelo en la pestaña Instance Details bajo FE Details > HTTP Port.
8030ImportanteEstablezca
mysql_hostcon el endpoint interno, no con el endpoint público.
Paso 2: Generar y cargar datos de prueba
Ejecute el siguiente comando para crear la base de datos, las tablas y el conjunto de datos, y cargar los datos en StarRocks.
sh ssb_dataload.sh
Paso 3: Ejecutar consultas y consultar resultados
Ejecute las consultas mediante uno de los siguientes modos. Se imprime un resumen en la terminal y se guarda un archivo result.csv con todos los detalles en el directorio actual.
-
Modo de tabla ancha: consulta la tabla plana pre-unida:
sh ssb_query.sh ssb-flat -
Modo estándar: consulta las tablas originales del esquema de estrella:
sh ssb_query.sh ssb
Cada valor en la salida corresponde al tiempo de respuesta de la consulta en milisegundos. Los valores más bajos indican un mejor rendimiento.
Pasos siguientes
Ajuste
scale_factorenconf/starrocks.confpara probar con mayores volúmenes de datos y observar cómo escala el rendimiento.Habilite
bitmap_index: truey vuelva a ejecutar el benchmark para medir el impacto de la función Bitmap Index en Q2.2, Q2.3 y Q3.3.