TIL: 2017.11.07

Development / AWS / MySQL / TIL / AWS DMS / AWS RDS

대용량 MySQL 마이그레이션기 4TB 정도의 AWS RDS 상의 MariaDB를 AuroraDB로 Reverse-Migration 하려고 함. 예전에 AuroraDB에서 I/O 가격 이슈 때문에 넘어온 적 있음. 이 때에는 2TB 정도 되었기 때문에, mysqldump를 이용해서 전량 덤프 후에, Read Replica화 해서 Sync 맞추고 무중단 이전 했었음. 그런데 용량이 넘 커서 mysqldump에 진짜 진짜 애를…

외부 Online DDL Tool 들(pt-online-schema-change, oak-online-alter-table)에 대한 단상

Development / MySQL / DB / devops / OnlineDDL / pt-online-schema-change / oak-online-alter-table

급하게 무중단으로 Table Schema를 바꿔야 할 때, 어김 없이 pt-online-schema-change와 oak-online-alter-table을 사용하고픈 유혹에 빠진다. 결국 이 툴들은 MySQL 자체 Online DDL(ALGORITHM = INPLACE)이 불가능 할 때 최후의 수단으로 사용하는 것인데, (INPLACE 가능/불가능한 경우가 아주 아주 잘 정리된 페이지) 웃긴게, 테이블에 FK가 걸려있으면 이 외부 Online DDL 툴을 사용할…

아무 이유 없이 MySQL Foreign key 안 걸릴 때.

Development / MySQL / DB

진짜 아~무 이유 없이(컬럼 타입도 맞고, 뭐 여튼 이론적으로 절대 FK가 안걸릴 이유가 없는 상태일 때) Error Code: 1215. Cannot add foreign key constraint를 내뿜으며 FK가 안 걸릴 때에는 레퍼런스 테이블에 FK 락이 걸려있을 가능성이 높다. 트랜잭션이 잦은 라이브 상태의 테이블이라면 더더욱! 실제 이를 확인하기 위해서는 SHOW ENGINE…

Elasticsearch & MySQL Rivering & MeCab-Ko

Development / Elasticsearch / MySQL / MeCab-ko / MeCab / 은전한닢

사실 ES & MeCab-Ko 조합을 수없이 세팅했던 것 같은데, 이번에 새로 AWS로 이전하면서 새로 또 세팅을 해야해서.. 기왕 하는거 글로 남기면서 해볼까 한다. 세팅 다 끝나면 이미지 꼭 떠놔야지. (Docker로는 언제 하지..?) 나는 Ubuntu x64 환경이고, 딱히 빌드를 직접 하고픈 마음이 없기 때문에 패키지 관리자를 통해 설치를 할 예정이다. 단,…

한국어 Full-Text Search 사용하기

Development / Elasticsearch / MySQL / Full-Text Search

예전에 Full-Text Search를 구현해야 할 때에는 항상 Elasticsearch를 설치한 뒤에, 이를 원래 Data source(MySQL, MongoDB..)와 Rivering하고, MeCab-Ko(은전한닢) Plugin을 이용해 한국어 형태소 분석을 했었다. 이번에 신규로 검색 기능을 구현해야 하는데, 어떻게 하면 가장 효율적일지(차후 서비스 운용 부분에 있어서까지) 고민중이다. MySQL Full-Text Search를 활용하는 법 MySQL 5.6…