
클라우드에서 MongoDB 데이터베이스를 실행하는 데는 많은 장점이 있습니다. 서버 클러스터를 신속하게 온라인으로 전환할 수 있으며, 모든 네트워킹이 관리되고 안전하게 보호됩니다. 모든 사용자를 연결할 수 있으며 자동 백업도 가능합니다. Atlas와 같은 서비스는 이러한 용도로 매우 적합합니다. 하지만 로컬 MongoDB 직접 설치해야 할 때가 있고, 그렇게 해야 하는 몇 가지 좋은 이유가 있습니다. 그 이유 다섯 가지를 소개합니다:
1: 제한 없는 무료
많은 클라우드 데이터베이스가 무료 티어를 제공합니다. 무료 티어에는 일반적으로 몇 가지 제한이 있습니다. MongoDB Atlas의 M0 무료 티어의 경우, 최대 저장 용량이 512MB로 제한되며 데이터베이스가 공유 플랫폼에 있기 때문에 여러 가지 제한이 있습니다. 로컬에 자체 MongoDB 설치하는 경우, 데이터베이스를 실행하기 위해 확보할 수 있는 디스크 공간과 RAM이 유일한 제한 사항입니다.
2: 온라인 상태일 필요 없음
당연해 보이지만 클라우드 데이터베이스에 연결하려면 인터넷에 연결되어 있어야 합니다. 인터넷 연결이 제한적인 곳에서 여행 중이거나 근무하는 경우 문제가 될 수 있습니다. 더 나쁜 것은 그 연결이 종량제이고 요금이 비싸다는 것입니다. 모든 쿼리와 결과 집합에 비용이 발생합니다.
3: 제로 랙
클라우드 데이터베이스로 실행하는 경우 인터넷의 지연 시간도 작용하여 애플리케이션에서 쿼리를 수행할 때마다 밀리초가 추가로 소요됩니다. Studio 3T 같은 사용자 중심 GUI 애플리케이션에서는 이러한 지연을 발견하기 어렵지만, 5G가 약속한 대로 성능을 발휘하지 않는 한 지연은 항상 존재할 것입니다(아니, 기대하지 마세요).
4: 로컬 컴퓨터만큼 빠른 속도
데이터베이스를 로컬에서 실행한다는 것은 컴퓨팅 집약적인 작업을 위해 모든 로컬 CPU 성능을 사용할 수 있다는 의미입니다. 공유 클라우드 데이터베이스는 설계상 동일한 호스트에서 실행되는 다른 데이터베이스의 좋은 이웃이 되어야 합니다. 따라서 합리적인 제한이 있을 것입니다. 그렇지 않으면 다른 사람이 컴퓨팅 집약적인 태스크 실행할 때 때때로 성능이 저하되는 것을 발견하게 될 것입니다. 로컬에서 실행하면 리소스를 놓고 경쟁하는 것은 나 자신뿐입니다.
5: 복제 무료
Docker와 같은 것을 사용하고 로컬에서 미니 클러스터를 구성하지 않는 한, 로컬 MongoDB 단일 MongoDB 인스턴스가 됩니다. 즉, 고가용성을 위해 데이터를 다른 MongoDB 인스턴스로 복제할 필요가 없습니다. 즉, 응용 프로그램 사용할 수 있는 리소스를 더 많이 확보할 수 있다는 뜻입니다 응용 프로그램
그렇다면 이 로컬 MongoDB 누구에게 유용할까요?
- 프로덕션 시스템에 연결할 필요가 없는 개발을 하는 사람이라면 누구나 가능합니다.Studio 3T 데이터 마스킹을 사용하여 실제 테스트 데이터도 제공할 수 있습니다.)
- 프로덕션 프로세스에 영향을 주지 않으면서 일반적으로 프로덕션에 중요한 데이터를 처리하려는 모든 사람. Studio 3T 내보내기 기능을 사용하여 해당 데이터를 로컬 데이터베이스로 내보낼 수 있습니다.)
- 또는 데이터베이스가 필요하지만 인터넷에 연결되어 있지 않은 사람
- 또한 효과적인 무료 로컬 데이터베이스가 필요한 모든 분들을 위해
하지만... 로컬 MongoDB 경우
물론 여기에는 주의할 점이 있습니다.
- 프로덕션 - MongoDB 항상 세 대 이상의 컴퓨터에서 실행되는 클러스터로 구성됩니다. 독립 실행형 로컬 MongoDB 실행하는 것은 성능 면에서 좋지만 그게 전부입니다.
- 복제, 지연 시간 및 다른 사람들 - 독립형 MongoDB 개발 중인 경우, 애플리케이션을 클라우드에서 실행하는 것으로 전환할 때 동일한 성능을 기대하지 마세요. 프로덕션 클러스터는 복제를 수행하며, 원격에 있고 지연 시간이 있을 것이며, 공유 플랫폼에서 프로덕션으로 이동하는 경우 리소스를 놓고 경쟁하는 다른 사람들이 있을 것입니다. 이는 로컬에서 빌드하지 말아야 할 이유가 아니라 클라우드에서 테스트하여 성능 버튼 지나치게 의존하지 않았는지 확인해야 하는 이유에 가깝습니다.
- 백업 없음 - 노트북이나 데스크톱을 잘 정리하고 백업하지 않는 한, 데이터베이스에 대한 백업이 없을 가능성이 높습니다. 실수로 데이터를 손상시키거나 삭제하면 해당 데이터를 다시 만들어야 합니다.
- 미사용 암호화 및 기타 엔터프라이즈 옵션과 같은 기능 없음 - MongoDB커뮤니티 에디션을 사용한다고 가정하면 다양한 엔터프라이즈 기능을 사용할 수 없지만, 대부분은 대규모 배포를 위한 운영/배포 기능입니다.
- 보안 - 로컬 컴퓨터에서 보안을 책임져야 합니다. 지금 MongoDB 설치하면 로컬 호스트에만 바인딩되지만 주의하세요! IP 주소에 바인딩하여 다른 사람이 MongoDB 액세스할 수 있도록 허용하는 경우, 들어오는 연결을 관리할 사용자 및 인증이 설정되어 있는지 확인해야 합니다.
마지막으로
로컬로 전환하기로 결정했다면 다음 글에서 설정에 대한 모든 세부 정보를 확인할 수 있습니다:
그러면 Studio 3T 데이터를 가져와서 쿼리하고, 집계하고, MongoDB 더 많이 활용할 준비가 된 것입니다.
이 글은 원래 Dj Walker-Morgan이 작성하여 Studio 3T블로그에 게시한 글입니다.