top of page

MongoDB 

For Giant Ideas
No1, NoSQL Database

mongodb-logo.png

MongoDB는 C++로 작성된 오픈소스 문서지향(Document-Oriented) 적 Cross-platform 데이터베이스이며, 뛰어난 확장성과 성능을 자랑합니다. 또한, 현존하는 NoSQL 데이터베이스 중 인지도 1위를 유지하고있습니다.

장점

  • Schema-less (Schema가 없다. 같은 Collection 안에 있을지라도 다른 Schema를 가지고 있을 수 있다)

  • 각 객체의 구조가 뚜렷하다

  • 복잡한 JOIN 이 없다.

  • Deep Query ability (문서지향적 Query Language 를 사용하여 SQL 만큼 강력한 Query 성능을 제공한다.

  • 어플리케이션에서 사용되는 객체를 데이터베이스에 추가 할 때 Conversion / Mapping이 불필요하다.

NoSQL?

흔히 NoSQL이라고 해서 아, SQL이 없는 데이터베이스구나! 라고 생각 할 수도 있겠지만, 진짜 의미는 Not Only SQL 입니다. 기존의 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터저장소 입니다. 관계형 DB가 아니므로, RDMS처럼 고정된 스키마 및 JOIN 이 존재하지 않습니다.

NoSQL은 최신 응용 프로그램을 구축하는 데 필요한 요구 사항에 따라 개발 된 다양한 데이터베이스 기술을 포괄합니다.

  • 개발자는 구조적, 반 구조적, 비정형 및 다형성 데이터와 같이 빠르게 변화하는 새롭고 방대한 양의 데이터를 생성하는 응용 프로그램을 사용하고 있습니다.

  • 12-18 개월간의 폭포 개발주기가 오래 전에 사라졌습니다. 이제는 소규모 팀이 민첩한 스프린트에서 작업하고 신속하게 반복하고 매주 또는 2 회, 심지어는 여러 번 매일 코드를 푸시합니다.

  • 한 때 유한 고객을 대상으로 한 응용 프로그램은 이제 항상 켜져 있어야하고 여러 장치에서 액세스 할 수 있어야하며 전 세계적으로 수백만 명의 사용자로 확장되어야하는 서비스로 제공됩니다.

  • 조직은 이제 대형 단일 서버 및 스토리지 인프라 대신 오픈 소스 소프트웨어, 상용 서버 및 클라우드 컴퓨팅을 사용하여 확장형 아키텍처로 전환하고 있습니다.

관계형 데이터베이스는 현대 응용 프로그램에 직면 한 규모와 민첩성 문제에 대처할 수 있도록 설계되지 않았으며 현재 사용할 수있는 상품 저장 및 처리 능력을 활용하지도 못했습니다.

Document?

Document Oriented 데이터베이스라는데..  여기서 말하는 Document가 뭘까요? 문서? 이게 그냥 ‘문서’ 로 번역해버리면 조금은 애매합니다. 문서라고 하면 보통 워드/엑셀에 사용되는 그런 문서가 떠오르는데요, 그것과는 다릅니다. Document는 RDMS의 record 와 비슷한 개념인데요, 이의 데이터 구조는 한개이상의 key-value pair 으로 이뤄져있습니다.

Why MongoDB ?

1. 데이터 작업을 위한 최선의 방법

 -  문서 모델을 사용하면 개발자가 직관적인 방식으로 데이터를 사용하고 신속하게 변경하고 다양한 데이터 모델, 관계 및

     사용 사례를 지원 할 수있는 최대의 유연성을 제공 할 수 있습니다. 적은 비용으로 죄고의 성능을 제공합니다.

2. 필요한 곳에 지능적으로 데이터를 저장

 - 개발자가 자신의 앱과 사용자가 필요로 하는 곳에 데이터를 배치 할수있는 지능형 분산 시스템 아키텍처를 제공

 - 다른 솔루션과 비교 할 수없는 수준의 가용성과 작업 부하 분산, 확장성 및 데이터 지역 분산을 제공

3. 어디든 자유롭게 달릴 수있는 자유

- MongoDB는 메인 프레임에서 퍼블릭 클라우드에 이르기까지 모든 곳에서 동일하게 실행됩니다.

- 전 세계 50개 이상의 지역에 있는 3대 클라우드 제공 업체에서 사용할 수 있는 완전히 관리되는 데이트베이스인 MongoDB

   Atlas를 사용하여 멀티 클라우드 전략의 이점을 활용 할 수 있습니다.

MongoDB 활용 서비스 아키텍처 (쇼핑몰예제)

mongodb01.png

MongoDB 활용기업 (사용사례)

어반 아웃피터스 ( https://www.urbanoutfitters.com )
어반 아웃피터스(Urban Outfitters) – 앤스로폴로지, BHLDN, 프리 피플, 터레인(Terrain) 등의 브랜드를 보유한 리테일 회사다. 자체 전자상거래 플랫폼에 몽고DB를 사용한다. 모든 자체 채널들에 기능과 서비스를 제공하는 이 플랫폼은 회사가 빠르게 새로운 앱을 설계 배포하면서도 지속적인 고객 경험을 제공할 수 있게 한다.
어반 아웃피터스의 전자상거래 디렉터 롭 프리먼은 “내부 플랫폼을 성장에 맞추고 싶었다. 우리는 제품, 우리의 목표에 부합하는 협력사와 파트너가 필요했다. 몽고DB를 통해 일년 내내 특히 휴가시즌의 피크 부하량까지 지원할 수 있게 됐다. 또 이제는 신기능을 개발하고 변화하는 요건에 적응하고 가치 전달에 더 많은 시간을 할애할 수 있다”라고 말했다.


스프링클러 ( https://www.sprinklr.com )
기업 소셜 기술 기업 스프링클러(Springklr)는 몽고DB를 활용해 1,000 곳이 넘는 클라이언트들의 소셜 활동을 저장한다. 스프링클러의 몽고DB 플랫폼은 분당 300만 건 이상의 트랜젝션을 처리한다. 또 매달 최소 한가지 주요 기능 및 100 종 이상의 일반 기능을 선보일 수 있도록 지원한다.

스퀘어 에닉스 ( https://square-enix-games.com )
툼레이더(Tomb Raider)와 파이널 판타지(Final Fnatasy)같은 게임타이틀의 퍼블리셔인 스퀘어 에닉스(Square Enix)는 몽고DB로 이전하기 전까지 관계형 데이터베이스를 이용했으며, 이로 인해 확장성에 어려움을 겪었다. 이 기업은 멀티-테넌트 서비스로서의 데이터베이스(database-as-a-service)를 채택함으로써 데이터베이스 인스턴스들을 통합해 성능과 안정성 향상을 가져왔다.
특히 고급 운영 툴링(Advanced operational tooling)은 스퀘어 에닉스의 운영팀이 수요에 맞춰 10여개의 데이터베이스 클러스터들을 확장하고, 단 한 명의 운영자만으로 전세계의 게이머들에게 끊기지 않는 가용성을 제공할 수 있도록 해줬다.


보쉬 그룹 ( https://www.bosch.com )
보쉬 그룹(Bosch Group)은 전세계 최대 엔지니어링 기업 중 하나이며 산하의 보쉬 소프트웨어 이노베이션(SI) 부서는 사물인터넷의 최전선을 이끌고 있다.
업계 애널리스트들이 2020년까지 약 500억 개의 사물이 인터넷에 연결될 것으로 예측하고 있는 가운데, 보쉬 SI는 사물인터넷이 데이터 스트리밍을 넘어 훨씬 많은 것들을 가능케 할 것이라고 판단하고 있다.
보쉬SI에게 성공적인 사물인터넷이란 새로운 통찰을 얻고 자동화된 결정을 주도하기 위해 실시간으로 복잡한 애널리틱스를 수행할 수 있는 애플리케이션을 의미한다.
회사는 이러한 사물인터넷 솔루션의 일환으로 몽고DB 엔터프라이즈 어드밴스드(Enterprise Advanced)를 이용하고 있다. 보쉬SI의 IoT 솔루션은 수백 만 부품들에 걸쳐 결함을 감지하기 위해 제조 라인 IoT 프로젝트에서부터 3억 개 차량에 텔레매틱스를 구현하려는 계획까지 아우른다.


미국 퇴역군인부
2,000만 명 이상을 대상으로 하는 전세계 최대 의료보험 제공자중 하나인 미국 퇴역군인부(US Department of Veterans Affairs)는 의사들에게 정확한 의료 기록 제공부터 퇴역군인들에게 그들의 의료 혜택에 대한 분명한 그림을 제시하는 것까지 수많은 정보를 다뤄야 한다. 퇴역군인부는 몽고DB를 활용해 중앙화된 서비스에 수많은 다양한 유형의 전자 기록을 저장하고 있다.

자이 ( https://x.ai )
자이(x.ai)는 사용자들을 위해 회의 스케줄을 잡는 인공지능 기반의 개인 비서 서비스다. 사용자들이 그들의 달력을 자이에 연결시키고 이메일을 통해 회의를 설정할 시간에 사용자들은 대신 스케줄링 작업을 amy@x.ai 이메일 cc 기능을 통해 ‘Amy Ingram’에게 할당시킨다. 그녀가 이메일 스레드에 복사되어 있다면 상호 가능한 시간과 장소를 찾아 사용자에게 맞는 회의를 잡아준다.
몽고DB는 전체 자이 플랫폼을 위한 기록 시스템을 담당하면서 자연어 프로세싱, 지도 학습, 애널리틱스, 이메일 커뮤니케이션 등 모든 서비스를 지원한다.


워싱턴포스트 ( https://www.washingtonpost.com )
유서 깊은 워싱턴포스트는 미국 내 가장 발행부수가 많은 신문 중 하나다. 워싱턴포스트는 인쇄지와 온라인지 모두에 있어서 수많은 독자 기고를 받고 있다. 워싱턴포스트의 편집팀은 SUB라는 사용자 생성 콘텐츠 툴을 구축했다. SUB는 몽고DB를 활용해 다양한 팀들이 역학적 서식을 생성하고 온라인 기사에 대응을 큐레이팅 할 수 있도록 돕는다.
워싱턴포스트는 플랫폼을 구축하기 위해 MEAN(몽고DB, 익스프레스.js, 앵귤러.js, 노드,js) 스택을 활용해 애플리케이션 내에 기사에 내장시키거나 독자들로부터 기고를 수집할 수 있는 맞춤 서식을 생성했다.


시카고 ( https://www.cityofchicago.org )
시카고 시당국은 몽고DB를 사용해 윈디그리드(WindyGrid)라는 인텔리전트 운영 플랫폼을 개발했다. 윈디그리드는 매일 시 부서들로부터 700만 건의 데이터 조각들을 수집한다. 그리고 이를 몽고DB 기반의 애널리틱스로 시각적 지도와 함께 옮겨 담아 관리자가 시 운영에 대한 실시간 통찰을 얻을 수 있게 했다.
윈디그리드는 현재 시카고시의 중추 신경계의 일종으로서 중요 서비스 향상, 비용 절감, 더 살기 좋은 도시 만들기를 돕는다. 데이터, 지도, 애널리틱스의 조합은 연관성을 집어내고 큰 문제가 되기 전에 잠재적 문제들을 식별해내고 마라톤부터 폭설에 이르기까지 부서들 사이의 대응 조직화를 돕는다.


민티고 ( https://www.mintigo.com )
마케팅 자동화 제공자 민티고(Mintigo)는 예측적 마케팅에 특화된 회사다. 민티고는 이상적인 고객 프로필을 발견하고, 가장 높은 구매 가능성을 가진 이들을 대상화하고 알맞은 채널을 통해 알맞은 메시지로의 관여를 돕기 위해 예측적 애널리틱스를 활용한다.
그렇게 하기 위해 민티고는 수천 개의 마케팅 지표들을 통합해야 하며, 막대한 양의 데이터를 놀라운 다양성과 함께 처리하고 빠르게 소화하기 위해 몽고DB를 활용하고 있다. 또한 민티고는 몽고DB의 표현적 쿼리 언어와 데이터 프로세싱 파이프라인을 적극 이용하고 있다


참고자료: http://www.ciokorea.com/news/27538 

bottom of page