Programming/Backend 3

MongoDB에서 Index (B-tree)

업무에서 발생한 일을 바탕으로 프롬프트를 작성하고 정리한 내용.cs수업때 b+tree 배운 이후에 까먹고 있었는데, 리마인드 할 겸 기록해둔다.직접 작성하는 것보다 더 나은 것 같다. MongoDB 인덱스와 B-Tree: OOM 에러로부터 배운 교훈얼마 전 MongoDB를 사용하면서 예상치 못한 Out of Memory(OOM) 에러를 경험했습니다. 이 문제는 단순히 History 데이터를 정렬(sort)하려는 작업에서 발생했으며, 원인은 특정 필드에 대해 인덱스가 없었기 때문입니다. 이 사건을 계기로 MongoDB에서 사용하는 인덱스의 구조를 자세히 알아보게 되었고, 그 핵심에 B-Tree라는 자료 구조가 있음을 알게 되었습니다. 이번 글에서는 MongoDB 인덱스에서 사용되는 B-Tree와 관련 개념..

Programming/Backend 2025.01.10

MongoDB core-dump, 대용량 데이터 처리 (페이징, limit 값)

배경업무 중에, 서버의 Disk Full 연락을 받았다.기존 개발해둔 API에서 OOM (Out Of Memory)가 계속 발생하여, core-dump가 계속 생성되어서 Disk Full이 발생.Free disk space 해결과정https://support.bespinglobal.com/ko/support/solutions/articles/73000560685--linux-df-du-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%B0%A8%EC%9D%B4%EC%A0%90-%EC%B0%A8%EC%9D%B4%EB%82%A0-%EB%95%8C-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95 df, du 명령어 차이점과 차이 발생 시 해결방법df와 du란 무엇인가? Linux에서..

Programming/Backend 2024.09.05

Nest.js 도입 및 느낀점 (Express와 비교)

주제 : Nest.js 도입 및 느낀점 (이번 포스팅은 회사 발표용이라 자료 내용이 딱딱합니다.) 정의 Nest.js 는 Node.js 런타임 위에서 동작하는 TypeScript용 오픈 소스 백엔드 웹 프레임워크. 선정 이유 (Express를 사용하며 아쉬웠던 점) 인턴 기간 때, 언어 : JS, 프레임워크 : Express를 활용한 백엔드 엔지니어링 역량 강화의 경험이 존재. 올해 업무 시작하면서, Express 기반의 프로젝트들의 개발을 진행하거나 참고하는 경험이 많았음. Express는 사용이 쉽고, 자유롭다는 장점이 있지만, 아키텍처에 관한 정의나 기능을 제공하지 않아, 프로젝트 구성 디렉토리가 개발자마다 다양함을 확인. 프로젝트 규모가 커질수록, 개발자마다 아키텍처가 다르면 이를 이해하기 위한 ..

Programming/Backend 2023.01.29