Лучшие школы информатики — это не Стэнфорд и Беркли.

«Многие структуры данных могут извлечь выгоду из форматирования таблиц, и, на мой взгляд, #ApacheIceberg — это вариант выбора — он (фактически) открыт, имеет динамичную и растущую экосистему и предназначен для взаимодействия», — написал он в январском сообщении LinkedIn. почта.

Ему не нужно было называть Дельта-Лейк по имени. Еще один формат таблиц базы данных, изначально созданный конкурентом Snowflake, Databricks, Delta Lake вызвал меньший интерес и участие со стороны сообщества разработчиков с открытым исходным кодом, чем Iceberg. Среди трейдеров баз данных уже было много разговоров о надежности открытого исходного кода.

Инженеры-программисты Databriks знали, что в их детище есть ямки, когда они его видели, и держались подальше от ворсинок. Они быстро встали на защиту Дельты. Затем последовала кричащая спичка в сатирическом тексте о различиях между действительно открытым исходным кодом и проприетарным проектом.

Вековые дебаты о корпоративных технологиях достигли войны облачных баз данных.

Технический директор Databricks Джон Линч ударил Мэлоуна ножом, отметив в той же ветке LinkedIn, что Snowflake является частной собственностью. Он разместил ссылку на исходный код Delta Lake на GitHub, перейдя на домашнюю страницу Open Source Collaboration. Смайлик, подчеркивающий ожог.

Это не открытый исходный код. «Это открытый код», — ответил Мэлоун о Delta Lake.

Нам не нужно углубляться в семантику Джеймса, — ответил Спенсер Кук, инженер по решениям для финансовых услуг в Databricks.

Но эта публичная демонстрация была больше, чем просто выбор разработчиками и инженерами сторон в изнурительных дебатах, которые были обычным явлением в течение последних 15 лет о корпоративных технологиях и сотнях проектов с открытым исходным кодом, которые стимулировали этот рост.

Войны ботаников — это всегда весело. Но есть и очень объективные различия…

«Войны ботаников — это всегда весело», — сказал генеральный директор Dremio Билли Босворт, чья компания подчеркнула использование Iceberg в своих продуктах, но есть некоторые очень существенные различия в подходе, используемом проектом Apache Iceberg, по сравнению с подходом Databricks Delta Lake.

открывать и закрывать

Мэлоун и другие инженеры баз данных говорят, что среди их клиентов существует путаница в отношении того, какие части Delta Lake являются открытыми. Они говорят, что Databriks воздвигает барьеры для полного раскрытия потенциала Delta, вынуждая пользователей выбирать между платой за доступ к полной производительности и широте функций или застреванием с ограниченными возможностями при внедрении кода Delta с открытым исходным кодом.

Они жалуются, что, хотя Delta Lake живет на Github как проект с открытым исходным кодом, сотрудники Databriks чрезмерно контролируют решения о внесении изменений в его код без публичного обсуждения. Они говорят, что Iceberg — еще один формат таблиц базы данных, который возник в Netflix и теперь управляется Apache Software Foundation с открытым исходным кодом — способствовал гораздо более разнообразному сообществу акционеров из гораздо более широкой группы компаний, чем Delta.

Критика статуса Delta Lake с открытым исходным кодом «является не совсем справедливой оценкой», — сказал Денни Ли, глава отдела по связям с разработчиками в Databricks, который сказал, что в проекте участвуют более 200 участников из 70 различных организаций. «Тысячи наших клиентов — не сотрудники Databriks — активно участвуют в сообществе, потому что Delta Lake имеет решающее значение для надежности их конвейеров данных, и мы продолжаем добавлять функции на основе их отзывов», — сказал он.

Однако сторонники открытого исходного кода утверждают, что любой по-настоящему открытый и бесплатный проект будет требовать участия не «клиентов», а скорее участия более широкого сообщества сотрудников. В конечном счете, некоторые говорят, что этот подход с полуоткрытым исходным кодом — хотя и неправильно используемый некоторыми разработчиками баз данных — является частью книги по базам данных.

«Иногда это немного сбивает с толку, когда вы пытаетесь провести различие между версией Delta Lake для Databriks и тем, что они открыли в версии Delta Lake с открытым исходным кодом», — сказал Босворт.

По словам Мэлоуна, путаница возникает из-за людей, создающих базы данных, чтобы обеспечить запросы данных и аналитику для лиц, принимающих бизнес-решения. «Мы слышали об этой путанице от клиентов», — сказал он о Delta Lake, которое Snowflake поддерживает вместе с Iceberg. “Клиент захочет убедиться, что рабочая нагрузка работает надежно. Это становится критическим компонентом. Это имеет серьезные последствия для того, как вы управляете проектом”, – сказал он.

