На прошлой неделе в Нью-Йорке прошла конференция MongoDB World, на которой компания-организатор MongoDB анонсировала новый коннектор для Apache Spark под названием MongoDB Connector, позволяющий программистам и специалистам по обработке данных в режиме реального времени извлекать аналитическую информацию из быстро меняющихся данных.
Пользователи уже могут пользоваться этим продуктом для выполнения аналитических операций и сбора нужных сведений из актуальных оперативных данных, передающихся в потоке. Все это время MongoDB тесно сотрудничала с Databricks — компанией, учрежденной создателями Apache Spark. Сам MongoDB Connector получил статус Databricks Certified Application (приложение, сертифицированное компанией Databricks) для использования совместно со Spark. Факт сертификации означает гарантию от компании Databricks того, что коннектор обеспечивает интеграцию и API-совместимость между процессами в Spark и базой данных MongoDB.
Новый коннектор для Spark сделан по тому же принципу, что и существующий коннектор между MongoDB и фреймворком Hadoop.
Келли Стирман, вице-президент по стратегическому развитию и маркетингу продуктов в MongoDB, рассказал, что у людей, использующих Spark в связке с MongoDB, это событие вызвало повышенный интерес. По его словам, при совместном использовании MongoDB и Hadoop обычно подразумевается наличие нескольких разных операционных систем, данные из которых поступают в Hadoop, проходя ETL-процесс (extract, transform and load, извлечение, преобразование и загрузка) или подвергаясь каким-либо другим преобразованиям. Поэтому в MongoDB создали специализированный коннектор для Hadoop, а теперь у них появился еще один для Spark.
«Нам говорят, что при том уровне машинного обучения и аналитической обработки, которые применяются к данным, есть необходимость выполнять часть этих операций на оперативных данных по мере того, как они вырабатываются, — говорит Стирман. — Именно такие требования предъявляются к связке Spark плюс MongoDB».
Поэтому в MongoDB взяли свой коннектор для Hadoop и усовершенствовали его до совместимости со Spark. «Мы собрали множество сведений и решили, что имеющегося у пользователей интереса достаточно для того, чтобы вложить инженерные усилия в разработку специализированного коннектора для Spark», — рассказывает Стирман.
«Теперь операции, которыми занимается Spark, можно выполнять непосредственно на оперативных данных, управляемых БД MongoDB, не тратя времени и ресурсов на ETL-процессы, — сообщил в своем заявлении Элиот Горовитц, соучредитель и технический директор MongoDB. — MongoDB может эффективно индексировать и отдавать результаты аналитических операций обратно в рабочие, оперативные процессы, делая их более интеллектуальными, контекстно-ориентированными и способными быстрее реагировать на события по мере их возникновения».
Более того, коннектор MongoDB Connector для Apache Spark написан на языке программирования Scala, так же как и сам Apache Spark, так что он предоставляет знакомый интерфейс разработки для пользователей Spark. Вдобавок, говорит Стирман, коннектор открывает доступ ко всем библиотекам Spark, благодаря чему данные в MongoDB можно обрабатывать в виде фреймов и массивов, пригодных для машинного обучения, построения графов, потоковой передачи и применения в качестве параметров SQL API, пользуясь преимуществами автоматического определения схемы БД.
«Пользователи уже совместно применяют Apache Spark и MongoDB для построения комплексных прикладных аналитических программ, — сделал заявление Рейнольд Синь, соучредитель и главный архитектор Databricks. — Новый нативный коннектор MongoDB Connector для Apache Spark обеспечивает более высокую, чем какой-либо другой из имеющихся коннекторов MongoDB, производительность, простоту в использовании и доступ к расширенному функционалу Apache Spark».
Новый коннектор также пропускает данные через конвейер группировки (aggregation pipeline) MongoDB, говорит Стирман. К тому же он позволяет пользователям хранить RDD-объекты (Resilient Distributed Datasets, устойчивые распределенные наборы данных) внутри исходного узла БД MongoDB, благодаря чему удается свести к минимуму перемещение данных внутри кластера и уменьшить задержки при их обработке.
Джефф Смит, начальник отдела обработки данных в компании x.ai, разрабатывающей приложение-секретаря на основе AI для планирования встреч, сообщил, что программисты в x.ai используют совместно MongoDB и Apache Spark для обработки и анализа огромных массивов данных, необходимых для работы AI-приложения.
«С появлением нового нативного коннектора MongoDB Connector для Apache Spark у нас теперь есть еще более эффективный способ соединения этих двух ключевых элементов нашей инфраструктуры, — прокомментировал Смит в заявлении. — Мы уверены, что новый коннектор поможет нам ускориться в работе и создавать надежные системы машинного обучения, способные функционировать в крупных масштабах».
В ходе своей ежегодной конференции для пользователей MongoDB также представила их вниманию Atlas, свое новое DBaaS-предложение (database-as-a-service, сервис баз данных).