MongoDB как технология и бизнес

1 ноябрь, 2017 - 20:42Александр Черников

Итак, после почти десятилетнего созревания компания MongoDB 19 октября провела успешное первичное размещение своих акций (IPO) на бирже NASDAQ и стала очередным миллиардным «единорогом» в IT. Познакомимся ближе с самой компанией и ее продукцией.

«We are big dreamers with a passion for creativity»
Сайт MongoDB

MongoDB как технология и бизнес

Штаб-квартира компании находится в Нью-Йорке, с офисами в Северной Америке, Европе и Азиатско-Тихоокеанском регионе — всего в 19 странах. Это соответствует ее политике —быть как можно ближе географически к своим бизнес-клиентам.

Сегодня у MongoDB насчитывается более 4 300 клиентов в 85 странах. В их число входит более половины компаний из списка Global Fortune 100.

Основные исторические вехи компании.

2007 — Год основания компании
2009 — Open source MongoDB, version 0.9
2011 — Первый облачный сервис MongoDB
2012 — Компания наняла 100-го сотрудника
2012 — Запуск поддержки 24/7
2013 — Подписан 1000-й клиент и нанят 250-й сотрудник
2014 — Первая Всемирная конференция MongoDB World (1 500 участников)
2014 — Покупка компании WiredTiger с новейшим движком СУБД
2015 — MongoDB названа в списке «Best Places to Work by Glassdoor»
2016 — Компания наняла 500-го сотрудника
2016 — Число загрузок MongoDB достигло 20 млн.
2016 — Представлены MongoDB Atlas и «Elastic on-demand cloud service»
2017 — Число загрузок MongoDB достигло 30 млн.
2017 — Компания наняла 800-го сотрудника
19 октября 2017 г. — IPO компании на NASDAQ

Кроме совершенствования и продвижения своих продуктов, MongoDB разработала и активно продвигает набор образовательных материалов и соответствующие учебные планы. Компания также является партнером благотворительного фонда Bright Funds, занимаясь поиском талантов и их специальным обучением.

MongoDB

Название платформы MongoDB является производным от «humongous» — огромный, громадный, невероятный (по величине или значимости). Она позиционируется как «free and open-source cross-platform document-oriented database program» и относится к классу программ NoSQL database.

Согласно Википедии, последний стабильный релиз этой СУБД — версия 3.4.9 от 11 сентября 2017 г. Репозиторий ПО находится здесь. Сайт компании находится здесь.

MongoDB как технология и бизнес

MongoDB занимает четвертое место по популярности в своем сегменте, но, по сравнению с первой тройкой, имеет беспрецедентные показатели роста.

MongoDB как технология и бизнес

MongoDB находится на хорошей позиции в группе «Претендентов», заметно уступая только «Лидерам» — проприетарным СУБД и AWS.

Позиционирование и особенности продукта

MongoDB как технология и бизнес

Дифференциация СУБД и место MongoDB. С — Consistent, A — Available, P — Partition. Подробнее здесь.

Платформа MongoDB поддерживает поля, регулярные выражения и запросы. Последние могут возвращать поля документа и включать определяемые пользователем функции JavaScript. Запросы могут также формироваться таким образом, чтобы возвращать случайную выборку результатов заданного размера.

Индексация. Области в документе MongoDB могут быть индексированы по двухуровневой схеме, — с основными и вторичными индексами.

Репликация. MongoDB позволяет создавать копии наборов данных высокой доступности. Любая копия может действовать в роли основной или вторичной копии в любое время. Все, что пишется и читается, происходит на основной копии по умолчанию. Если основная копия допускает ошибку, автоматически определяется вторичная копия, которая заменит ее.

Балансировка нагрузки. MongoDB может перемещаться между несколькими серверами, уравновешивая нагрузку или дублируя данные, чтобы обеспечить бесперебойную работу в случае отказа части аппаратных средств.

Хранение файлов. MongoDB использует собственную файловую систему GridFS. Она делит файл на части, и хранит каждую часть как отдельный документ.

Агрегирование. Для пакетной обработки данных и их агрегирования может использоваться MapReduce.

Безопасность. Существующая система безопасности MongoDB разработана на основе десятков тысяч инсталляций и соответствующих требований пользователей.

Параллелизм. Начиная с версии MongoDB 3.0 контроль за параллелизмом выполняется в том числе на уровне документа с движком WiredTiger.

Разрядность. MongoDB рекомендует использовать 64-битные системы, в которых пользователю обеспечивается достаточное адресное пространство.

Программирование. MongoDB написана на C++, C и JavaScript. Доступные ОС — Windows Vista и более поздние версии, Linux, OS X 10.7 и более поздние версии, Solaris и FreeBSD. У MongoDB есть официальные драйверы для основных языков программирования и сред разработки. Кроме этого, есть также большое количество неофициальных, поддерживаемых сообществом драйверов для других языков программирования и структур.

GUI. Начиная с версии MongoDB 3.2, как «родной» GUI используется MongoDB Compass. Есть также продукты и сторонние проекты, которые предлагают пользовательские интерфейсы для просмотра данных и администрирования.

Лицензирование. ПО MongoDB доступно бесплатно с лицензией GNU Affero General Public License, version 3. Языковые драйверы доступны с Apache License. Кроме того, компания предлагает проприетарные лицензии на MongoDB.

Вместо заключения

В профильных медиа о MongoDB написано достаточно много. Имеется подробная и качественная документация, большое число примеров и драйверов под популярные языки.

В данном блоге приведена лишь ориентировочная информация. MongoDB нашла применение в самых разных областях, и их число постоянно увеличивается. Низкая стоимость при высокой производительности делают ее все более привлекательной.

Этим, в частности, объясняется большой интерес к ней разработчиков, что и отразило IPO. Подробный рассказ о его ходе и последствиях — в заключительном материале о MongoDB.