«В лучшем случае, когда функции отсутствуют, пользователям, вероятно, придется реорганизовать свой код при переключении между проприетарной и открытой версиями кода», — сказал Мэлоун. В худшем случае, по его словам, клиенты «заперты в платной версии, и этот факт не ясен». «Ничего не было сделано для устранения этой путаницы», — добавил он.

Али Кудси, соучредитель и генеральный директор Databricks, ответил на критику в заявлении, отправленном в Protocol: «В документации нашей платформы описаны функции производительности, которые доступны только в Databricks, но все функции чтения, записи и управления данными открыты и могут использоваться. в этой широкой экосистеме других продуктов». Он добавил, что Databriks планирует сделать «большое объявление о Delta Lake с открытым исходным кодом» на конференции компании в конце этого месяца.

Основные вопросы

По словам Босворта, хотя Iceberg и Delta Lake пытаются удовлетворить одни и те же потребности в форматах электронных таблиц, существуют различия, которые могут повлиять на итоговую прибыль компании. «Это своего рода архитектурное решение, с которым вы живете около десяти или более лет, когда вы его принимаете. Таким образом, это очень важный момент в архитектуре: остановиться и спросить: «Я строю свой фундамент на чем-то, что мне будет удобно». в течение следующего десятилетия в моем фонде?»

На фоне разногласий по поводу озера Дельта айсберг набирает обороты. Наряду с внедрением Dremio и Snowflake AWS использовала Iceberg для создания службы запросов Athena, которая стала доступна в масштабе в апреле.

Google Cloud также окрестил Iceberg, решив сначала поддерживать его, а не Delta, в своем новом продукте на озере BigLake. «В первую очередь мы поддерживаем Iceberg с помощью BigLake, потому что именно такой спрос мы наблюдаем в GCP», — сказал Protocol Геррит Казмайр, вице-президент Google по базам данных, анализу данных и хранению данных. Однако он добавил, что Google Cloud Platform имеет ограниченную поддержку Delta, «поскольку Databriks доступен на GCP, и есть некоторые сценарии Databriks с BigQuery».

Босворт, разработчик в первое десятилетие своей карьеры, сказал, что поддержка в таких местах, как AWS, GCP и Snowflake, может вдохновить разработчиков добавить Iceberg в свой набор инструментов, а Delta потенциально откажется. «Вы не хотите пропустить отличную детскую вечеринку. Люди недооценивают психологическое воздействие решений разработчиков».

Быть холодным — это одно, но иметь работу — тоже важно. “Многим разработчикам нравится быть в авангарде этих волн, когда они приходят. Многие разработчики знают, что они не ошибутся в своих резюме проектам с открытым исходным кодом”.

Однако некоторые компании не были готовы к встрече с Айсбергом.

Что касается Iceberg, я, честно говоря, не видел ни одного клиента, использующего его.

Джеймс Серра, инженер по решениям в области данных и искусственного интеллекта в Microsoft, который помогает своим клиентам создавать решения на облачной платформе Azure, сказал, что вместо этого Microsoft и ее клиенты остановились на Delta Lake. “Что касается Iceberg, я, честно говоря, не видел ни одного клиента, который когда-либо им пользовался. Со временем, и особенно в последний год, все в нашем мире будут стремиться к Delta Lake”.

По его словам, из-за этого интереса клиентов Microsoft обновила свои продукты, включив в них версию Delta с открытым исходным кодом, а также добавила собственные функции повышенной производительности и хранения данных.

Delta Lake — это не проект Databriks.

Иногда, когда пользователи Delta сталкиваются с проблемами, вместо совместного исправления, распространенного во многих сообществах с открытым исходным кодом, проблемы обрабатываются сотрудниками Databriks и обрабатываются почти так же, как запросы на билеты в службу ИТ-поддержки или программное обеспечение. Когда bugsbunny1101 в мае опубликовал сообщение № 1129 в проекте Delta Lake GitHub, сославшись на «несогласованное поведение между дельтой с открытым исходным кодом и базой данных времени выполнения», другой пользователь добавил: «У меня точно такая же проблема».

В разговоре два инженера-программиста Databriks заявили, что изучают проблему. «Мы не забыли об этой проблеме в Delta Lake, — написал в конце мая инженер-программист Databricks Скотт Сэндри. Он продолжил, имея в виду предстоящую конференцию своей компании: «Мы работаем над предстоящим выпуском Delta Lake и надеемся выпустить его к Саммиту данных и искусственного интеллекта в следующем месяце».

