Skip to content

Commit 9136f06

Browse files
committed
Add a mariadb-compose example
This shows how a MariaDB instance is created, and videx uses the server implementation whcih is populated from the instance data. A videx plugin is used in a second instance that forms the virtual plans.
1 parent 0a5b378 commit 9136f06

2 files changed

Lines changed: 75 additions & 0 deletions

File tree

build/.env

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
MARIADB_DATABASE=tpch_tiny
2+
MARIADB_USER=mariadb
3+
MARIADB_PASSWORD=password
4+
MARIADB_ROOT_PASSWORD=rootpwd
5+
6+
VIDEX_MARIADB_DATABASE=vtpch_tiny
7+
VIDEX_MARIADB_USER=vmariadb
8+
VIDEX_MARIADB_PASSWORD=vpassword
9+
VIDEX_MARIADB_ROOT_PASSWORD=vrootpwd

build/mariadb-compose.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
2+
services:
3+
mariadb:
4+
image: mariadb:11.8
5+
environment:
6+
MARIADB_DATABASE: ${MARIADB_DATABASE}
7+
MARIADB_USER: ${MARIADB_USER}
8+
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
9+
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
10+
volumes:
11+
- mariadb_data:/var/lib/mysql
12+
- ../data/tpch_tiny/:/docker-entrypoint-initdb.d/
13+
healthcheck:
14+
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
15+
start_period: 10s
16+
interval: 10s
17+
timeout: 5s
18+
retries: 3
19+
20+
videx_server:
21+
image: ghcr.io/bytedance/videx-server:0.2.0-preview-test2
22+
container_name: videx
23+
healthcheck:
24+
test: ["CMD", "python", "-c", "import sys,requests; sys.exit(0 if requests.get('http://localhost:5001/videx/visualization/status', timeout=2).ok else 1)"]
25+
start_period: 10s
26+
interval: 10s
27+
timeout: 5s
28+
retries: 3
29+
30+
mariadb_videx:
31+
build:
32+
dockerfile_inline: |
33+
FROM mariadb:12.3.1
34+
RUN apt-get update && \
35+
apt-get install mariadb-plugin-videx -y && \
36+
rm -rf /var/lib/apt/lists/*
37+
38+
command: --videx-server-ip=videx:5001 --plugin-maturity=experimental
39+
environment:
40+
MARIADB_DATABASE: ${VIDEX_MARIADB_DATABASE}
41+
MARIADB_USER: ${VIDEX_MARIADB_USER}
42+
MARIADB_PASSWORD: ${VIDEX_MARIADB_PASSWORD}
43+
MARIADB_ROOT_PASSWORD: ${VIDEX_MARIADB_ROOT_PASSWORD}
44+
volumes:
45+
- videx_mariadb_data:/var/lib/mysql
46+
healthcheck:
47+
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
48+
start_period: 10s
49+
interval: 10s
50+
timeout: 5s
51+
retries: 3
52+
53+
videx_sync:
54+
image: ghcr.io/bytedance/videx-server:0.2.0-preview-test2
55+
command: sync --target mariadb:3306:${MARIADB_DATABASE}:${MARIADB_ROOT_USER}:${MARIADB_ROOT_PASSWORD} --videx mariadb_videx:3306:${VIDEX_MARIADB_DATABASE}:${VIDEX_MARIADB_USER}:${VIDEX_MARIADB_PASSWORD} --videx_server videx:5001
56+
depends_on:
57+
mariadb:
58+
condition: service_healthy
59+
mariadb_videx:
60+
condition: service_healthy
61+
videx_server:
62+
condition: service_healthy
63+
64+
volumes:
65+
mariadb_data:
66+
videx_mariadb_data:

0 commit comments

Comments
 (0)