# Dev-teenused (dev) – Docker kasutusjuhend Kataloog: `/opt/docker-compose/dev/` Arendus-/tutvumisteenused. Esimene teenus on **ClickHouse** (OLAP-andmebaas, mille eesmärk on Oracle-baaside ülemineku ettevalmistamine). ## ClickHouse | Omadus | Väärtus | |--------|---------| | Pilt | `clickhouse/clickhouse-server:26.8.1.2041` | | Konteiner | `clickhouse` | | HTTP API | **8125** otse (ClickHouse'i vaikimisi 8123 on Home Assistant'il) — **8124** läbi `clickstack-proxy` | | Native TCP | **9004** (vaikimisi 9000 on portainer'il) | | Kasutaja | `default` (ja `dev`) | | Parool | `dev_clickhouse_2026` (mõlemal) | | Andmed | `./data/clickhouse` (gitignore'd) | | Config | `./config/` (merge'd `/etc/clickhouse-server/config.d`) | | Võrk | `main_ai_network` | ## Web UI ClickHouse'il on **sisseehitatud veebiliides** (`/play` — SQL playground): ``` http://100.87.1.24:8124/play ``` Kasutajanimi `default`, parool `dev_clickhouse_2026`. ## Käsud ```bash # Käivita / peata / taaskäivita docker-compose -f /opt/docker-compose/dev/docker-compose.yml up -d docker-compose -f /opt/docker-compose/dev/docker-compose.yml down docker-compose -f /opt/docker-compose/dev/docker-compose.yml restart clickhouse # Logid docker-compose -f /opt/docker-compose/dev/docker-compose.yml logs -f clickhouse # Kliendiga (konteineri sees) docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026 ``` ## ClickStack (HyperDX) — observability UI ClickStack = HyperDX UI + ClickHouse + OTel-kollektor (logid/traces/meetrikud). | Omadus | Väärtus | |--------|---------| | Konteiner | `clickstack` (`hyperdx-all-in-one`) | | **UI (otsing/dashboardid)** | **`http://100.87.1.24:8124/clickstack/search`** (läbi `clickstack-proxy`) | | UI otse (varuvariant) | `http://100.87.1.24:18080/search` | | **Kasutaja** | `admin@odamus.com` | | **Parool** | `Dev_clickhouse_2026!` | | OTLP gRPC sisend | 4317 | | OTLP HTTP sisend | 4318 | | Andmed (incl. MongoDB) | `./data/clickstack` (gitignore'd) | **Hooldus:** all-in-one ei käivita MongoDB-d ise — seetõttu on `command` üle võetud `clickstack-entry.sh`-ga (käivitab `mongod` pordil 127.0.0.1, siis rakenduse). `db` laheneb konteineris 127.0.0.1-le (sisemine MongoDB). **Port 8124 = `clickstack-proxy` (nginx):** - `/clickstack/*` → ClickStack UI (ClickHouse staatiline kest) - `/__ENV.js`, `/api/*`, `/graphql` → HyperDX backend - `/`, `/play`, `/?query=...` → ClickHouse (ehk DBeaver 8124-ga töötab edasi) - ClickHouse'i HTTP otse on nüüd pordil **8125** (8124 läbi proxy sama API-ga) ## Migratsiooninäide: postgres → ClickHouse (paberkrohv) 2026-08-31 viidi `paberkrohv` andmebaas postgresist (100.87.1.24:5432) ClickHouse'isse — näide, kuidas hiljem Oracle-baase üle viia. **Tulemus (read ühtivad):** sorptsioon 48193, sample_weight 2529, sample 1749, mixture 386, lot 10, res_users 6, test 7. ### Tüübimapping | Postgres | ClickHouse | |----------|------------| | integer | Int32 | | numeric | Float64 (testiks OK; täpsuse vajadusel Decimal) | | timestamp (ilma tz) | DateTime64(3) | | character varying / text | String | | boolean | Bool | ### Tabeli loomine (MergeTree — analüütiline mootor) ```sql CREATE TABLE paberkrohv.sorptsioon ( id Int32, weight Float64, lot Int32, sample Int32, rh_1 Int32, test_id Int32, datetime DateTime64(3), created_at DateTime64(3), created_by Int32 ) ENGINE = MergeTree ORDER BY (sample, lot, datetime); ``` ### Andmete ülekanne (ClickHouse'i `postgresql()` tabelifunktsioon) ```sql -- ClickHouse loeb otse postgresist, ilma vahefailita: INSERT INTO paberkrohv.sorptsioon SELECT * FROM postgresql('postgres_postgis:5432', 'paberkrohv', 'sorptsioon', 'ai_user', 'ai_secure_pass_2026'); ``` Päring peab jooksma ClickHouse'i konteineri seest (võrk `main_ai_network` võimaldab `postgres_postgis:5432`). Postgres jääb puutumatuks — ClickHouse on koopia. ### Käsud ```bash docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026 \ --query "SELECT count() FROM paberkrohv.sorptsioon" ``` ## Märkused - Pordid valitud konfliktivabaks: 8124 (HTTP), 9004 (native). 8123 = Home Assistant, 9000 = portainer. - Oracle → ClickHouse: ClickHouse on veerupõhine OLAP; sobib analüüsi/aruandluse koormuste jaoks. Postgres-migratsioon on eeskujuks: `postgresql()` tabelifunktsioon lihtsustab oluliselt (Oracle'i jaoks tuleb vastav funktsioon/ODBC-vood eraldi uurida).