
What is MongoDB? | MongoDB Products Feartures | Cloud Manager |
MongoDB는 대규모, 고가용성을 요구하는 강력한 시스템에 적합하게 만들어졌습니다. 또한 최신 개발 환경과 프로그래밍 모델(Fast, Iterative Development), 컴퓨터 자원, 운영 자동화 요건에 맞게 설계되었습니다. 빠른 문서(document) 기반 구조(Flexible Data Model), 관리 편의성(Integrated Feature Set), 동적 스키마(dynamic schema), 더욱 간편한 수평 확장성을(Elastic, Multi-Datacenter Scalability) 가지고 있습니다. 인덱스, 동적 쿼리 등 관계형 데이터베이스의 장점과 유사한 인터페이스로 빠르고 쉽게 적응할 수 있습니다.
MongoDB는 데이터를 BSON(Binary JSON) 이진 문서로 저장합니다. 비슷한 구조를 공유하는 문서(document)들은 일반적으로 collection으로 구성됩니다. collection은 관계형 데이터베이스의 table과 유사하게 생각할 수 있습니다. document는 row와 유사하며, field는 column과 유사합니다. 문서(document) 모델은 MongoDB의 데이터가 사용자와 개발자에게 더욱 친화적인 것이 되고, 분산된 테이블들의 JOIN 필요성을 극적으로 줄여줍니다.
필드들은 문서에서 문서로 변경할 수 있으며, 시스템에 문서의 구조를 선언할 필요가 없습니다. 다른 문서들에 영향 없이 중앙 시스템 카탈로그를 갱신하거나 시스템을 오프라인 시키지 않고 생성 및 갱신할 수 있습니다. MongoDB는 데이터베이스 내에서 문서의 유효성 검사를 제공합니다. 사용자들은 문서 구조, 데이터 유형, 데이터 범위 및 필수 필드의 존재에 대한 검사를 시행할 수 있습니다.
MongoDB 데이터 모델과 관계형 데이터베이스, 키-값 저장소(key-value store) 비교
MongoDB | Relational | Key-value | |
---|---|---|---|
RICH DATA MODEL | Yes | No | No |
DYNAMIC SCHEMA | Yes | No | Yes |
DATA VALIDATION | Yes | Yes | No |
TYPED DATA | Yes | Yes | No |
DATA LOCALITY | Yes | No | Yes |
FIELD UPDATES | Yes | Yes | No |
EASY FOR PROGRAMMERS | Yes | No | Not when modeling complex data structures |
‘mongo shell’은 모든 MongoDB에 포함되어 있는 대화형 자바스크립트 쉘(interactive JavaScript shell)이며, 쿼리와 데이터 업데이트뿐만 아니라 운영 작업 수행을 위한 편리한 방법들을 제공합니다. ‘MongoDB Compass’는 스키마를 시각적으로 표현해주고 MongoDB의 쿼리 언어에 대한 지식 없이도 데이터베이스에 ad-hoc 쿼리를 수행할 수 있게 해주는 시각화된 사용자 환경을 제공합니다. (MongoDB Professional, MongoDB Enterprise Advanced에 포함)
직관적인 문서 데이터 모델, 동적 스키마와 관용적(idiomatic) 드라이버들을 사용하여 응용프로그램을 구축하고 MongoDB와 함께 더 빠르게 시장에 출시할 수 있습니다.
운영 및 분석 응용프로그램을 위한 많은 유형의 쿼리들을 지원합니다. MongoDB의 다양한 기능은 하나의 기술로 확실하고 안전하게 다양한 실시간 응용프로그램들을 제공할 수 있게 해줍니다.
MongoDB Enterprise Advanced에 포함된 ‘MongoDB Connector for BI’를 사용하여 최신 응용프로그램 데이터를 쉽게 표준 SQL 기반의 BI와 분석 플랫폼으로 분석할 수 있습니다. 비즈니스 분석가(Business analysts) 및 데이터 과학자들(data scientists)은 MongoDB에서 관리되는 절반(semi-structure) 또는 비정형(unstructured) 데이터를 끊임없이 수백만의 기업들에 배포된 동일한 BI 도구를 사용하여 SQL 데이터베이스에서 전통적인 데이터와 함께 분석할 수 있습니다.
배열 내의 필드를 포함하여 문서의 모든 필드에 선언할 수 있는 다양한 유형의 보조 인덱스를(compound, unique, array, partial, TTL, geospatial, sparse, hash text) 지원하고 있으며, Index intersection은 하나 이상의 인덱스를 사용하는 것이 가능하게 합니다.
MongoDB의 쿼리 및 인덱싱 모델과 관계형 데이터베이스, 키-값 저장소(key-value store) 비교
MongoDB | Relational | Key-value | |
---|---|---|---|
KEY-VALUE QUERIES | Yes | Yes | Yes |
SECONDARY INDEXES | Yes | Yes | No |
INDEX INTERSECTION | Yes | Yes | No |
RANGE QUERIES | Yes | Yes | No |
GEOSPATIAL | Yes | Expensive Add-on | No |
TEXT SEARCH | Yes | Expensive Add-on | No |
AGGREGATION | Yes | Yes | No |
MAPREDUCE | Yes | No | Yes |
IDIOMATIC DRIVERS | Yes | No | No |
LEFT OUTER JOINS ($LOOKUP) | Yes | Yes | No |
MongoDB는 샤딩(sharding)을 사용하여 저가 범용 하드웨어를 이용한 수평 확장(scale-out) 기능을 제공합니다. 샤딩은 응용 프로그램의 복잡한 수정 없이 RAM 또는 디스크 I/O의 병목현상과 같은 단일 서버의 하드웨어의 한계를 해결 수 있게 해주며, 자동으로 클러스터의 데이터 균형을 유지합니다. 또한 다중 샤딩 정책을 이용하여 쿼리 패턴이나 데이터 지역에 따라 클러스터 데이터를 배포할 수 있습니다.
MongoDB의 확장 능력과 관계형 데이터베이스, 키 – 값 저장소(key-value store) 비교
MongoDB | Relational | Key-value | |
---|---|---|---|
SCALE-OUT COMMODITY HARDWARE | Yes | No | Yes |
AUTOMATIC SHARDING | Yes | No | Yes |
SHARD BY HASH | Yes | Manual | Yes |
SHARD BY RANGE | Yes | Manual | No |
SHARD BY LOCATION | Yes | Manual | No |
AUTOMATIC DATA REBALANCING | Yes | Manual | Limited |
MongoDB 3.2는 4개 스토리지 엔진이 탑재되어 있으며 하나의 복제 세트(Replica set) 내에서 공존할 수 있습니다. 이것은 엔진의 평가 및 이전, 특정 응용프로그램의 요구 사항 최적화, 예를 들면 초 저 지연시간(latency) 작업을 위해 ‘In-memory’ 엔진과 지속성을 위한 디스크 기반 엔진의 결합을 쉽게 만들어 줍니다.
WiredTiger 또는 Encrypted storage engine은 최대 80%까지 물리적 저장 공간을 줄여주는 압축을 지원합니다.
MongoDB를 문서 수준에서 ACID 속성을 제공합니다. 하나 이상의 필드에 복수의 서브 문서와 배열 요소의 업데이트를 포함하여 한 번의 조작으로 기록될 수 있습니다. MongoDB에서 제공하는 ACID 보증 문서는 업데이트 될 때 완전한 격리를 보장; 모든 오류들이 작업을 롤백(roll back)시키기 때문에 클라이언트는 그 문서의 일관된 뷰(view)를 받게 됩니다. 개발자는 응용프로그램에 디스크의 저널 파일에 플러시된 후에만 커밋하도록 작업 구성에 MongoDB의 Write Concern을 사용할 수 있습니다. 이것은 내구성을 보장하기 위해 많은 전통적인 관계형 데이터베이스에 의해 사용 된 것과 같은 모델입니다. 분산 시스템으로서, MongoDB는 사용자가 원하는 가용성 SLA를 달성하는데 도움이 되는 추가적인 유연성을 제공합니다. 각각의 쿼리는 한 데이터 센터 내에 최소 2개의 복제본을 기록하고 제 2의 데이터 센터에 1개의 복제본을 기록하는 것과 같은 적절한 write concern를 지정할 수 있습니다.
MongoDB는 ‘replica set’으로 불리는 기본 복제를 사용하여 데이터의 여러 사본을 유지합니다. Replica set는 데이터베이스 다운타임 방지를 돕는 완전 자가 치유 샤드입니다. Replica failover가 완전히 자동화되어 관리자가 수동으로 개입할 필요성을 제거한 것입니다.
새로운 In-Memory storage engine(Beta)의 추가로, 운영 및 실시간 분석 작업을 위한 인-메모리 컴퓨팅 성능의 이점을 실현할 수 있습니다. 인-메모리 스토리지 엔진은 광고(AdTech), 금융, 통신, IoT, 전자 상거래 등의 가장 성능 집약적인 응용프로그램에서 요구하는 극단적인 처리량과 예상 대기 시간을 구현할 수 있게 해주며 별도의 캐시층(caching layer)에 대한 필요성을 제거하는 것입니다. MongoDB의 replica set은 인-메모리와 디스크 기반 데이터베이스 하이브리드로 구축할 수 있습니다. In-Memory engine에 의해 관리되는 데이터는 영구적인 디스크 기반 엔진들 중 하나로 구성된 MongoDB 인스턴스들에 자동적으로 복제되기 전에 실시간으로 분석 처리될 수 있습니다. 다른 데이터베이스 간의 데이터 이동 시 전형적인 긴 ETL 사이클을 피하고, 사용자는 더 이상 용량 확장 또는 디스크 기억 장치에 의해 제공되는 지속성에 대한 보증을 얻기 위해 장거리 무역을 할 필요가 없습니다.
MongoDB Enterprise Advanced는 보안 표준 및 규정을 만족하는 인증(Authentication), 권한(Authorization), 감사(Auditing), 암호화(Encryption)를 위한 기능을 제공하고 있으며. 방어, 감지, 데이터 접근 제어를 위한 광범위한 기능을 제공하고 있습니다.
Ops Manager는 MongoDB 운영을 위한 가장 손쉬운 방법이며, 모니터링, 백업, 확장 및 배포를 쉽게 만들어줍니다. Ops Manager는 데이터베이스를 만든 기술자들에 의해 만들어졌으며, MongoDB Enterprise Advanced에서 사용할 수 있습니다. Ops Manager의 많은 기능들은 MongoDB가 클라우드에서 운영하고 있는 MongoDB Cloud Manager에서도 사용할 수 있습니다. Ops Manager와 Cloud Manager는 데이터베이스의 전체 생애주기를 관리하는 응용프로그램들의 통합 제품군을(AUTOMATED DEPLOYMENT AND MANAGEMENT, PROACTIVE MONITORING, DISASTER RECOVERY) 제공합니다.
Ops Manager는 강력한 self-service portal을 통해 또는 기존 엔터프라이즈 도구에서 Ops Manager RESTful API 호출을 통해 MogoDB 배포를 도와줍니다. 공용 클라우드 또는 사설 데이터 센터의 단일 인스턴스부터 replica set 또는 sharded cluster까지 모두 배포 및 확장할 수 있으며, 유지 보수 작업, 업그레이드, replica set들에 걸쳐 인덱스 생성, oplog 크기 조정과 같은 것들을 몇 번의 클릭으로 다운타운 없이 할 수 있게 해줍니다.
Ops Manager는 MongoDB 서비스에 대한 가시성을 제공합니다. Ops Manager는 기능적인 차트, 사용자 정의 대시보드 및 자동 경보, operation counter, memory와 CPU 사용률, replication 상태, open connection, queue와 모든 노드 상태를 포함하여 주요 데이터베이스와 100개 이상의 시스템 건강 측정 기준에 따른 추적감시를 하고 있습니다. 측정값들은 Ops Manager에게 안전하게 보고되며, 처리, 집계, 경보들은 브라우저에서 시각화되어 관리자들이 실시간으로 MongoDB의 건강상태를 확인하게 해줍니다. 성능 기록은 운영 기준 작성과 향후 확장을 위한 용량 계획을 위한 목적으로 검토될 수 있습니다. 기존 모니터링 툴과의 통합도 Ops Manager RESTful API와 Application Performance Management (APM) 플랫폼을 선도하는 New Relic과 같은 패키지화된 통합툴을 이용하면 간단합니다. 이러한 통합은 MogoDB 상태를 하나의 창에서 여러분의 응용프로그램 기반의 나머지 부분과 함께 통합하여 모니터링할 수 있게 해줍니다.
Ops Manager와 Cloud Manager는 MongoDB의 연속, 증분 백업, replica set의 시점 복구, 샤드 클러스터의 일관된 스냅샷을 제공하는 전용 백업솔루션 입니다. Ops Manager는 MongoDB 데이터와 사용자 정의 보존 정책에 따라 여러 개의 사본을 유지합니다. 여러분은 신속하고 안전하게 여러분이 필요로하는 정확한 순간에 복원을 할 수 있습니다. 자동화 기반의 복원은 완전히 구성된 클러스터를 단 몇 번의 클릭으로 데이터베이스 스냅샷으로부터 바로 재배포 하는 것이 가능하게 해줍니다.
MongoDB 운영 능력과 관계형 데이터베이스, 키-값(key-value) 저장소 비교
MongoDB | Relational | Key-value | |
---|---|---|---|
SELF HEALING RECOVERY WITH AUTOMATIC FAILOVER | Yes | Often Requires Additional Clustering Software | No: Manual Failover Often Recommended |
SEPARATE CACHING LAYER REQUIRED | No | Often | Often |
DATA CENTER AWARENESS | Yes | Expensive Add-on | No |
AUTOMATIC PROVISIONING | Yes | Yes | No |
CONTINUOUS BACKUP & POINT IN TIME RECOVERY | Yes | Yes | No |
ADVANCED SECURITY | Yes | Yes | No |
API INTEGRATION WITH SYSTEMS MANAGEMENT FRAMEWORKS | Yes | Yes | No |
Ops Manager API 는 주요 모니터링 데이터에 접근할 수 있게 해주며, 외부 관리도구에 의한 Ops Manager 기능에 프로그램적으로 접근할 수 있게 해줍니다. 또한 Ops Manager, MongoDB Enterprise SNMP 트랩으로 시스템 정보를 보고할 수 있으며, 외부 모니터링 솔루션을 통해 중앙 집중식 데이터 수집 및 집계를 지원합니다.
Documentation | Releases | Source | API | JIRA | Online Course |
---|---|---|---|---|---|
C | Releases | Source | API | JIRA | |
C++11 | Releases | Source | API | JIRA | |
C++(legacy) | Releases | Source | API | JIRA | |
C# | Releases | Source | API | JIRA | Course |
JAVA | Releases | Source | API | JIRA | Course |
NODE.JS | Releases | Source | API | JIRA | Course |
PERL | Releases | Source | API | JIRA | |
PHP | Releases | Source | API | JIRA | |
PYTHON | Releases | Source | API | JIRA | Course |
MOTOR | Releases | Source | API | JIRA | |
RUBY | Releases | Source | API | JIRA | |
SCALA | Releases | Source | API | JIRA |
Documentation | Releases | Source | API | JIRA | Online Course |
---|---|---|---|---|---|
GO (mgo) | Releases | Source | API | JIRA | |
ERLANG | Releases | Source | API | JIRA |
Platform | 3.2 | 3.0 | 2.6 | 2.4 | 2.2 |
---|---|---|---|---|---|
Amazon Linux | V | V | V | V | V |
Debian 7 | V | V | V | V | V |
Fedora 8+ | V | V | V | ||
RHEL/CentOS 6.2+ | V | V | V | V | V |
RHEL/CentOS 7.0+ | V | V | V | ||
SLES 11 | V | V | V | V | V |
SLES 12 | V | ||||
Solaris 64-bit | V | V | V | V | V |
Ubuntu 12.04 | V | V | V | V | V |
Ubuntu 14.04 | V | V | V | ||
Microsoft Azure | V | V | V | V | V |
Windows Vista/Server 2008R2/2012+ | V | V | V | V | V |
OSX 10.7+ | V | V | V | V |
MongoDB Enterprise Server 및 고급 소프트웨어 패키지, 기술지원과 서비스들은 고객의 mission critical application 구축을 위한 최적의 솔루션을 제공할 것입니다.
MongoDB Enterprise Advanced Features | |
---|---|
Ops Manager or Cloud Manager Premium | V |
Red Hat Identity Management Certification | V |
Kerberos & LDAP Authentication | V |
Auditing | V |
SNMP Support | V |
Encrypted Storage Engine | V |
In-Memory Storage Engine | V |
MongoDB Compass | V |
MongoDB Connector for BI | V |
Platform Certifications: Windows, RedHat/CentOS, Ubuntu, Amazon Linux | V |
Private, On-Demand Training | V |
Support SLA | 1 hour |
Support Availability | 24×365 |
Emergency Patches | V |
Commercial License, Warranty, and Indemnification | V |
MongoDB Professional Features | |
---|---|
Ops Manager or Cloud Manager Premium | V |
Database Monitoring | V |
Custom Alerts | V |
Visual Query Profiler | V |
Zero-downtime Upgrades | V |
Automated Database Deployment | V |
Automated Database Management | V |
Access to Cloud Backup Service | V |
MongoDB Compass | V |
SLA | 2 hour |
Support Availability | 24×365 |
MongoDB Development Support Features | |
---|---|
Number of Servers | Unlimited |
Support SLA | 4 hour |
Support Availability | 9am – 6pm Local, M -F |
Ops Manager | V |
Red Hat Identity Mgmt Certification | V |
Auditing | V |
SNMP Support | V |
Encrypted Storage Engine | V |
In-Memory Storage Engine | V |
Platform Certifications: Windows, RedHat/CentOS, Ubuntu, Amazon Linux | V |
MongoDB Compass | V |
MongoDB Connector for BI | V |
Private, On-Demand Training | V |
Commercial License | V |
Cloud Manager Premium은 MongoDB Professional 또는 MongoDB Enterprise Advanced 와 함께 사용할 수 있습니다.
Cloud Manager Free | Cloud Manager Standard | Cloud Manager Premium | |
---|---|---|---|
Backup | |||
Unlimited Restores | V | V | V |
Backup | V | V | V |
Comprehensive Monitoring | |||
Data Retention | 24hrs | Full historical data | Full historical data |
Granularity | 5 minute | 2 minute | 2 minute |
Custom Alerting | V | V | V |
APM Integration | V | V | V |
Automation | |||
Database Creation | V | V | |
Database Modification | V | V | |
Zero Downtime Upgrades and Downgrades | V | V | |
Provisioning on AWS | V | V | |
Query Optimization | |||
Visual Query Profiler | V | ||
Index Suggestions | V | ||
Automated Rolling Index Builds | V |
본 웹사이트에 게시된 이메일 주소가
전자우편 수집 프로그램이나 그밖의 기술적 장치를 이용하여
무단으로 수집되는 것을 거부하며, 이를 위반 시
정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
"주식회사 락플레이스(이하 ‘회사’)는 개인정보보호법에 따라 이용자의 개인정보 및 권익을 보호하고 이와 관련한 고충을 원활하게 처리할 수 있도록 다음과 같은 처리방침을 두고 있습니다. 회사는 개인정보처리방침을 개정하는 경우 웹사이트 공지사항(또는 개별공지)을 통하여 공지할 것입니다."
① 회사는 개인정보를 다음의 목적을 위하여 처리합니다. 처리한 개인정보는 다음의 목적 이외의 용도로는 사용되지 않으며, 이용 목적이 변경될 시에는 사전동의를 구할 예정입니다.
수집되는 개인정보 중 이용목적을 달성한 경우 해당 정보를 지체 없이 파기하며, 회사 내부 방침 또는 또는 정보주체로부터 개인정보 수집 시 동의 받은 개인정보 보유/이용기간, 관련법령의 규정 내에서 개인정보를 처리/보유합니다.
일정기간 동안 보존해야 하는 정보에 대해 아래와 같은 사유로 인하여 보존하고 있습니다.
항목 | 근거 | 보유 기간 |
---|---|---|
ㆍ홈페이지 내 견적문의 요청자의 개인정보 | 견적문의 요청에 대한 처리 | 1년 |
ㆍ홈페이지 내 1:1 상담 신청자의 개인정보 | 1:1 상담 신청에 대한 처리 | 1년 |
항목 | 근거 | 보유 기간 |
---|---|---|
ㆍ컴퓨터통신, 인터넷 로그기록자료, 접속지 추적자료 등 | 통신비밀보호법 | 3개월 이상 |
회사는 정보주체의 동의, 법률의 특별한 규정 등 개인정보보호법 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다.
회사는 원칙적으로 이용자의 동의 없이 개인정보의 처리 및 제3자에게 수탁하지 않으며, 서비스 향상을 위해 수탁할 경우 관계법령에 따라 수탁계약 시 개인정보가 안전하게 처리 될 수 있도록 관리/감독하고 있습니다.
또한, 제3자에게 개인정보의 처리 업무를 수탁하는 경우에는 수탁 업무의 내용과 수탁자를 회사 홈페이지에 게시합니다.
① 정보주체는 회사에 대해 언제든지 다음 각 호의 개인정보 보호 관련 권리를 행사할 수 있습니다.
등을 통하여 하실 수 있으며 회사는 이에 대해 지체 없이 조치하겠습니다.
개인정보를 이용하거나 제공하지 않습니다.
개인정보보호법 시행규칙 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다.
회사는 다음의 개인정보 항목을 처리하고 있습니다.
회사는 원칙적으로 개인정보 처리목적이 달성된 경우에는 지체 없이 해당 개인정보를 파기합니다. 파기의 절차, 기한 및 방법은 다음과 같습니다.
회사는 개인정보보호법 제29조에 따라 다음과 같이 안전성 확보에 필요한 기술적, 관리적, 물리적 조치를 하고 있습니다.
① 회사는 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자 및 관리자를 지정하고 있습니다.
구분 | 개인정보 보호책임자 | 개인정보 보호관리자 |
---|---|---|
ㆍ담당부서 | 전략기획팀 | OSS팀 |
ㆍ이름 | 김지영 담당 | 김근동 소장 |
ㆍ연락처 | 070-7603-1848 | 070-7603-1869 |
ㆍ이메일 | planning@rockplace.co.kr | oss@rockplace.co.kr |
ㆍ주소 | 서울시 강남구 언주로 844 윤당빌딩 3층, 8층 |
'락플레이스(이하 '회사')'는 고객님의 개인정보를 중요시하며, "정보통신망 이용촉진 및 정보보호"에 관한 법률을 준수하고 있습니다. 회사는 개인정보취급방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다. 회사는 개인정보취급방침을 개정하는 경우 웹사이트 공지사항(또는 개별공지)을 통하여 공지할 것입니다.
원칙적으로, 개인정보 수집 및 이용목적이 달성된 후에는 해당 정보를 지체 없이 파기합니다. 단, 다음의 정보에 대해서는 아래의 이유로 명시한 기간 동안 보존합니다.
보존 항목 | 보존 근거 | 보존 기간 |
---|---|---|
ㆍ이름, 로그인 ID, RHN-ID, 비밀번호, 비밀번호 질문과 답변, 휴대전화번호, 이메일, 회사명, 회사주소, 부서, 직책, 회사전화번호 및 팩스, 제품 등록 키 |
서비스 제공 | 5년 |
구분 | 개인정보 관리책임자 | 비고 |
---|---|---|
ㆍ성명 | 공동배 차장 | |
ㆍ전화번호 | 02-6251-7788 | |
ㆍ이메일 | rhce@rockplace.co.kr |