๐ฉ๐ป๐ป/database10 [MySQL] match ... against ํ๊ธ์ ๊ฒ์ ์ค๋ฅ (innodb_ft_min_token_size, ngram_token_size) ๊ฐ์SELECT * FROM articles_cn WHERE MATCH(ner_text) AGAINST('็ซ' IN BOOLEAN MODE); ์ด ์ฟผ๋ฆฌ๋ก ๊ฒ์์ ํ๋, ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋ฐ์ง ๋ชปํ๋ค. ํน์๋ ํด์ ๋ค๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๊ฒ์ํ์ ๋SELECT * FROM articles_cn WHERE JSON_CONTAINS(ner, '"็ซ"'); ์ ๋์จ๋ค.. ๋ญ ๋๋ฌธ์ ์๋์ค๋ ๊ฑธ๊น? ํ์ธCREATE TABLE `articles_cn` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` text NOT NULL, `ner` json, `ner_text` text, PRIMARY KEY (`id`.. 2025. 5. 30. [MySQL] Mac์ my.cnf ํ์ผ์ด ์๋ค (mysql ๋ค์ด๋ฐ์์ ์ง์ ์ค์นํ์ ๊ฒฝ์ฐ) ๊ฐ์ํ ๊ธ์ ๊ฒ์์ ์ํด ngram_token_size๋ฅผ default 2์์ 1๋ก ์์ ํ๋ ค๊ณ ํ๋๋ฐ, my.cnf ํ์ผ์ ์ฐพ์ ์ ์๋ค!homebrew๋ก ์ค์นํ ๊ฒ ์๋๊ณ ์ง์ ๋ค์ด๋ก๋ํด์ ์ค์นํด์ ๊ทธ๋ฐ๊ฐ .. ํ์ธ1๏ธโฃ config ํ์ผ ํ์ธmysql --help | grep -A 1 "Default options"Default options are read from the following files in the given order:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf mysql์ ์ผ์ชฝ๋ถํฐ ์์๋๋ก my.cnf๋ฅผ ์ฐพ๋๋ค. 2๏ธโฃ ์ฒซ๋ฒ์งธ ๊ฒฝ๋ก( /etc/my.cnf )์ my.cnf๋ฅผ ์์ฑํด์ค๋ค. (์๋๋ฉด .. ์ง์ .. 2025. 5. 30. [MySQL] ๊ฒ์ ์ฟผ๋ฆฌ ์ฑ๋ฅ ๋น๊ต ๊ฐ์- ner์ ํฌํจํ๋ ๊ธฐ์ฌ๋ค์ ์ถ๋ ฅํ ๋, ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๊ธฐ ์ํ ์ฟผ๋ฆฌ ์ฑ๋ฅ ๋น๊ต 1) JSON_CONTAIN 2) MATCH … AGAINST 3) MATCH … AGAINST + REGEXP- 100,000๊ฐ์ article๋ก ์งํ ํ์ธEXPLAIN ANALYZE ๋ก ๋ถ์์ ์งํํ๋ค. 1. JSON_CONTAINEXPLAIN ANALYZE SELECT * FROM articles WHERE JSON_CONTAINS(ner, '"์ผ์ฑ"');-> Filter: json_contains(articles.ner,('"์ผ์ฑ"')) (cost=10185.55 rows=98728) (actual time=0.148..102.554 rows=27555 loops=1)-> Table .. 2025. 5. 28. [MySQL] FULLTEXT ์ธ๋ฑ์ค ๊ฒ์ ๊ธ์์ ์ ํ ๊ฐ์ article์ด ์๋ ํ ์ด๋ธ์์ ํน์ ner๋ฅผ ํฌํจํ ๊ธฐ์ฌ๋ค์ select ํ๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑ ์ค์ ์์๋ค. โ ์ฌ๊ธฐ์ ๋ฌธ์ ๋ฐ์2๊ธ์๋ ๊ฒ์์ด ์๋๊ณ , 3๊ธ์๋ถํฐ ๊ฒ์ ๊ฐ๋ฅ 1๏ธโฃ ner ํค์๋ ์ค "์ผ์ฑ"์ ํฌํจํ ๊ธฐ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์ค๋ querySELECT * FROM articles WHERE MATCH(ner_text) AGAINST('+์ผ์ฑ' IN BOOLEAN MODE);→ ์๋ฌด๊ฒ๋ ์ถ๋ ฅ ์๋จ 2๏ธโฃ ์ผ์ฑ์ ์๋ฅผ ํฌํจํ ๊ธฐ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์ค๋ querySELECT * FROM articles WHERE MATCH(ner_text) AGAINST('+์ผ์ฑ์ ์' IN BOOLEAN MODE);→ ์ ์์ ์ผ๋ก ์ถ๋ ฅ ํ์ธMySQL FULLTEXT ์ธ๋ฑ์ค์์ 2๊ธ์ ์ด์์ด ๊ฒ์์ด ๋์ง ์๋๋ค.SHOW VA.. 2025. 5. 28. [MySQL] localhost ๋น๋ฐ๋ฒํธ ๊น๋จน์๋ค local ์์ ํ ์คํธ๋ฅผ ์งํํ๋ ์ค ๋ก์ปฌ mysql์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ๋ ค๊ณ python์ผ๋ก ์ฐ๊ฒฐ ์๋ ํ๋๋ฐimport pymysql# MySQL ์ฐ๊ฒฐconn = pymysql.connect( host="localhost", user="root", password="12341234", database="study", charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor)pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") ์ด๋ฐ Access denied ๋์๋ค. ๋คํํ DBeaver๋ฅผ ํตํ ์ฐ๊ฒฐ.. 2025. 2. 14. ํฌ๋กค๋ง ๋ฐ์ดํฐ ์ ์ฌ SQL vs NoSQL ๊ฐ์์ ์ ์งํ๋์๋ ํ๋ก์ ํธ์์์ ํฌ๋กค๋ง์ MongoDB์ ์ ์ฌํ๋ค.๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ ๋ SQL(MySQL), NoSQL(MongoDB) ๋๊ฐ์ง ์ค์ ์ด๋ค ๊ณณ์ด ๋ ์ ํฉํ์ง ๊ณ ๋ฏผ์ด ๋์ด์ ๋๊ฐ์ง๋ฅผ ๋น๊ตํด๋ณด์ ~ ! ๊ธฐ๋ณธ ๊ฐ๋ DB ์ข ๋ฅํน์ง์ ํฉํ ๊ฒฝ์ฐMySQL (Relational)ํ ์ด๋ธ ๊ธฐ๋ฐ์ ๊ด๊ณํ DB (SQL)์ ํ ๋ฐ์ดํฐ, ๊ฒ์ ์ฑ๋ฅ ์ค์MongoDB (NoSQL, Document-based)JSON-like ๋ฌธ์ ์ ์ฅ (NoSQL)๋น์ ํ ๋ฐ์ดํฐ, ์ ์ฐํ ์คํค๋งํฌ๋กค๋ง ๋ฐ์ดํฐํฌ๋กค๋ง ๋ฐ์ดํฐ๋ ์ด๋ฌํ ํํ๋ก ์์ง๋๋ค.{ "title": "Example Title", "url": "https://example.com", "content": "Some article content...", .. 2025. 2. 6. [MongoDB] ๊ฐ๋จํ ๊ฐ๋ ์ ๋ฆฌ ๊ฐ์์ด๋ฒ์ ํฌ๋กค๋งํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชฝ๊ณ ๋๋น์ ์ ์ฌํด๋ฌ๋ผ๋ ์์ฒญ์ ๋ฐ์์ ์งํํ๋ค.์ฒ์์ผ๋ก ๋ชฝ๊ณ ๋๋น๋ฅผ ์ ํด๋ณด๋ ๊ฒธ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ํด๋ณผ๊น ํ๋ค.๋ชฝ๊ณ ๋๋น MongoDB์คํ์์ค์ด๋คNoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ JSON ์ ์ฌํ ๋ฌธ์ ํํ๋ก ์ ์ฅ๋๋๊ฒ ํน์ง์ด๋ค.์ ํต์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)์๋ ๋ฌ๋ฆฌ, ์คํค๋ง๊ฐ ์๋ค. ํน์ง(1) ๋ฌธ์ ๊ธฐ๋ฐ(Document-oriented) ์ ์ฅ- ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ์ ํ(row)์ผ๋ก ์ ์ฅํ๋ RDBMS์ ๋ฌ๋ฆฌ, MongoDB๋ BSON(Binary JOSN) ํฌ๋งท์ ๋ฌธ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.- ์:{ "name": "John", "age": 30, "skills": ["Python", "JavaScript"]} (2) ์คํค๋ง๋ฆฌ์ค(Schema-less)- ๋ฐ์ด.. 2025. 1. 10. [MySQL] ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ ์งํ mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๊ณ ์ถ์ด์ searchํ๊ณ ์ ๋ฆฌํ๋ค. mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ๊ฐ์์ด๋ฒ์ ์๋ก ์งํ๋๋ ํ๋ก์ ํธ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผํ๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํ๊ฐ ์์ ๋, ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ํด์ search ํ๋ค.์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ์ถ์๋๋ฐbonory.tistory.com์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋ก ์งํํด๋ณด๋ ค๊ณ ํ๋ค.์ฐ์ ๋๋ docker๋ก zookeeper, kafka, kafka-connect, mysql์ ์ฌ๋ฆด ๊ฒ์ด๋ค๊ทธ๋์ docker-compose.yml์ ์๋์ ๊ฐ์ด ์์ฑํ๋คdocker-compose.ymlversion: '3'services: zookeeper: image: confluentinc/cp-zookeeper:latest .. 2024. 10. 20. [MySQL] ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ ๊ฐ์์ด๋ฒ์ ์๋ก ์งํ๋๋ ํ๋ก์ ํธ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผํ๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํ๊ฐ ์์ ๋, ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ํด์ search ํ๋ค.์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ์ถ์๋๋ฐ ์ด๋ฒ์ ํ๊ฒ๋์ด์ ๋๋ฌด ์ข๋ค !์ด๋ฒ ํ๋ก์ ํธ์ Back์ Fastapi, Front๋ javascript๋ก ์งํํ ๊ฒ์ด๋ค. ๊ฐ๋จํ๋ค.1. Robot์์ Database์ ๋ฐ์ดํฐ updateํ๋ค.2. Database์ ๋ณํ๊ฐ ์์ ์ Fastapi (Back)์ด ์์์ผํ๋ค.3. Fastapi (Back)์์ javascript (Front) ๋ก ๋ณํ๋ฅผ ์ ๋ฌํ๋ค. ํ์ธ1. Database → Back : polling / CDC2. Back → Front : web socket Polling์ผ์ ์ฃผ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ .. 2024. 10. 2. ์ด์ 1 2 ๋ค์