Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

2. Обзор популярных реляционных субд

PostgreSQL

  • Тип: Объектно-реляционная СУБД с открытым кодом.

  • Особенности: Поддержка ACID, расширяемость, множество типов данных (включая JSONB, массивы, геоданные), мощный оптимизатор запросов.

  • Плюсы: Надёжность, соответствие стандартам, активное сообщество, богатая функциональность.

  • Минусы: Медленнее MySQL на простых чтениях (но это спорно), требует настройки.

  • Когда использовать: Сложные системы, где нужна надёжность и расширенные возможности; замена Oracle.

MySQL

  • Тип: Реляционная СУБД с открытым кодом.

  • Особенности: Очень популярен в вебе, прост в настройке, быстр на чтении.

  • Плюсы: Простота, скорость, широкая распространённость.

  • Минусы: Меньше возможностей, чем у PostgreSQL; исторически проблемы с ACID (в MyISAM), но в InnoDB всё хорошо.

  • Когда использовать: Веб-проекты среднего размера, особенно в связке с PHP.

Oracle Database

  • Тип: Коммерческая реляционная СУБД.

  • Особенности: Мощнейшая функциональность, кластеризация (RAC), продвинутая безопасность, поддержка огромных объёмов.

  • Плюсы: Надёжность, производительность на больших объёмах, корпоративная поддержка.

  • Минусы: Очень дорогая, сложная в администрировании, тяжёлая.

  • Когда использовать: Крупные корпоративные системы (банки, телеком, госструктуры).

Microsoft SQL Server

  • Тип: Коммерческая реляционная СУБД от Microsoft.

  • Особенности: Тесная интеграция с экосистемой Microsoft, хорошие инструменты (SSMS), поддержка .NET.

  • Плюсы: Удобство для разработчиков под Windows, хорошая производительность.

  • Минусы: Платная, в основном под Windows.

  • Когда использовать: Корпоративные системы в среде Microsoft.

SQLite

  • Тип: Встраиваемая реляционная СУБД (библиотека).

  • Особенности: Не требует сервера, база — один файл, не нужна установка.

  • Плюсы: Ноль администрирования, портативность, лёгкость.

  • Минусы: Ограниченная поддержка конкурентного доступа, не для высоких нагрузок.

  • Когда использовать: Мобильные приложения (Android, iOS), десктопные приложения, встраиваемые системы, разработка и тестирование.

3. Обзор популярных NoSql субд MongoDb (документная)

  • Тип: Документная БД.

  • Особенности: JSON-подобные документы (BSON), гибкая схема, горизонтальное масштабирование (шардинг), агрегационный фреймворк.

  • Плюсы: Удобство для разработчиков, быстрая разработка, хорошо масштабируется.

  • Минусы: Транзакции слабее, чем в SQL, больше потребление памяти.

  • Когда использовать: Каталоги, CMS, приложения с меняющейся схемой, стартапы.

Redis (ключ-значение)

  • Тип: Хранилище ключ-значение в памяти.

  • Особенности: Работа в RAM, поддержка сложных структур (списки, множества, хеши), pub/sub, Lua-скриптинг, персистентность (опционально).

  • Плюсы: Феноменальная скорость, богатые возможности для такой простой модели.

  • Минусы: Объём данных ограничен памятью, дорого для больших данных.

  • Когда использовать: Кэширование, сессии, счётчики, очереди, real-time лидерборды.

Apache Cassandra (колоночная)

  • Тип: Распределённая колоночная БД.

  • Особенности: Линейная масштабируемость, нет единой точки отказа, отличная запись, согласованность настраивается.

  • Плюсы: Высочайшая доступность, можно добавлять узлы без остановки.

  • Минусы: Нет JOIN'ов, сложный язык запросов (CQL), не для сложной аналитики.

  • Когда использовать: Логи, временные ряды, IoT, системы рекомендаций, big data.

Neo4j (графовая)

  • Тип: Графовая БД.

  • Особенности: Хранит данные как узлы и рёбра, язык запросов Cypher, быстрый обход связей.

  • Плюсы: Интуитивная модель для связных данных, производительность на графовых задачах.

  • Минусы: Не подходит для не-графовых задач, сложнее в кластеризации.

  • Когда использовать: Социальные сети, рекомендации, обнаружение мошенничества, управление доступом.

ClickHouse (колоночная аналитическая)

  • Тип: Колоночная аналитическая СУБД (не совсем NoSQL, но отдельно).

  • Особенности: Сверхбыстрая агрегация и аналитика на больших объёмах, сжатие данных.

  • Плюсы: Скорость аналитических запросов, эффективное сжатие.

  • Минусы: Не для OLTP, медленные точечные обновления.

  • Когда использовать: Аналитика, мониторинг, лог-анализ, BI.

InfluxDB (временные ряды)

  • Тип: Time Series DB.

  • Особенности: Оптимизирована для данных с меткой времени, свой язык запросов (Flux), политики устаревания данных.

  • Плюсы: Высокая скорость записи, удобна для метрик.

  • Минусы: Только для временных рядов.

  • Когда использовать: Мониторинг серверов, IoT, финансовая аналитика.

4. NewSQL: гибридный подход

NewSQL — класс современных реляционных СУБД, которые пытаются сохранить SQL и ACID, но при этом обеспечить горизонтальное масштабирование как в NoSQL.

Представители:

  • CockroachDB — распределённая SQL-база, совместимая с PostgreSQL.

  • YugabyteDB — тоже PostgreSQL-совместимая, распределённая.

  • Google Spanner — глобально распределённая БД от Google (не открытая, но есть эмуляторы).

  • TiDB — распределённая SQL-база от PingCAP.

Когда использовать: Когда нужен SQL, ACID, но объёмы данных требуют горизонтального масштабирования.