๊ฐ์
์ด๋ฒ์ ์๋ก ์งํ๋๋ ํ๋ก์ ํธ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํ๊ฐ ์์ ๋, ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ํด์ search ํ๋ค.
์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ์ถ์๋๋ฐ ์ด๋ฒ์ ํ๊ฒ๋์ด์ ๋๋ฌด ์ข๋ค !
์ด๋ฒ ํ๋ก์ ํธ์ Back์ Fastapi, Front๋ javascript๋ก ์งํํ ๊ฒ์ด๋ค.
๊ฐ๋จํ๋ค.
1. Robot์์ Database์ ๋ฐ์ดํฐ updateํ๋ค.
2. Database์ ๋ณํ๊ฐ ์์ ์ Fastapi (Back)์ด ์์์ผํ๋ค.
3. Fastapi (Back)์์ javascript (Front) ๋ก ๋ณํ๋ฅผ ์ ๋ฌํ๋ค.
ํ์ธ
1. Database → Back : polling / CDC
2. Back → Front : web socket
Polling
์ผ์ ์ฃผ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ํ ์ด๋ธ์ ์กฐํํด์ ๋ณํ๊ฐ ์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ด๋ค.
1. ์ฃผ๊ธฐ๋ฅผ ์งง๊ฒ ์ค์ ํ๋ฉด → ์๋ฒ ๋ถํ ๋ฐ์ ๊ฐ๋ฅ์ฑ
2. ์ฃผ๊ธฐ๋ฅผ ๊ธธ๊ฒ ์ค์ ํ๋ฉด → ์ค์๊ฐ ๋ฐ์์ฑ ํ๊ณ
CDC
Change Data Capture
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋์ญ์ ๋ก๊ทธ, ๋ฐ์ด๋๋ฆฌ ๋ก๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค.
polling ์ฒ๋ผ ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์ ์กํ๋ ์๊ณ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํด์ ๋ค๋ฅธ ์์คํ ์ผ๋ก ์ ์กํ๋ค.
[๋์ ๋ฐฉ์ ์ ๋ฆฌ]
- ํธ๋์ญ์ (INSERT, UPDATE, DELETE) ์ ์ถ์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ captureํ๋ค.
- capture๋ ๋ณ๊ฒฝ ์ฌํญ์ event stream ํํ๋ก ๋ด๋ณด๋ธ๋ค.
- message queue (ex. Kafka, RabbitMQ ..) ๊ฐ์ ์์คํ ์ผ๋ก ์ ์กํ๋ค.
- ๋ฐ์ด๋๋ฆฌ ๋ก๊ทธ(binlog), ํธ๋์ญ์
๋ก๊ทธ๋ฅผ ์ฝ์ด ๋ณ๊ฒฝ ์ฌํญ ๊ฐ์งํ๋ค.
- ์ด ๋ก๊ทธ์๋ database์ ๋ชจ๋ ๋ณ๊ฒฝ ๋ด์ญ์ด ๊ธฐ๋ก๋์ด ์์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ ์ ์๋ค.
[CDC ๊ตฌํ์ ์ํ ๋๊ตฌ]
- Debezium
- ์คํ์์ค, Mysql ์ง์, Kafka์ ํตํฉ๋์ด ์์
- ํ๋ฆ
- MySQL Binlog๋ฅผ ์ฝ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ง
- Kafka Connect๋ฅผ ํตํด ๋ณ๊ฒฝ ์ฌํญ์ Kafka ํ ํฝ์ผ๋ก ์ ์ก
- application์ด Kafka๋ก๋ถํฐ ์ด๋ฒคํธ๋ฅผ ์์
- AWS DMS
- AWS์์ ์ ๊ณตํ๋ CDC ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ณต์ ์๋น์ค
- ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ถ์ ํ์ฌ ๋ค๋ฅธ AWS ์๋น์ค(S3, Redshift ..)๋ก ์ ์ก
- Apache Kafka + Kafka connect
- Debezium์ด๋ ๊ฐ์ด ์ฌ์ฉํ๋๊ฒ ์ข์
์ด์ ๋ค์์ ์ค์ ๋ก ์งํํด์ผ๊ฒ ๋ค
> ์งํ:
mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ ์งํ
mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๊ณ ์ถ์ด์ searchํ๊ณ ์ ๋ฆฌํ๋ค. mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ๊ฐ์์ด๋ฒ์ ์๋ก ์งํ๋๋ ํ๋ก์ ํธ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผํ๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํ
bonory.tistory.com
'๐ database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MQTT์ Kakfa ๋น๊ต (2) | 2024.10.23 |
---|---|
mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ ์งํ (3) | 2024.10.20 |
[MQTT] message๋ฅผ ์๋ณด๋ด๋๋ฐ ๊ณ์ message๊ฐ ์์ด๋ issue (1) | 2024.03.07 |
[MQTT] mqtt client์ connect ์๋๋ ๋ฌธ์ (0) | 2024.03.06 |
[Redis] Redis์ ๋ํ ๊ฐ๋จํ ์ ๋ฆฌ (0) | 2023.12.04 |