Construcción de Bytebase y cómo conectarse a ClickHouse

Bytebase es una herramienta CI/CD de base de datos que proporciona funciones como auditoría SQL, cambios, retención de archivos y reversión. Este artículo explica brevemente el uso de Bytebase.

1. Instalación

Puede experimentar Bytebase rápidamente a través de la imagen oficial de Docker. El comando es el siguiente:

docker run --init \
  --name bytebase \
  --platform linux/amd64 \
  --restart always \
  --publish 5678:8080 \
  --health-cmd "curl --fail http://localhost:5678/healthz || exit 1" \
  --health-interval 5m \
  --health-timeout 60s \
  --volume ~/.bytebase/data:/var/opt/bytebase \
  bytebase/bytebase:1.12.0 \
  --data /var/opt/bytebase \
  --port 8080

A continuación, verá el siguiente resultado, que indica que el inicio se realizó correctamente:

2023-02-14T14:05:04.417Z	INFO	server/server.go:206	-----Config BEGIN-----
2023-02-14T14:05:04.420Z	INFO	server/server.go:207	mode=prod
2023-02-14T14:05:04.420Z	INFO	server/server.go:208	dataDir=/var/opt/bytebase
2023-02-14T14:05:04.420Z	INFO	server/server.go:209	resourceDir=/var/opt/bytebase/resources
2023-02-14T14:05:04.420Z	INFO	server/server.go:210	externalURL=https://www.bytebase.com/docs/get-started/install/external-url
2023-02-14T14:05:04.420Z	INFO	server/server.go:211	readonly=false
2023-02-14T14:05:04.420Z	INFO	server/server.go:212	debug=false
2023-02-14T14:05:04.421Z	INFO	server/server.go:213	demoName=
2023-02-14T14:05:04.421Z	INFO	server/server.go:214	backupStorageBackend=LOCAL
2023-02-14T14:05:04.421Z	INFO	server/server.go:215	backupBucket=
2023-02-14T14:05:04.421Z	INFO	server/server.go:216	backupRegion=
2023-02-14T14:05:04.421Z	INFO	server/server.go:217	backupCredentialFile=
2023-02-14T14:05:04.421Z	INFO	server/server.go:218	-----Config END-------
2023-02-14T14:05:04.558Z	INFO	server/server.go:248	-----Sample Postgres Instance BEGIN-----
2023-02-14T14:05:04.559Z	INFO	server/server.go:250	sampleDatabasePort=8083
2023-02-14T14:05:04.559Z	INFO	server/server.go:251	sampleDataDir=/var/opt/bytebase/pgdata-sample
2023-02-14T14:05:05.501Z	INFO	server/server.go:255	-----Sample Postgres Instance END-----
2023-02-14T14:05:05.502Z	INFO	server/server.go:260	-----Embedded Postgres Config BEGIN-----
2023-02-14T14:05:05.502Z	INFO	server/server.go:261	datastorePort=8082
2023-02-14T14:05:05.502Z	INFO	server/server.go:262	pgDataDir=/var/opt/bytebase/pgdata
2023-02-14T14:05:05.502Z	INFO	server/server.go:263	-----Embedded Postgres Config END-----
a2023-02-14T14:05:06.808Z	INFO	store/pg_engine.go:302	Apply database migration if needed...
2023-02-14T14:05:06.809Z	INFO	store/pg_engine.go:306	Current schema version before migration: 1.12.6
2023-02-14T14:05:06.811Z	INFO	store/pg_engine.go:318	The prod cutoff schema version: 1.12.6
2023-02-14T14:05:06.811Z	INFO	store/pg_engine.go:392	Skip migration 1.0.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.1.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.2.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.3.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.4.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.5.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.6.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.7.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.8.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.9.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.10.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.812Z	INFO	store/pg_engine.go:392	Skip migration 1.11.0; the current schema version 1.12.0 is higher.
2023-02-14T14:05:06.813Z	INFO	store/pg_engine.go:396	Starting minor version migration cycle from 1.12.0 ...
2023-02-14T14:05:06.813Z	INFO	store/pg_engine.go:444	Database schema is at version 1.12.6; nothing to migrate.
2023-02-14T14:05:06.896Z	INFO	store/pg_engine.go:157	Current schema version after migration: 1.12.6

██████╗ ██╗   ██╗████████╗███████╗██████╗  █████╗ ███████╗███████╗
██╔══██╗╚██╗ ██╔╝╚══██╔══╝██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝
██████╔╝ ╚████╔╝    ██║   █████╗  ██████╔╝███████║███████╗█████╗
██╔══██╗  ╚██╔╝     ██║   ██╔══╝  ██╔══██╗██╔══██║╚════██║██╔══╝
██████╔╝   ██║      ██║   ███████╗██████╔╝██║  ██║███████║███████╗
╚═════╝    ╚═╝      ╚═╝   ╚══════╝╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝

Version 1.12.0 (schema version 1.12.6) has started on port 8080

************* External Visiting URL (--external-url) *************

!!! You have not set --external-url. If you want to make Bytebase
!!! externally accessible, follow:

https://www.bytebase.com/docs/get-started/install/external-url

******************************************************************
___________________________________________________________________________________________

2. Registrador

Después de que Docker se inicie correctamente, abra http://localhost:5678 en el navegador local para abrir la página principal de Bytebase. La primera vez que la abre es la página de registro de administrador:
inserte la descripción de la imagen aquí

