분류 전체보기 (70) 썸네일형 리스트형 MongoDB Jumbo Chunk MongoDB의 점보청크에 대해서 알아보자. 청크란? Chunk 란? MongoDB Sharded Cluster의 경우 데이터를 논리적인 단위로 구분하여 샤드에 저장한다. 이 단위를 청크라고 한다. MongoDB에서는 청크를 각 샤드에 나눠 저장하여 데이터를 분산하여 저장한다. 이 청크는 기본적으로 사이즈 혹은 범위가 정해져 있는데, 특정 청크가 과도하게 커지는 것을 방지하고 이를 통해서 결론적으로는 특정 샤드의 데이터와 부하 쏠림현상을 방지한다. MongoDB 6.0 버전 전까지 기본 청크 사이즈는 64MB, 6.0 버전부터는 기본 청크 사이즈가 128MB로 변경되었다. 6.0 버전 전까지는 청크의 갯수를 기준으로 샤드간의 데이터가 잘 분배되었는지 확인했다. 가장 많은 청크 갯수를 가진 샤드가, .. Amazon Linux 에서 MySQL 8.0.41 버전 비밀번호 변경하기 1. MySQL Stop sudo systemctl stop mysqld sudo systemctl status mysqld ps -ef | grep mysqld 2. MySQL을 패스워드가 없이 접속이 가능하도록 실행 - Background로 실행 이 때, --user mysql 옵션을 주어야 실행이 가능하다. linux root 계정으로는 mysqld 실행이 불가능한 듯 하다. sudo mysqld --skip-grant-tables --user mysql & 3. mysql 접속 mysql -u root 4. root 계정의 password 변경 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPasswor.. MongoDB Task Executor Pool What is Task Executor? TaskExecutor란 MongoDB의 작업 단위를 처리하는 기본 컴포넌트이다. https://github.com/mongodb/mongo/blob/master/src/mongo/executor/README.md#taskexecutorMongoDB 소스코드 내부에서 event와 callback의 개념을 갖고 다음과 같은 기능을 제공한다. 원하는 경우 취소하거나 나중에 예약할 수 있는 기능이 포함된 작업 예약.이벤트를 만들고, 스레드가 이벤트를 구독하도록 하고, 원하는 경우 구독된 스레드에 알림 전송단일 또는 여러 원격 호스트에서 원격 및 종료 명령을 예약What is Task Executor Pool? mongos는 Client로 부터 받은 쿼리 요청을 처리하기.. MongoDB - Collect slow query using Fluentbit and Opensearch 개요MongoDB는 audit log가 아닌 log는 단일 로그 파일로 로그를 남긴다. 이 때, 운영상 중요한 slow query 로그나, error 로그들도 단일 파일에 남기 때문에 이런 로그들의 관리가 어려워지는 경우가 종종 있다. 로그를 수집하여 Opensearch에 적재하는 경우 대량의 로그가 쌓이다보면 로그의 retention을 짧게 조정해야만 하는 경우가 생긴다. slow query나 error로그는 더 긴 기간동안 보고싶지만 하나의 Index에서 관리하다 보니 오래 보지 못하는 경우가 종종 생긴다. 이 글에서는 Fluentbit와 opensearch를 사용해 MongoDB의 로그를 수집하는 방법을 설명한다. 이 때, slow query와 error로그는 별도의 Opensearch Index.. MongoDB Debug Mode로 빌드하기 MongoDB를 사용하고 있는가. 그렇다면 MongoDB에 대해서 얼마나 알고 있는가. MongoDB를 알 수 있는 가장 좋은 방법은 결국 직접 실행해보는 것이다. 이번에는 MongoDB를 Debug Mode로 빌드하고 gdb를 사용해서 디버깅해보는 방법을 알아보자. Overviewgdb를 사용해서 MongoDB를 디버그 모드로 실행해볼 수 있다. Debug Mode로 빌드하기 PrerequisiteServerMongoDB를 빌드, 실행할 수 있는 서버가 필요하다. 각자 알아서 서버를 잘 준비해보도록하자. 스토리지는 100GB 정도면 적절하다. ( 나는 그랬다. ) mongod를 빌드하기 위해서 필요한 최소한의 용량은 13GB라고 하지만, 실제로 수행했을 때에는 약 34GB 정도의 공간을 차지하는 것을 .. Confluence Wiki 검색 문법 회사에서 Confluence Wiki를 사용하고 있다면 Wiki의 검색 성능은 매우 구리다는 것을 체감할 수 있다. 하지만 따로 검색엔진을 만들수도 없다. 이 검색에 만족하며 살 수 밖에... 하지만 검색 문법을 익힌다면 조금 더 나은 검색을 통해 원하는 정보를 빠르게 얻을 수 있다. Exact Match 특정 단어가 포함된 문서를 검색하기 위해서는 "" 를 사용한다. 예를 들어서, MongoDB 라는 단어가 포함된 문서를 찾고 싶다면 다음과 같이 검색한다. "MongoDB" 이 Exact Match는 단독으로 사용할 때 보다 융합하여 사용할 때 빛을 발한다. 예를 들어서, MySQL 을 Debug Mode로 실행하는 방법에 대해서 검색하고 싶다면 그 문서에는 MySQL과 Debug Mode 혹은 g.. WiredTiger 직접 빌드해서 MongoDB 데이터파일 살펴보기 WiredTiger란?WiredTiger란 MongoDB에서 사용하는 기본 스토리지 엔진이다. MongoDB는 3.2 버전부터 WiredTiger를 기본 스토리지 엔진으로 사용하기 시작했으며, 그 전까지는 MMAPv1 이라고 하는 스토리지 엔진을 사용하고 있었다. MMAPv1 스토리지 엔진을 탑재한 MongoDB는 많은 단점이 있었는데, 대표적으로 MMAPv1 스토리지 엔진은 도큐먼트 단위의 동시성 제어를 지원하지 못하고 컬렉션 단위의 동시성 제어를 제공했다. 이로 인해서 동시에 같은 컬렉션에 데이터의 쓰기가 발생하는 경우 처리량이 좋지 않고 병목현상이 발생했다. MongoDB에서는 이러한 단점들 때문에 WiredTiger라는 스토리지 엔진을 인수하고 기본 스토리지 엔진으로 사용하기 시작했다. Wired.. MongoDB Journaling 다른 여타 데이터베이스들과 동일하게 MongoDB는 데이터의 영속성을 보장하기 위해서 Journaling이라는 기법을 사용한다.다른 데이터베이스들에서는 WAL(Write Ahead Log)이라고 불리기도 한다. Journaling은 무엇이고 왜 쓰는지에 대해서 알아보자.Journaling 이란?MongoDB의 공식 홈페이지에 보면 Journaling에 대해서 다음과 같이 설명하고 있다.https://www.mongodb.com/docs/manual/core/journaling/To provide durability in the event of a failure, MongoDB uses write ahead logging to on-disk journal files.MongoDB 서버가 예기치못하게 종료되.. 이전 1 2 3 4 ··· 9 다음 목록 더보기