MongoDB — документоориентированная система управления базами данных, написанная на языке C++. Относится к классу NoSQL и является Schema-less.

В MongoDB есть поддержка индексов, ускоряющих поиск. Система масштабируется горизонтально через механизм шардинга и может работать в распределённом режиме.Также поддерживается репликация (хранение нескольких копий данных).

Мы ранее активно работали с MongoDB, но сейчас считаем, что это не лучшее решение:

Для односерверных инсталляций рациональнее использовать PostgreSQL, а документоориетированный функционал реализовывать на JSONB-полях c GIN-индексами. А для кластерных систем в наших кейсах лучше подходит Cassandra или Scylla.

Scylla — распределённая отказоустойчивая колоночная СУБД с открытым исходным кодом.

ScyllaDB была создана на основе архитектуры Apache Cassandra с целью достижения более высокой производительности: повышения пропускной способности и снижения задержек. Как и Cassandra, Scylla поддерживает язык запросов CQL и формат файлов SSTable.

Узнать больше →

PostgreSQL — свободная объектно-реляционная система управления базами данных, основанная на языке SQL.

СУБД отличается высокой надёжностью и хорошей производительностью. PostgreSQL поддерживает транзакции (ACID), репликация реализована встроенными механизмами. При этом система расширяемая — можно создавать свои типы данных и индексов, а также расширять поведение при помощи языков программирования.

Узнать больше →

Тематические технологии:

Колоночная СУБД Cassandra
Поисковая система ElasticSearch
СУБД Redis
CEPH — распределенная система хранения
Хранилище Memcached
Реляционная СУБД MySQL
Реляционная СУБД MariaDB
Kubernetes

Cтатьи по теме:

Реляционные базы данных и NoSQL-хранилища
13.03.2019  |  Статьи  —  СУБД  /  хранение данных  /  SQL  /  NoSQL  /  серверное ПО
Базы данных служат для хранения и обработки данных. Бывают реляционные (SQL) и нереляционные (NoSQL) системы управления базами данных.
Быстрый поиск на сайте, используя ElasticSearch или Sphinx
Sphinx и ElasticSearch — это поисковые «движки», которые обеспечивают более быстрый поиск и фильтрацию по сравнению с реляционными базами данных, а также обеспечивают возможность использования многих полезных функций поиска, например, учитывают морфологию языка, осуществляют фасеточный поиск, работают со стоп-словами, обеспечивают выборочную индексацию и позволяют производить настройку формулы определения релевантности документов.
Ускоряем работу сайта при помощи кеширования на базе Memcached
Memcached — это хранилище «ключ => значение», использование которого очень эффективно для ускорения работы сайта или веб-приложения.
MongoDB — документо-ориентированная база данных (NoSQL)
MongoDB — это NoSQL хранилище данных, крайне удобное для хранения информации, которая не может быть нормально структурирована в рамках реляционных баз данных.
Масштабирование баз данных — партиционирование, репликация и шардинг
СУБД — это очень часто «узкое место» в производительности веб-приложений. В момент, когда сервер баз данных не может справится с нагрузками, производится масштабирование. Рассмотрим основные способы увеличения производительности СУБД.
Ускоряем работу сайта: используем Redis для кеширования и хранения данных
Redis — сетевое журналируемое хранилище данных типа «ключ — значение», которое обрабатывает данные в оперативной памяти и обладает механизмами снимков и журналирования для обеспечения постоянного хранения. Хранилище поддерживает работу с пятью типами данных: со строками, списками, хешами, обычными и сортируемыми множествами.
MySQL — система управления базами данных
MySQL — это реляционная система управления базами данных с открытым исходным кодом. В настоящее время эта СУБД одна из наиболее популярных в веб-приложениях — подавляющее большинство CMS использует именно MySQL (часто только её, без альтернатив), а почти все веб-фреймворки поддерживают MySQL уже на уровне базовой конфигурации (без дополнительных модулей).