이 문서 내용은 좀 낡았습니다.
60일이나 편집 안된 오래된 망한 문서니 개발 문서인 경우 참고할 때 조심하세요. 최신 정보를 알고 싶으면 게시판에 글 써주세요
아는 사람은 알겠지만
오픈나무는
DB의 모든 데이터를 TEXT 혹은 LONGTEXT로 저장한다
이는 사실 굉장한 메모리 낭비이고 최적화 측면에서 최악이다
그럼에도 불구하고 왜 이렇게 쓰는가에 대한 글이다
오픈나무의 시작 지점을 보면 알겠지만 사실 대규모 위키에 최적화된
위키 엔진이 아니였다
지금도 아니지만그래서 이 정도 규모에서는 모든 데이터를 TEXT로 저장해도 별 문제 없겠구나하고
개발 효율 증가 및 추후 데이터를 완전 변경해야할 상황 대비 겸사 TEXT로 저장했다
예를 들어서 ORDER BY를 ID 필드에 쓴다고 쳤을 때 ID 필트는 TEXT 타입이므로 TEXT 타입으로 정렬하면 10 다음 100이 온다
그래서 INT 타입으로 변환해서 서로 비교해줘야 한다 -> 성능 로스가 장난 아닐 것 같다
(1)또한 전부 TEXT 타입이므로
나무위키 DB의 HISTORY를 전부 올리면 용량이 장난 아니고 메모리 소모가 굉장하다
2.3. 근데 문제를 알면서도 왜 지금도 안 바꾸냐? ✎ ⊖
- 1. 테이블 구조를 바꾸려면 테이블 데이터를 전부 이전해야 하는데 그 과정에서 뭔가 잘못되면 돌이키기 어려울 것 같아서
- 1. 특히 이제 진짜 위키 굴리는 용도로 쓰는 사람들이 있으니 예전만큼 막 갈아엎기가 좀 무섭다
- 2. 사실 지금도 대규모 위키용 엔진은 아니라고 생각해서
- 1. 사실 나무위키 DB 올리는 건... 그냥 미러 만들기 정도라고 생각해서 개인적으로 별로 좋아하진 않는다 게다 이제 지원도 종료해서 올리고 싶어도 올리지도 못한다
- 2. 물론 진짜 제대로된 문서로 이루어진 대규모 위키 나온다면 갈아엎겠지만(2)
- 3. 앞에서 말한 개발 효율 증가 및 추후 데이터 변경 상황이 지금도 생각보다 중요해서
- 1. 아니 막짜서 막 굴리는 게 개발자의 미덕이 맞냐?(3)라고 물으면 솔직히 할 말은 없는데 이게 업도 아니고 개인 취미 생활이라서 막짜도 어떻게든 굴러가는 게 생각보다 중요하다