# docker-dev
**Repository Path**: mirrors_databricks/docker-dev
## Basic Information
- **Project Name**: docker-dev
- **Description**: Arcion Demo Kit for testing database to database replication
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-19
- **Last Updated**: 2025-10-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
More info at [Arcion Demo Kit docs](https://databricks.github.io/demokit.gtihub.io/).
# Overview
This is the Arcion Demo Kit. It is designed to demo and test Arcion replication from various data sources to targets. The diagram below describes the components of the demo kit. Please refer to [https://docs.arcion.io](https://docs.arcion.io) for more info.
- Load Generators
- Yahoo Cloud Serving Benchmark [YCSB](https://github.com/brianfrankcooper/YCSB)
- Carnegie Mellon Database Group [BenchBase](https://github.com/cmu-db/benchbase)
- Data sources
- Arcion cluster with dedicated metadata database
- Data destinations
```mermaid
graph LR
L[Load Generator
TPC-C
YCSB] --> S
subgraph Arcion Cluster
A1
M[(Meta
Data)]
end
S[(Source
Data)] --> A1[Arcion
UI]
A1 --> T[(Destination
Data)]
```
# Getting started
Assumptions:
- Run on Windows WSL2, Liunx or Mac
- x64_64 (Intel, AMD) CPUs can run all databases
- ARM64 (Apple Silicon, Tau, Graviton2) can run Oracle 19c
- Access to a terminal
- Access to a browser
- Arcion License file `replicant.loc`
# Install and Setup
## OSX (Mac) prerequisites
```bash
brew install dialog
brew install jq
brew install git
brew install wget
brew install bash
brew install podman
brew install podman-desktop
pip3 install podman-compose
```
- `bash` required for Demokit's install.sh
```bash
echo $(brew --prefix)/bin/bash | sudo tee -a /private/etc/shells
chpass -s $(brew --prefix)/bin/bash
```
- `podman` with 512GB of disk, 16GB of RAM, and 8 CPUs
```bash
podman machine init --disk-size 512 --memory 16384 --cpus 8
podman machine start
```
# Install Arcion Demo Kit
Cut and paste the following in a terminal.
```
git clone https://github.com/databricks/docker-dev
cat >>~/.profile </dev/null; docker compose stop; popd 2>/dev/null
done
```
- down removes the container and its running image
```bash
for db in $( find * -maxdepth 2 -name docker-compose.yaml ); do
pushd $(dirname $db) 2>/dev/null; docker compose down; popd 2>/dev/null
done
```
```bash
for db in $( find * -maxdepth 2 -name docker-compose.yaml ); do
pushd $(dirname $db); docker compose up -d; popd
done
```
# Cloud Database Examples
## Snowflake
- Snowflake source to MySQL destination
use the default on mysql destination
single thread each extractor and applier
source catalog is SNOWFLAKE_SAMPLE_DATA and source schema is TPCH_SF1
```bash
SRCDB_DB=SNOWFLAKE_SAMPLE_DATA SRCDB_SCHEMA=TPCH_SF1 arcdemo.sh snapshot snowflake mysql
```
two threads each extractor and applier
source catalog is default `arcsrc` and source schema is `PUBLIC`
```bash
arcdemo.sh -b 2:2 snpashot snowflake mysql
```
# Oracle Docker Setup
Oracle requires container images to be built locally.
Start with Oracle XE, then use Oracle EE for volume testing.
Oracle XE does not require the extra step of downloading the Oracle EE binary.
Oracle EE should be used for anything scale factor beyond 10.
### Oracle XE
- Build the image
```bash
cd oracle
git clone https://github.com/oracle/docker-images oracle-docker-images
pushd oracle-docker-images/OracleDatabase/SingleInstance/dockerfiles
./buildContainerImage.sh -v 21.3.0 -x -o '--build-arg SLIMMING=false'
popd
cd ..
```
- Start service
```bash
docker compose -f oraxe2130/docker-compose.yaml up -d
```
- A test examples
Scale factor 10
Snapshot inter table parallelism of 2
```bash
arcdemo.sh -s 10 -b 2:2 full oraxe pg
```
# Testing with different tags of demokit
- to install specific tag
```bash
export ARCION_WORKLOADS_TAG=23.07
/bin/bash -c "$(curl -k -fsSL https://raw.githubusercontent.com/databricks/docker-dev/${ARCION_WORKLOADS_TAG:-HEAD}/install.sh)"
```
- to install DBs not listed in the menu
```bash
export ARCION_DOCKER_DBS=(db2 informix)
/bin/bash -c "$(curl -k -fsSL https://raw.githubusercontent.com/databricks/docker-dev/${ARCION_WORKLOADS_TAG:-HEAD}/install.sh)"
```
# Generate Source / Target Matric
```bash
cd bin
./startall.sh
./recdemo.sh
```