Данные стали одним из величайших мировых ресурсов, лежащим в основе всего — от систем видеорекомендаций и цифрового банкинга до бурно развивающегося ИИ. Но в мире, где данные становятся все более распределенными, от баз данных до хранилищ данных, озер данных и т.д., объединение всех этих данных для использования в реальном времени может оказаться непосильной задачей.
Приложения, не требующие мгновенного доступа к данным в режиме реального времени, могут просто объединять и обрабатывать данные партиями через фиксированные промежутки времени. Такая так называемая «пакетная обработка данных» может быть полезна, например, для обработки ежемесячных данных о продажах. Но часто компании требуется доступ к данным в режиме реального времени по мере их поступления. Это может иметь решающее значение, например, для программного обеспечения поддержки клиентов, которое полагается на текущую информацию о каждой продаже. В других случаях приложениям для организации поездок на попутных машинах также необходимо обрабатывать всевозможные данные, чтобы соединить пассажира с водителем — это не то, что может ждать несколько дней. Такие сценарии требуют так называемой «потоковой обработки данных», когда данные собираются и объединяются для обработки в режиме реального времени, что гораздо сложнее настроить.
И именно эту задачу решает Dozer, предоставляя быстрые, доступные только для чтения API для любого источника с помощью plug-and-play бэкенда инфраструктуры данных.
Dozer — дело рук Вивека Гудапури и Маттео Пелати, которые основали компанию в Сингапуре почти год назад. Дуэт создал распределенную команду из 10 человек по всей Азии и Восточной Европе, которые готовятся выйти за рамки текущего исходного кода и превратить его в монетизируемый продукт.
Dozer тестировал свой продукт с небольшим количеством нераскрытых партнеров, и сегодня он выходит из режима секретности, чтобы любой разработчик мог получить к нему доступ. Компания также объявила о привлечении $3 млн. начального финансирования от Sequoia Capital India, Google’s Gradient Ventures, Surge и January Capital.
Распределенные данные
Уже существует бесчисленное множество инструментов, предназначенных для преобразования, интеграции и использования распределенных данных, включая потоковые базы данных и инструменты ETL (extract, transform, load), такие как Apache Flink, Airbyte и Fivetran, кэширующие слои для хранения данных, такие как Redis, и мгновенные API на базе таких технологий, как Hasura или Supabase, для передачи данных между системами.
Dozer, со своей стороны, работает со всеми этими различными категориями, используя лучшие, по его мнению, части и устраняя трения, связанные с созданием инфраструктуры и потоков, которые лежат в основе приложений для работы с данными в реальном времени.
Пользователи подключают Dozer к существующему стеку данных, который может включать базы данных, хранилища данных и озера данных, и Dozer берет на себя заботу об извлечении, кэшировании и индексировании данных в реальном времени, а также о предоставлении их через API с низкой задержкой. Таким образом, если такие решения, как Airbyte или Fivetran, помогают получить данные в хранилище данных, то Dozer фокусируется на другой стороне — «сделать эти данные доступными наиболее эффективным способом», — пояснил Гудапури в интервью TechCrunch.
Гудапури сказал, что Dozer «использует единственно правильный подход», который решает очень специфические проблемы и не более того. Например, существующие потоковые базы данных решают множество проблем, далеко выходящих за рамки того, что предлагает Dozer, который занимается обслуживанием обновлений данных в реальном времени и API в одном продукте.
«Мы решаем как раз то количество проблем в каждой из этих категорий, чтобы предложить разработчикам быстрый процесс развертывания, а также готовую к работе производительность», — сказал Гудапури. «Разработчикам в настоящее время приходится интегрировать несколько инструментов, чтобы добиться того же самого».
Например, существующая потоковая база данных, вероятно, попытается представить пользователю весь опыт работы с базой данных, включая механизм запросов, исследование данных, OLAP (онлайновая аналитическая обработка) и так далее. Dozer намеренно не предлагает таких вещей, вместо этого сосредоточившись на том, что Пелати называет «предварительно вычисленными представлениями», используя SQL, Python и JavaScript, и все это доступно через gRPC и REST API с низкой задержкой.
Именно по этой причине, по словам Пелати, Dozer может обещать лучшую скорость для запросов данных.
«Благодаря таким конструктивным решениям Dozer обеспечивает гораздо более высокую скорость, что необходимо для приложений, ориентированных на клиентов», — говорит Пелати. «Один разработчик может за считанные минуты создать целое приложение для работы с данными, на что обычно уходят месяцы усилий. Команде не нужно создавать и поддерживать несколько интеграций, что экономит время и деньги».
(Не совсем) открытый код
Хотя Dozer рекламируется как платформа с «открытым исходным кодом», беглый взгляд на ее лицензию на GitHub показывает, что он использует лицензию Elastic 2.0 (ELv2), ту самую лицензию, которую компания Elastic, занимающаяся корпоративным поиском, приняла два года назад как часть своего перехода от настоящего открытого исходного кода. Действительно, лицензия Elastic не признается открытым исходным кодом, поскольку она не позволяет третьим сторонам брать программное обеспечение и предлагать его в качестве размещаемой или управляемой услуги.
Более точно, ELv2 можно назвать лицензией «с доступным исходным кодом», что фактически означает, что она предлагает многие преимущества более открытой лицензии с открытым исходным кодом, такой как MIT, включая прозрачность кодовой базы, возможность расширения возможностей Dozer, доработки функций и исправления ошибок. Одного этого, вероятно, будет достаточно, чтобы завоевать сердца и умы компаний любого размера, если только это не AWS или какой-нибудь другой облачный гигант, желающий монетизировать непосредственно на Dozer.
Однако компания заявила, что она намерена перейти на двойную лицензию «очень скоро», когда все в основном проекте Dozer будет лицензировано MIT, за исключением «одного основного модуля». Более того, компания подчеркивает, что все ее клиентские библиотеки уже лицензированы MIT, включая Python, React и JavaScript.
Стоит отметить, что некоторые компании сами создали внутренние инструменты для решения проблем, схожих с теми, которые решает Dozer, в том числе Netflix, которая создала Bulldozer несколько лет назад. Примечательно, что один из главных создателей Bulldozer, Иоаннис Папапанагиоту, сейчас работает советником в Dozer.
Dozer еще только начинает свою работу, но с 3 миллионами долларов в банке от множества инвесторов компания достаточно хорошо финансируется, чтобы продвигаться к коммерциализации, которая будет включать в себя внедрение хостинговой SaaS-версии с кучей дополнительных функций. По словам Гудапури, компания ожидает, что она начнет работать в ближайшие месяцы.
«Размещенный сервис будет обеспечивать автомасштабирование, мгновенное развертывание, безопасность, соответствие нормативным требованиям, ограничение скорости и некоторые дополнительные функции», — сказал Гудапури.