Просмотр исходного кода

dev/ClickHouse: paberkrohv postgres->ClickHouse migratsiooninäide dokumenteeritud

ardo 1 месяц назад
Родитель
Сommit
22ee7715d7
1 измененных файлов с 47 добавлено и 1 удалено
  1. 47 1
      dev/LOEMIND.md

+ 47 - 1
dev/LOEMIND.md

@@ -44,8 +44,54 @@ docker-compose -f /opt/docker-compose/dev/docker-compose.yml logs -f clickhouse
 docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026
 ```
 
+## 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.
-  Oracle'i skeemi/andmete migratsiooni tööriistad vajavad eraldi uurimist (nt `clickhouse-client` + vood, `clickhouse-mysql` (MySQL-ühilduv), ETL).
+  Postgres-migratsioon on eeskujuks: `postgresql()` tabelifunktsioon lihtsustab oluliselt (Oracle'i jaoks
+  tuleb vastav funktsioon/ODBC-vood eraldi uurida).