Cover photo

Исследование Space and Time: Децентрализованное хранилище данных. Перевод на русский язык

Исследование Space and Time — это серия видеоинтервью с глубоким погружением, посвященная различным компонентам платформы Space and Time.

Exploring Space and Time — это серия видеоинтервью с глубоким погружением в различные компоненты платформы Space and Time. В этом эпизоде руководитель отдела контента Catherine Hickox берет интервью у старшего инженера-программиста Jack Carroll о децентрализованном хранилище данных Space and Time.

Будучи сам инженером по данным, я хорошо знаю болевые точки существующих монолитных архитектур пулов данных и их вспомогательных компонентов. Проблемы с масштабированием возникают часто, а о выстраивании и управлении данными думают в последнюю очередь. Инновационное применение компанией Space and Time передовой технологии Web3 способно решить эти и другие проблемы, но не как второстепенные, а как основные архитектурные принципы. Такое предложение оказалось слишком заманчивым, чтобы от него отказаться, поэтому я принял решение присоединиться к невероятной команде Space and Time. Мне очень приятно работать с рядом самых талантливых инженеров в моей карьере, и я с нетерпением жду нашего совместного путешествия” *Jack Carroll, старший инженер-программист, Space and Time

Catherine: Всем привет. Я Catherine Hickox, руководитель отдела контента в Space and Time, и я здесь вместе со старшим инженером-программистом Space and Time Jack Carroll. Спасибо, что присоединился ко мне, Jack.

Jack: Спасибо, Catherine. Спасибо за это вступление. Как сказала Cat, я работаю в команде хранилищ данных в качестве старшего инженера-программиста. Мы работаем над рядом трудноразрешимых проблем как в пространстве Web3, так и в пространстве хранилищ данных и каждый день находим синергию для продвижения этого направления. Я действительно рад поговорить с вами, и чтобы вы узнали немного больше о том, чем мы занимаемся в команде хранилища данных, и, надеюсь, я смогу ответить на все волнующие вопросы о том, что представляет собой хранилище данных в Space and Time.

Catherine: Потрясающе. Да, я тоже очень рада поговорить с вами. Я знаю, что мы делаем действительно классные вещи с тем, что мы создаем. Мне не терпится погрузиться в это. Не могли бы вы начать с краткого введения в понятие “хранилище данных”? Расскажите немного о том, что это значит и чем отличается хранилище данных, которое мы создаем в Space and Time.

Jack: Потрясающе. Итак, немного истории о себе. В своей предыдущей компании я был инженером по данным. В Space and Time я увидел возможность решить некоторые действительно трудноразрешимые проблемы в области данных и сделать это с помощью очень, очень талантливых инженеров, которых мы взяли в команду. Так что это первое, с чего я хотел бы начать. В области хранилищ данных мы пытаемся создать решение, которое удовлетворит потребности каждого. Поэтому, как инженер по данным, я не думаю о хранилище данных как об одном решении. Я думаю о нем как о пяти отдельных шагах, которые должны произойти, чтобы пользователь действительно получил свои данные и смог получить к ним доступ в том виде, в котором ему нужно. И Space and Time как платформа, будучи первой платформой Web3, должна охватить все эти случаи использования и сделать это так, чтобы сохранить производительность, и так, чтобы все наши пользователи могли прийти к столу на равных условиях и иметь инструменты, необходимые для выполнения работы наилучшим образом, как они умеют. И это большая часть того, что мы пытаемся сделать здесь, — дать возможность некоторым очень, очень умным людям, дать им нужные инструменты для решения проблем, о которых мы даже не могли говорить до появления Web3.

И я хочу немного углубиться в эту тему. Я сказал, что я инженер по данным. Это моя первая компания Web3. Я не думал, что буду так быстро погружаться в Web3, но как инженер по данным я действительно видел проблемы, связанные с управлением, безопасностью и доверием. И это то, что Web3 собирается решить. Решение для обработки данных Web3 справится с этой проблемой. И это действительно очень интересно для инженера по данным и для конечного пользователя. Именно на этом я сосредоточился и решил, что хочу присоединиться к Space and Time.

