MongoDB에서 Collection을 생성하고 Document를 생성하다보면,
DBPATH로 설정한 장소에 collection-name.ns, collection-name.{number}등의 파일들이 생성된다.
예)
> db.createCollection("people", { size: 2147483648 } )
MongoDB에 색인데이터를 정재하여 적재하는 엔진을 하나 만들어, 구동했다.
한참을 돈 후에 잘못된 부분을 발견하게 되었고 재구동을 해야만 했다.
데이터 적재 후 결과, 용량은 기억안남)
$ du -ah .
...
513M ./people.3
129M ./people.1
65M ./people.0
17M ./people.ns
...
mongo 콘솔에서 collection을 제거했다.
> db.people.drop()
헌데 데이터 파일은 사라지지 않는것이었다. 파일도 용량도 그대로.. 뭐지;?
당시 뭔생각이었는지 모르겠지만, 얼결에 MySQL 생각해서 파일을 강제삭제를 해버렸다.
(졸면서하면 이래된다. 다들알꺼다. 헐;; ㅋㅋㅋㅋㅋ)
$ rm -rf people.*보이나? 호환마마보다 무섭다는 옵션 rf?? (배경음: 두둥~~~~~~~!!)
아무튼 깨끗해진 디랙터리는 내 정신을 정화한다. 므흣~
엔진 수정 후 구동을 실행, 어느정도 쌓였을때 다시 확인했다.
응? 뭔가 이상하다? 파일이 다른패턴으로 생성되고 있었다.
확인된 재구동 후 모습, 용량은 기억안남;ㅋ)
$ du -ah .
...
1.1G ./people.5
1.1G ./people.4
...
어? 뭐지? 0,1,2,3이 있었다고 4부터 생성??? 뭐??
아무튼 구동하던거 일단 내비뒀다. 데이터가 많아 2일이나 걸렸다. 젠장.
(시간여행: 2일 후)
구동완료, 일단 콘솔을 멈추고 MongoDB를 재시작했다.
> use DBNAME
> db.people.find()
>
응? 뭐지? 아무것도 안뜬다?! 인식이 안된다. 헐.. 엿됐다.
인터넷을 찾아봤다.
$ mongod --repair변화없다. 안된다.
db.repairDatabase() //를 해보란다.
뭔가 쭉쭉 되드만.. 끝났다.
응? 그나마 있던 파일들이 사라졌다. 헐.............. 엿x2됐다.
결국, 이 글은 2일간 뻘짓에 대한 실록.이 되어버렸다.
(아우.. 그냥 파일시스템을 직접 만들껄 왜 MongoDB를 쓰려고했을까..)
누군가 같은 경우라면 절대, 파일을 직접 삭제하지 말기를 바란다.ㅋ
댓글 없음:
댓글 쓰기