MySQL utf8mb4 를 사용해야 할까요? (KLDP drupal 7 업그레이드..)

김정균의 이미지

KLDP의 drupal 6이 올해 2월부로 EOL 되어서 업그레이드 계획을 잡고 있습니다. Drupal 8로 업그레이드를 하려다가, 문서상의 Major version 간의 업그레이드가 완전치 않은 듯 하고, drupal 6에서 사용하는 모듈이 너무 지원이 안되서 일단 7로 업그레이드를 할 계획을 잡고 있습니다.

일단, VPN 망 안에서만 접근 가능한 곳에서, Drupal 7로의 migration 테스트는 완료된 상태입니다. drupal 6 -> 7 의 업그레이드 소감은, 설정이 다 풀어져서 닥질을 해야 한다는 것 이네요. 기존의 KLDP 같이 설정을 새로 하는데만 2일 정도 소요가 되었네요. (뭐 한번 했으니 시간은 좀 더 줄지 않을까 싶습니다만..)

다만 아직 결정을 못한 것이 mysql의 utf8mb4 charset을 사용해야 하느냐의 문제 입니다. 기존의 utf8은 3byte로 fix가 되어져 있어 imoji 같은 문자를 넣을 수 없습니다. 대부분의 Emoji 문자들은 4byte 영역에 있기 때문인데요.

KLDP 특성상 대부분 PC에서의 입력이 대부분입니다. 모바일로는 거의 read만 이루어 지는데, PC의 키보드에서는 windows 환경에서는 Emoji 입력이 거의 없다는 점입니다.

이렇게 투덜 대는 이유는, scheme file 수정 하는게 좀 머리가 아프기 때문 입니다. (table이 거의 200개에 육박해서..) druapl sheme가 varchar(255)를 key로 사용하는 경우가 꽤 되는데, utf8mb4로 변환을 하기 위해서는 innodb file format을 barracuda로 변경을 해야 하고, 또 varchar(255)를 key로 사용하기 위해서는 barracuda row format을 DYNAMIC으로 변경을 해 줘야 한다는 점입니다. 그냥 일괄적으로 다 DYNAMIC 으로 할까 고민도 해 보았는데.. 일단 baraccuda 경험이 compressed 밖에 없어서 선뜻 결정이 안되는 군요.

Emoji 입력을 무시하자 하면, 아주 간단한 결론이 나올테고, 아니면 모든 테이블이 row_format을 DYNAMIC 으로 해 버리는 방법, varchar(255) 만 골라서 DYNAMIC으로 하는.. 도대체 결정이 되지를 않습니다. --;

shint의 이미지

이런 무시무시한 단어들이 골치를 만드는것 같습니다. 좀 쉽게 했으면 좋겠네요.
컴퓨터를 좋은거 하나 사거나. 슈퍼컴퓨터 대여나. 뭐 빅데이터인가랑 오픈API 등에 지원사업이라도 있으면. 좋을지도 모르져...
아니면. 그 분야에 전문가를 만나보는것도 좋겠죠...
그냥 해도. MySQL 에 select. insert. delete 는 0.0001초 정도로 빠르던데요??

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

36311의 이미지

이모티콘 뿐만 아니라 유니코드에 있었지만 그간 저장이 안되던 문자와 기호를 저장할 수 있기 때문에 사용하는게 당연히 좋습니다.

MySQL 이전 버전을 사용하는 바람에 이 유니코드들 구현하는데 애먹었던 경험이 있습니다...

...만 사실 KLDP에서 그 코드들을 쓸 일이 거의 없겠죠. DB 엎는건 큰 부담인 만큼 차라리 요구사항을 모아서 메이저 업데이트를 할 때 변환하는게 현명한 일일거 같습니다.

그리고 차라리 그런 이모티콘들을 지원하지 않고 터미널 느낌을 유지하는 것도 사이트 개성에 맞는 일 아닐까 하는 생각도 듭니다.

* 포럼 주제와 무관한 신변잡기를 반복해서 올리지 맙시다.
* 질문 게시판 만이라도 익명 글쓰기를 막아야 한다고 생각합니다.

백연구원의 이미지

그리고 차라리 그런 이모티콘들을 지원하지 않고 터미널 느낌을 유지하는 것도 사이트 개성에 맞는 일 아닐까 하는 생각도 듭니다. (+1)


소곤소곤

김정균의 이미지

drush 를 이용해서 변환하니 금방 하기는 하네요. 다만 전체 테이블을 다 변경해 버린다는 점과, drupal status에서도 전체 테이블을 다 변경해야 문제가 없는 것으로 나온다는 점이 좀 그렇군요. utf8mb4로 변환하니 용량이 25% 정도 증가 합니다. (3byte가 4byte가 되었으니.. --)

테스트는 다 마쳤으나, 일단은 지원 안하는 방향으로 가닥을 잡고는 있습니다. (나중에 필요할 때 변경해도 상관 없으므로..)

sephiron의 이미지

십수년간 KLDP 종종 들리며 많은 도움을 받고, 배우고 갑니다.

감사합니다.