Catherine: Потрясающе. Это также моя первая компания Web3, с которой я работаю, и есть поговорка или цитата, которая гласит: “Золотая лихорадка — хорошее время для бизнеса, связанного с кирками и лопатами”. И я думаю, что это именно то, что мы делаем здесь, в Space and Time. Вы упомянули о некоторых действительно интересных проблемах, которые мы решаем. Так что, безусловно, на горизонте нас ждут очень интересные вещи.*‍

Jack: Да, мы переходим на блокчейн не потому, что нам это необходимо. Блокчейн — это технология, которая действительно решает множество проблем в пространстве данных. Раньше я рассматривал блокчейн как решение, ищущее проблему. Была очень хорошая проблема в финансовой сфере, и мы сразу увидели это решение. Людям еще предстоит полностью изучить решения, которые могут оказать реальное влияние на технологию блокчейн. Так что да, это действительно интересная часть моей работы.

Catherine: Абсолютно. Да, и я хочу изучить это немного подробнее. Но прежде чем мы это сделаем, не могли бы вы рассказать мне немного об архитектуре, которую мы используем в Space and Time? Те, кто следил за проектом, наверняка слышали, как мы используем термин HTAP engine, или hybrid transactional/analytical processing engine, для обозначения механизма запросов, который используется в хранилище данных Space and Time. Так почему бы нам не начать с этого? Что такое HTAP-движок?

Jack: HTAP — это действительно интересная вещь, появившаяся на рынке данных, которую они оценили как способность делать все, универсальное решение проблемы данных. Мы же, будучи поставщиком комплексного решения, должны идти и предоставлять все для комплексного решения. Именно так мы начали работать в сфере HTAP, говоря: “Мы хотим, чтобы все стороны могли собраться вместе на равных условиях, и у них должны быть все необходимые инструменты для выполнения своей работы”. И это действительно то, чем является система HTAP: система, которая может эффективно выполнять все эти операции, но также может быть перепрофилирована по желанию для выполнения различных операций. И есть большая причина для этого в Web3 и децентрализованном пространстве: вы создаете доверие из этого. Для этого есть большая причина, к которой, я уверен, мы еще вернемся. Но в рамках контекста нам нужно иметь хранилище данных, которое может стоять само по себе и подходит для всех случаев использования нашими пользователями. И именно с этого мы начали изучение HTAP.

Catherine: Я знаю, что дихотомией этого является поддержка как транзакционных, так и аналитических запросов. Не могли бы вы объяснить разницу между транзакционным и аналитическим запросом, привести пример каждого из них и рассказать о том, как по-разному обрабатываются запросы в транзакционном и аналитическом механизмах?

Jack: Когда вы говорите о транзакциях, вы говорите об операциях, выполняемых практически в реальном времени, которые являются либо чтением, либо записью. То есть вы либо ищете одну строку, либо ищете одну точку данных, либо идете и изменяете эту точку данных. Действительно хороший конкретный пример использования этого — поиск адреса кошелька пользователя. Итак, мы индексируем все наши данные; мы хотим, чтобы пользователь мог найти адрес кошелька менее чем за 150 миллисекунд. И это тот эталон, которого мы пытаемся достичь для транзакционных чтений. Транзакционные записи также являются одним из компонентов, для которых мы будем устанавливать контрольные показатели. Но это подводит нас к аналитической стороне дела, которая значительно отличается. Когда вы говорите об аналитике, первое, о чем вы должны говорить, — это агрегации.