Complete la dirección de correo electrónico y la contraseña de inicio de sesión en el lugar correspondiente y haga clic en Registrarse. Después de un registro exitoso, saltará automáticamente a la página de la consola después de iniciar sesión:
inserte la descripción de la imagen aquí

3. Agrega una instancia

Haga clic en el botón Agregar instancia:

inserte la descripción de la imagen aquí

Aparecerá el cuadro de diálogo de creación de instancia:

inserte la descripción de la imagen aquí

Complete el nombre de dominio/IP y el puerto de ClickHouse en el cuadro de diálogo Crear instancia, haga clic en Probar conexión y aparecerá un mensaje de éxito en la esquina inferior derecha. En este punto, haga clic en Crear para completar la creación de la instancia. ClickHouse aquí lo inicio localmente. Para mayor comodidad, el funcionario también proporciona el docker-compose.yml correspondiente para iniciar Bytebase y ClickHouse con un clic, y el clickhouse-quickstart.docker-compose.yml de la versión independiente de ClickHouse y la versión de clúster adjunta de clickhouse -cluster-quickstart.docker-compose.yml de ClickHouse

Si ClickHouse también se implementa localmente, debe usar host.docker.internal como nombre de dominio local. Si usa localhost como nombre de dominio local, Bytebase le dará un cálido recordatorio:连接到实例失败。 如果您使用的 Docker 部署,请尝试使用 "host.docker.internal" 作为 Host 地址

4. Crea un proyecto

Una vez creada la instancia, debe crear un proyecto. Haga clic en Proyecto -> Crear proyecto en la barra de menú y aparecerá el siguiente cuadro de diálogo:

inserte la descripción de la imagen aquí

Debe nombrar el proyecto "Proyecto ClickHouse" y hacer clic en Crear.

5. Crea una base de datos

Después de tener un proyecto, cree una base de datos en el proyecto y haga clic en Crear base de datos:

inserte la descripción de la imagen aquí

Agregue el nombre de datos mydb en el cuadro de diálogo Crear base de datos y luego complete el clúster. El clúster aquí es exclusivo de ClickHouse, es decir, el concepto de clúster en ClickHouse. Debe completarse de acuerdo con la configuración real de ClickHouse. y luego seleccione el entorno, porque al crear una instancia arriba, si seleccionó Prueba, también debe seleccionar Prueba aquí, y luego la instancia de ClickHouse que acaba de crear aparecerá en el cuadro desplegable de instancias a continuación. Finalmente haga clic en Crear.

Nota: Si está utilizando la versión independiente del clúster ClickHouse, no es necesario completarlo, simplemente déjelo en blanco. Si sigue el método de llenado anterior, se informará un error de la siguiente manera:

inserte la descripción de la imagen aquí

Le indicará que el valor predeterminado ejecutado en el clúster no existe.

Por lo tanto, el cuadro de entrada del clúster se puede dejar en blanco. Después de una creación exitosa, el resultado es el siguiente:

inserte la descripción de la imagen aquí

Puede ver el proyecto ClickHouse y la base de datos denominada db creada correctamente en el entorno de prueba a la izquierda.

6. Crear tabla

Para crear una tabla para la base de datos recién creada, haga clic en Cambiar esquema en el menú Base de datos:
inserte la descripción de la imagen aquí

Después de hacer clic en Cambiar esquema, aparecerá el cuadro de diálogo de selección de base de datos de la siguiente manera:
inserte la descripción de la imagen aquí

Seleccione la base de datos de datos que acaba de crear arriba y aparecerá la página de creación de tablas:
inserte la descripción de la imagen aquí

Ingrese la declaración de creación de la tabla en el cuadro de entrada SQL:

create table tb
(
  id UInt32,
  name String
) engine MergeTree()
order by id

Al ingresar una declaración, Bytebase mostrará un cuadro emergente para ayudar a los usuarios a completar el SQL, pero la sintaxis SQL de ClickHouse no es SQL estándar, por lo que algunos tipos de datos y tipos de motores de tablas aún no se pueden solicitar correctamente.

Finalmente haga clic en Crear, la página exitosa es la siguiente:
inserte la descripción de la imagen aquí

La creación y modificación de tablas en Bytebase se clasifican como operaciones de cambio. Puede ver que habrá un botón de resolución en la esquina superior derecha después de ejecutar SQL. Al hacer clic en resolver aparecerá un cuadro de aviso, que puede usarse para ingresar algunos comentarios. En este punto, la operación de creación o modificación de una tabla se considera completa.

7. Ver historial de cambios

Puede ver todas las operaciones en la instancia viendo el historial de cambios, haciendo clic en el menú de la base de datos y seleccionando la base de datos que desea ver:
inserte la descripción de la imagen aquí

8. Ejecutar SQL

Bytebase también proporciona una página amigable de ejecución de SQL:

inserte la descripción de la imagen aquí

Puede ejecutar declaraciones SQL en la página. Si desea ejecutar la declaración de inserción como en la imagen de arriba, necesita tener privilegios de administrador. La imagen de arriba es una vista con privilegios de administrador. Los usuarios comunes solo pueden ejecutar select. Las vistas de ordinario los usuarios son los siguientes:

inserte la descripción de la imagen aquí

Hasta ahora, se han introducido las funciones básicas de Bytebase, de hecho, Bytebase todavía tiene muchas funciones y diseños detallados por explorar más a fondo.

Supongo que te gusta

Origin blog.csdn.net/weixin_39992480/article/details/129035441
Recomendado
Clasificación