개요
MySQL에서 MongoDB로 마이그레이션 하는 경우는 많지만, MongoDB에서 MySQL로 마이그레이션 하는 경우는 상대적으로 적은 것 같다.
MongoDB는 NoSQL로 대용량 데이터를 처리하기에 적합하다는 장점이 있지만 관계형 데이터베이스 지원이 되지않기 때문에 현재하려는 프로젝트에서는 마이그레이션이 필요하다.
하지만 이 작업에는 여러 에러요소들이 있는데..
에러요소
1. 대용량 데이터
export했을 때 전체 용량이 12GB로 꽤 큰편이다. 텍스트가 많아서 어쩔 수 없다.
2. 데이터에 ,(콤마) 가 있음
csv는 구분자가 콤마인데 레이블에 콤마가 포함되어있을 경우 import시 에러가 발생한다. (원하는 양식대로 인식하지 못함)
3. json 추출 시 MySQL에서 불러오지 못함
현재 사용 중인 툴들에서는 json import가 안되고 워크벤치에서 json import가 된다고 하지만 안되고 있음
4. php 사용 시 메모리 에러
php로 json 데이터를 가공해서 db에 올리려고 했지만 대용량이라 읽는 부분에서 메모리 에러가 발생한다(아마도 out of memory에러인듯)
5. 특정 컬럼 크기가 12GB
용량이 큰 편이라 처리가 번거롭다.
해결방안을 찾아보았는데, 챗지피티에게 물어보니 mongoDB에서 csv export시 csvSeparator 옵션이 있다고 하길래 찾아봤는데 없는 듯 하다. 스택오버플로우를 찾아봐도 뚜렷한 해결책은 보이지 않았다.
생각중인 해결책
1. json 데이터를 csv로 변환
엑셀로 바꾸어 mysql프로그램에서 import하기
2. 대용량 json 데이터를 분할하여 PHP로 처리하기
jq 커맨드 도구 사용하여 json 데이터를 분할하여 작업하기
3. PHP 대신 Python 사용하기
python에는 여러 모듈들이 많으므로 적합한 모듈이 있을 것 같다.
'Development > MySql' 카테고리의 다른 글
[MySQL] MySQL server has gone away (0) | 2023.08.11 |
---|---|
[MySQL] sql_mode=only_full_group_by 에러 해결 방법 (0) | 2023.08.11 |
[MySQL] 테이블 깨졌을 때 복구하기 (0) | 2023.08.04 |
[MySQL] checking permissions (0) | 2023.05.04 |
[MySQL] 데이터 치환하기 (0) | 2023.03.29 |