Итак, это операция агрегирования. Скажем, вы берете среднее значение по этому столбцу или берете сумму, min, max по этому столбцу. Эти операции не оптимизированы в транзакционной системе. Транзакционная система очень хороша для операций в реальном времени. Но когда вы хотите ответить на вопрос, например, “Каково среднее значение этого столбца для миллионов и миллионов строк?”, транзакционная система не справится. Поэтому мы говорим как о транзакционной, так и об аналитической стороне вещей. Мы хотим, чтобы пользователи могли вводить данные с огромной скоростью, а затем извлекать их и получать информацию, необходимую им для выполнения работы.

Catherine: Итак, как, с точки зрения архитектуры и проектирования, движок HTAP поддерживает обе рабочие нагрузки, и каковы трудности при его создании?

Jack: Да, я думаю, что вы попали в самую точку. Управление рабочей нагрузкой — это суть проблемы. И вот что сделала компания Space and Time: “Есть готовое к работе решение Web2, которое очень хорошо протестировано на рынке, и поэтому давайте используем его для создания нашей системы Web3, чтобы иметь примитивы, необходимые для очень продвинутого управления рабочей нагрузкой, для масштабирования нужных рабочих нагрузок и чтения рабочих нагрузок в контексте одного кластера”. Эта система — Kubernetes. Мы являемся полноценным магазином Kubernetes. Мы осуществляем глубокую интеграцию с планировщиком Kubernetes. И поэтому Kubernetes — это действительно рабочая лошадка, которая, как нам кажется, может поддерживать наши потребности в управлении рабочими нагрузками. И это промежуточное звено, где мы можем встретиться, где наши корпоративные клиенты очень, очень хорошо знакомы с этим.

Catherine: Да, безусловно. Я хочу немного подробнее остановиться на масштабировании и балансировке нагрузки. Расскажите мне о Kubernetes и немного о том, почему это важно.

Jack: Я собираюсь рассказать о том, почему это важно в контексте компании Web3, потому что я думаю, что это очень хорошо иллюстрирует суть. Итак, допустим, вы — компания, у которой есть данные, хранящиеся, скажем, на складах в Австралии, на полпути по всему миру, и они там есть, но вам нужно получить ответы на вопросы по этим данным. Традиционно, какие у вас были варианты? Вы можете развернуть кластер рядом с существующими данными, что влечет за собой расходы. Можно передавать все эти необработанные данные по проводам, что потребует серьезных затрат. Space and Time позволит вам воспользоваться третьим вариантом. Этот вариант заключается в том, что мне не нужно владеть этой инфраструктурой. Я могу владеть данными, которые поступают из этой инфраструктуры, но мне не нужно доверять самой инфраструктуре, чтобы доверять данным, которые из нее поступают.

И это позволяет нам очень быстро перепрофилировать более общие ресурсы для очень специфических случаев использования, где они могут работать действительно очень хорошо. В течение нескольких минут вы можете перепрофилировать свой механизм запросов OLAP, который может работать с миллиардами и миллиардами строк данных. А в следующую минуту вы будете получать тысячи и тысячи гигабайт данных каждую минуту. Поэтому нам нужна система, способная делать это, чтобы наши пользователи могли воспользоваться возможностями, когда они не используют свою собственную инфраструктуру. Поэтому аналогия, которую я использовал для инженеров, — это модель спота: мы арендуем спотовые ресурсы. Хранилище данных Web3 позволяет нам арендовать точечные ресурсы и перепрофилировать инфраструктуру внутри сети без необходимости развертывания вне сети.

Catherine: Да, это действительно здорово. Я знаю, что основная идея создания децентрализованного хранилища данных заключается в том, чтобы построить его на принципах Web3, верно? Децентрализация, надежность. Но очень здорово видеть, как это может быть полезно в реальном мире для наших функций. Я хочу немного поговорить о масштабировании в условиях ограниченных ресурсов. Вы говорите о перепрофилировании ресурсов и о том, как это выглядит, но как быть, если количество узлов ограничено? И расскажите немного о разнице между масштабированием двух движков запросов независимо друг от друга в рамках одного кластера и масштабированием между несколькими кластерами, а также о том, как это сопоставимо с масштабированием с помощью облачной эластичности.