Серра сказал, что Delta Lake может не соответствовать критериям действительно проекта с открытым исходным кодом, отчасти потому, что он «не получил широкого распространения». Но это может не иметь значения, сказал он. «Можно сказать, что это все еще действительно хорошее решение, потому что Databriks вносит в него свой вклад и заставляет его работать очень хорошо».

Хотя многие из участников Delta Lake являются Databriks, люди из других компаний, включая Esri, IBM и Microsoft, сотрудничали с его сообществом GitHub.

«Во-первых, важно отметить, что, хотя Databriks построен поверх Delta Lake на нашей платформе Lakehouse для повышения производительности запросов, Delta Lake не является проектом Databriks», — сказал Кудси, отметив, что Delta Lake управляется Linux Foundation и людьми. которые вносят свой вклад в AWS и Comcast, Google и Tableau в своей разметке.

Пересмотр руководства по полуоткрытому исходному коду Spark

Райан Блю, соучредитель и генеральный директор стартапа платформы данных Tabular и бывший инженер базы данных Netflix, который помогал создавать Iceberg, сказал, что Databriks имеет врожденный конфликт интересов в Delta Lake. Он сказал, что, поскольку Databriks продает доступ к своему вычислительному движку, а также предлагает продукт для хранения данных, такой как Delta, это создает конфликт интересов, поскольку компания, вероятно, направит людей к своим вычислительным услугам для повышения производительности.

«Все видят видение этого многодвигательного будущего», — сказал Блю, объясняя, почему Tabular был построен на базе Iceberg. «Мы говорим, что не будем зависеть от вычислительного движка, потому что это в интересах наших клиентов».

Но предложение повышения производительности через платную версию на самом деле является стратегией Databriks. «Разница в производительности», — сказал Ли протоколу. «Датабрики сделали что-то, чтобы сделать запросы намного быстрее, но это не имеет ничего общего с форматом». Он признал, что запутанное восприятие дельта-озера было понятно, потому что «Дельта-озеро изначально было королевским». [in] 2017, прежде чем стать открытым исходным кодом в 2019 году.

На самом деле, с Delta Lake, похоже, что соучредители Databriks работают в направлении, противоположном той же игре с псевдо-открытым исходным кодом, которую они использовали для монетизации пользовательской базы с открытым исходным кодом, созданной вокруг Apache Spark, популярного программного обеспечения с открытым исходным кодом. исходный проект они начали в 2009 году. В то время они объединили расширенные функции Spark в более производительный платный продукт, который лег в основу Databriks, запущенного в 2013 году.

«Мы быстро поняли, что только открытый исходный код будет способствовать действительно значительному росту», — сказал Кудси в разговоре с Forbes в 2021 году относительно Spark. «Однако задача заключалась в том, чтобы заставить любого платить за наш продукт». Компромисс, ориентированный на получение прибыли, заключался в том, что сам Годси назвал «SaaS с открытым исходным кодом», когда Databriks взимает с клиентов плату за обновление и запуск продукта, одновременно внося «постоянный вклад в полностью бесплатную версию Databriks с открытым исходным кодом».

«Можно сказать, что они пытаются сделать то же самое с Delta Lake», — сказал Серра.

Армон Петросян, генеральный директор компании Coalesce, занимающейся преобразованием данных и аналитикой, сказал, что некоторые компании создают проекты с открытым исходным кодом, чтобы создать вокруг себя сообщество, а затем привлекают наживку — и — переключаются, превращая эти проекты в платные продукты или направляя пользователей к версии Best платной.

«Мы видели, как концепция открытого исходного кода развивалась на протяжении многих лет, когда существовало альтруистическое намерение поддерживать пользователей. [has become] — сказал Петросян.

“Я не видел [Databricks] «Он всегда был нечестен или манипулировал», — сказал Босворт. «Я не думаю, что это что-то возмутительное. Это просто их бизнес-модель. И это нормально».

Во всяком случае, путаница и разногласия по поводу Delta Lake показывают, что существует множество интерпретаций того, что означает «открытость» в отношении программных технологий.

“Открытость бывает разной. Есть открытый исходный код. Есть открытые форматы и есть открытые стандарты, — сказал Босворт. — Теоретически у вас может быть очень открытая система, основанная на открытых стандартах и ​​открытых протоколах, открытых форматах, файлах и прочем”. вот так — но нет программного обеспечения с открытым исходным кодом».

«Пытаться идентифицировать открытый исходный код сложно», — сказал Мэлоун. «Это не обязательно новая проблема».

Leave a Comment