MangoDB: MongoDB의 오픈 소스 대안

MongoDB는 문서 지향형 NoSQL 데이터베이스 시스템으로, 관계형 데이터베이스보다 빠르게 애플리케이션을 구축할 수 있도록 해주어 많은 개발자들에게 혁신적인 변화를 가져왔습니다. 그러나 MongoDB는 오픈 소스 정신을 버리고 SSPL 라이선스로 전환하면서 많은 상업용 및 오픈 소스 프로젝트에서 사용할 수 없게 되었습니다.

이에 대한 대응으로 MangoDB가 도입되었는데, MangoDB는 문서 지향형 MongoDB 프로토콜의 구현체를 PostgreSQL 위에 제공하는 레이어를 갖추고 있어 MongoDB 개발 경험을 원하는 사람들에게 완벽한 솔루션입니다 .

이 프로젝트는 MongoDB 애플리케이션을 PostgreSQL로 마이그레이션할 수 있는 기능을 제공하고 , 완전한 오픈 소스 소프트웨어 스택을 구현하는 것을 목표로 합니다. 코드는 Go 언어로 작성되었으며 Apache 2.0 라이선스에 따라 배포됩니다.

MongoDB는 문서 지향형 데이터베이스 관리 시스템으로 , 여러 대의 컴퓨터에 배포할 수 있고 사전 정의된 데이터 스키마가 필요하지 않다는 점을 유의해야 합니다. 따라서 사전 정의된 스키마 없이도 BSON(바이너리 JSON) 형식의 구조화된 객체를 처리할 수 있습니다.

즉, 데이터베이스를 재구성할 필요 없이 언제든지 "즉시" 키를 추가할 수 있습니다 . 데이터는 문서 형태로 저장되며, 이러한 문서는 컬렉션에 저장됩니다. 하나의 컬렉션에는 여러 개의 문서가 포함될 수 있습니다. 컬렉션은 관계형 데이터베이스의 테이블과 같고, 문서는 레코드와 같습니다.

서버 측 공개 라이선스 (SSPL)는 MongoDB Inc.에서 개발한 독점 소프트웨어 라이선스입니다. MongoDB에 따르면 SSPL은 AGPL3 라이선스를 기반으로 하며, "라이선스가 적용된 프로그램을 제3자 서비스로 배포하는 조건을 명확하고 구체적으로 명시"하는 새로운 조항이 추가되었습니다. 이 조항은 소프트웨어를 서비스의 일부로 공개할 때 모든 소스 코드를 공개해야 한다는 요구 사항을 담고 있습니다.

이러한 변경 사항은 2018년 10월에 적용되었으며, 이후 데비안, 레드햇 엔터프라이즈 리눅스, 페도라 배포판은 SSPL에 대한 우려를 이유로 MongoDB 지원을 중단했습니다. 아마존은 호환되지만 독점 서비스인 DocumentDB를 출시했고, SSPL은 MongoDB의 클라우드 매출 증대에 기여하지 못한 것으로 보입니다. 대부분의 MongoDB 사용자는 MongoDB가 제공하는 다양한 고급 기능을 필요로 하지 않지만, 오픈 소스 데이터베이스 솔루션은 필요로 하며, 바로 이 지점에서 MongoDB가 대안이 됩니다.

우리 솔루션의 핵심은 MongoDB 프로토콜 쿼리를 SQL로 변환하고 PostgreSQL을 데이터베이스 엔진으로 사용하는 상태 비저장 프록시입니다. MongoDB 드라이버와 호환되며 많은 경우 MongoDB의 직접적인 대체품으로 작동해야 합니다.

MangoDB는 MongoDB의 사실상 표준 오픈소스 대안이 되는 것을 목표로 합니다. MangoDB는 MongoDB의 하드웨어 프로토콜 쿼리를 SQL로 변환하는 오픈소스 프록시이며, 데이터베이스 엔진으로는 PostgreSQL을 사용합니다. MangoDB는 MongoDB 드라이버와 호환되며, 많은 경우 MongoDB를 직접 대체할 수 있습니다.

이 프로그램은 프록시 역할을 하여 MongoDB 호출을 PostgreSQL의 SQL 쿼리로 변환하고, 실제 저장소로는 PostgreSQL을 사용합니다. 이 프로젝트는 MongoDB 드라이버를 지원하지만 아직 프로토타입 단계이며 고급 MongoDB 프로토콜 기능은 지원하지 않습니다. 하지만 간단한 애플리케이션을 변환하는 데는 이미 적합합니다.

DBMS MongoDB의 사용을 피해야 할 필요성은 프로젝트를 AGPLv3 라이선스를 기반으로 하지만 SSPL에 따라 공급해야 하는 차별적인 요구 사항을 포함하고 있기 때문에 공개되지 않은 non-free SSPL 라이선스로 전환하기 때문에 발생할 수 있습니다. 애플리케이션 자체의 코드뿐만 아니라 클라우드 서비스 제공과 관련된 모든 구성 요소의 소스 코드.

마지막으로, MangoDB 에 대해 더 자세히 알고 싶으시다면 다음 링크에서 확인하실 수 있습니다 .


Google에서 선호하는 검색 엔진으로 추가