Jack: Эластичность облака — это тот пункт, с которого я хотел бы начать, потому что это тот пункт, с которым наши корпоративные клиенты знакомы лучше всего. Они понимают, что мы можем добавить оборудование к этому хранилищу данных и получить от него большую производительность. Это всегда будет опцией в рамках платформы Space and Time, но это не единственная опция в рамках платформы Space and Time. Когда вы говорите о работе в ограниченном ресурсном пространстве, именно здесь вы начинаете говорить об очень эффективном управлении рабочей нагрузкой и использовании ваших друзей, которые сидят рядом с вами, которые размещены вместе с вами, используя их инфраструктуру, которую они уже арендовали, для выполнения вашей работы. Поэтому, когда речь идет о среде с очень ограниченными ресурсами, Space and Time будет работать лучше, чем существующие варианты. Если вы говорите о бесконечно эластичной среде, к которой мы все привыкли сейчас, то Space and Time абсолютно точно будет поддерживать ее и обеспечивать высокую производительность, но это не основной вариант использования.

Catherine: Итак, мы уже говорили о важности масштабируемости для Space and Time как сквозной платформы данных, но суть нашей работы заключается в том, что мы позволяем подключать эти данные и результаты запросов, выполняемых в рамках платформы, к смарт-контрактам. Не могли бы вы немного рассказать о том, что смарт-контракты позволят сделать для масштабирования?

Jack: С точки зрения инженера по данным, я думаю о пяти различных рабочих нагрузках, о которых я рассказывал ранее. Это прием, перемещение, хранение, уточнение и предоставление. И чтобы получить полноценный продукт данных, необходимо пройти весь путь до конца этого конвейера. Традиционно предприятия должны были сами выполнять весь этот процесс. Теперь же смарт-контракты позволяют сказать: “Вам не обязательно владеть всем этим. Вы можете пойти и заключить контракт с третьей стороной, с кем-то, кто является экспертом, абсолютным экспертом, в своей области, и вы можете получить продукт в промежуточном состоянии, а затем пойти и сделать все остальное, что вам нужно сделать”. Таким образом, если вы говорите о масштабе, вы говорите о демократизации операций с данными и значительном расширении доступа к услугам в области данных для некоторых действительно, действительно умных людей, которые могут решать проблемы гораздо лучше, чем мы с вами, которые действительно хорошо понимают проблемное пространство, и мы хотим дать им возможность решать эти проблемы.

Catherine: Потрясающе. Да, так здорово видеть, что смарт-контракты расширяют возможности во всех сферах, во всех отраслях. И это так здорово — быть на первом уровне этого процесса с тем, что мы создаем в Space and Time.

Jack: Безусловно. И это действительно очень мощная идея в пространстве данных. Как я уже сказал, я бы не стал работать в этой компании, если бы это было не так. Я очень рад погрузиться в это с совершенно потрясающей командой и посмотреть, что мы сможем сделать. Я думаю, что мы задаем себе вопросы, которые возникли у нас, но не возникли бы у компании Web2. Мы собираемся перевернуть рынок данных. Я могу сказать это со всей определенностью. И у нас есть ресурсы для этого. У нас есть умные люди, которым просто не терпится это сделать. Вот что меня больше всего радует в Space and Time.

Catherine: Мы очень рады видеть тебя на борту, Jack. Большое спасибо, что согласились побеседовать со мной и дать немного больше информации о том, что мы здесь создаем.‍

Jack: Конечно. В любое время.

Оригинал: https://www.spaceandtime.io/blog/exploring-space-and-time-decentralized-data-warehousing

Официальные ссылки:

Website | Twitter | Linkedin | Discord | Telegram | Youtube | Instagram | Reddit | CrunchBase