MongoDB спонсировал этот пост.
Традиционная таксономия базы данных сломана. Метки, которые мы использовали более десяти лет, такие как «NoSQL», «Relational», «Document,« Value »и« Graph »больше не описывают, как работают современные базы данных или что на самом деле нужны разработчикам.
Это не просто семантический дрейф. Фундаментальные предположения, которые создали эти категории, изменились. Современные приложения не вписываются в аккуратные ведра базы данных, как и системы, которые их питают.
Категория ловушка
Категории базы данных появились из реальных технических ограничений. В начале 2000-х у вас были четкие компромиссы:
- Реляционные базы данных предоставляли кислотные транзакции и структурированные запросы, но боролись с масштабной и эволюцией схемы.
- Магазины документов предлагали гибкие схемы и горизонтальное масштабирование, но не имели транзакций и сложных запросов.
- Ключевые магазины обеспечивали необработанную производительность, но минимальные возможности запросов.
- Графические базы данных преуспели в отношениях, но работали плохо для других шаблонов доступа.
Эти компромиссы вынудили архитектурные решения в начале развития. Выберите свой яд: последовательность или масштаб, гибкость или структура, производительность или функциональность.
Результатом была стойкость полиглота — используя несколько баз данных для разных частей одного и того же приложения. Типичный современный стек может включать PostgreSQL для транзакционных данных, Redis для кэширования, Elasticsearch для поиска, NEO4J для рекомендаций и InfluxDB для метрик.
Этот подход работал, когда системы были меньше, а команды успели управлять сложностью. Это не работает в современной среде разработки.
Конвергенция
Современные базы данных сходится на другой архитектуре: платформы общего назначения, которые обрабатывают несколько типов рабочей нагрузки, не требуя отдельных систем.
Эта конвергенция произошла потому, что первоначальные технические ограничения исчезли. Распределенные вычислительные методы, которые казались экзотическими в 2010 году, стали стандартными. CAP (последовательность, доступность и толерантность к разделу) компромиссы теоремы, которые, казалось, оказались фундаментальными, доказали, что договорные договоренности с лучшими алгоритмами и инфраструктурой.
Подумайте, что произошло в ландшафте базы данных:
PostgreSQL добавил столбцы JSONB, что делает их жизнеспособным для рабочих нагрузок документов. Теперь он включает в себя полнотекстовый поиск, расширения временных рядов и даже поиск сходства вектора приложений для ИИ.
Redis расширился за пределы простых операций с ключами, чтобы включить модули для поиска, обработки графиков, документов JSON и данных временных рядов.
Apache Cassandra представила вторичные индексы, материализованные представления и более гибкое моделирование данных.
Даже традиционные реляционные базы данных, такие как SQL Server и Oracle, добавили поддержку JSON, возможности графика и гибкость в стиле NOSQL.
Mongodb вышел на эту конвергенцию. То, что начиналось как база данных документов, теперь предоставляет кислотные транзакции по распределенным кластерам, полнотекстовым и векторным поиску, работающим на Apache Lucene и других современных функциях.
Паттерн выходит за рамки любого единого поставщика. Наиболее успешными базами данных за последние пять лет являются те, которые превзошли их первоначальные категории.
Почему это важно для разработчиков
Практическое влияние этой сходимости огромно. Вместо управления несколькими системами баз данных современные приложения могут консолидироваться вокруг платформ, которые обрабатывают различные типы рабочей нагрузки.
Эта консолидация устраняет целые классы проблем:
- Нет синхронизации данныхПолем Когда ваши пользовательские профили, кэш сеанса, индексы поиска и аналитика живут в одной и той же системе, вам не нужны сложные трубопроводы ETL (извлечение, преобразование, нагрузка), чтобы сохранить данные.
- Объединенный язык запросовПолем Разработчики изучают один синтаксис вместо команд SQL Plus Redis Plus Cypher Plus любого языка, специфичного для домена, используемой вашей поисковой системой.
- Единственная оперативная модельПолем Одна стратегия резервного копирования, одна система мониторинга, один подход к масштабированию, одна модель безопасности.
- Транзакционная последовательностьПолем Операции, которые охватывают несколько типов данных, могут использовать одни и те же гарантии кислоты, устраняя сложность распределенной транзакции, которая преследует архитектуры полиглота.
Настоящие компании видят результаты. Фармацевтические компании сокращают поколение клинических отчетов с недель до минут. Финансовые платформы управляют сотнями миллиардов активов, повышая производительность масштабирования на 64%. Сайты электронной коммерции достигают времени отклика поиска в субмиллисекунде без отдельной поисковой инфраструктуры.
Полиглот упорство
Полиглот постоянство имела смысл, когда базы данных имели жесткие ограничения. Это имеет меньший смысл, когда эти ограничения больше не существуют.
Подход PolyGlot предполагает, что специализация всегда превосходит обобщение. Но специализация имеет затраты: оперативная сложность, проблемы последовательности данных и когнитивные накладные расходы по управлению несколькими системами.
Эти затраты были приемлемы, когда пособия по производительности были ясны. Поскольку платформы общего назначения соответствуют или превышают специализированные системы в своих собственных областях, компромиссные расчеты изменяются.
Рассмотрим поиск. Elasticsearch стал выбором по умолчанию для полнотекстового поиска, потому что реляционные базы данных плохо справлялись с ним. Но когда поиск MongoDB Atlas обеспечивает время отклика субмиллисекунды, используя тот же фонд Apache Lucene, что и Elasticsearch, в чем польза в поддержании отдельного поискового кластера?
Та же самая логика применяется в категориях баз данных. Когда платформа общего назначения обеспечивает производительность поиска вектора, сравнимую со специализированными векторными базами данных или обработкой временных рядов, которая соответствует специально построенным системам, архитектурная сложность нескольких баз данных становится сложнее оправдать.
Штаб -квартира в Нью -Йорке, MongoDB — это компания Data Data Platform, позволяющая новаторам создавать, трансформировать и разрушать отрасли, выпуская мощность программного обеспечения и данных. Узнайте больше последних из MongoDB Trending Stories YouTube.com/ThenewStack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Джесси Холл — адвокат разработчика штата в MongoDB и глобальный голос в образовании разработчиков и современной архитектуре приложений. Он помогает разработчикам создавать приложения с полным стеком с MongoDB Atlas, JavaScript, TypeScript и Next.js-Создание контента, который подключает практическую реализацию … Подробнее от Jesse Hall