Venice — это производная платформа хранения данных, обладающая следующими характеристиками:
Вышеупомянутое делает Venice особенно подходящим в качестве компонента с состоянием, поддерживающего хранилище функций, такое как Feathr. Приложения искусственного интеллекта передают результаты своих заданий по обучению ML в Venice, а затем запрашивают данные для использования во время рабочих нагрузок онлайн-выводов.
Венеция — это система, охватывающая офлайн-, ближайший и онлайн-миры, как показано ниже.
Путь записи в Венеции можно разбить на три этапа: полная замена набора данных, вставка множества строк в существующий набор данных и обновление некоторых столбцов некоторых строк. Все три уровня детализации поддерживаются Hadoop и Samza. Кроме того, любая служба может асинхронно производить вставки и обновления отдельных строк, используя библиотеку Online Producer. В таблице ниже приведены операции записи, поддерживаемые каждой платформой:
Хадуп | Самза | Любая услуга | |
---|---|---|---|
Полная замена набора данных | ✅ | ✅ | |
Вставка некоторых строк в существующий набор данных | ✅ | ✅ | ✅ |
Обновления некоторых столбцов некоторых строк | ✅ | ✅ | ✅ |
Более того, все три степени детализации операций записи могут быть смешаны в одном наборе данных. Набор данных, который получает полную замену набора данных в дополнение к вставке или обновлению строк, называется гибридным .
В рамках настройки гибридного хранилища важной концепцией является время перемотки , которое определяет, насколько далеко назад должны быть перемотаны недавние записи в реальном времени и применены поверх подкачиваемого набора данных нового поколения.
Используя этот механизм, можно наложить выходные данные задания потоковой обработки на выходные данные пакетного задания. При использовании частичного обновления некоторые столбцы можно обновлять в режиме реального времени, а некоторые — в пакетном режиме, и эти два набора столбцов могут либо перекрываться, либо быть непересекающимися по желанию.
Write Compute включает в себя два типа операций, которые можно выполнять со значением, связанным с данным ключом:
Примечание. В настоящее время вычисления при записи поддерживаются только в сочетании с активно-пассивной репликацией. Поддержка репликации «активный-активный» находится в стадии разработки.
Венеция поддерживает следующие API чтения:
Существует два основных режима доступа к данным Венеции:
В таблице ниже приведены характеристики клиентов:
Сетевые переходы | Типичная задержка (p99) | Государственный след | |
---|---|---|---|
Тонкий клиент | 2 | < 10 миллисекунд | Лицо без гражданства |
Быстрый клиент | 1 | < 2 миллисекунд | Минимальный (только метаданные маршрутизации) |
Клиент Да Винчи (ОЗУ + SSD) | 0 | < 1 миллисекунды | Ограниченная оперативная память, полный набор данных на SSD |
Клиент Da Vinci (все в оперативной памяти) | 0 | < 10 микросекунд | Полный набор данных в оперативной памяти |
Все эти клиенты используют одни и те же API чтения, описанные выше. Это позволяет пользователям вносить изменения в соотношение цены и производительности без необходимости переписывать свои приложения.
Блог Open Sourcing Venice и доклад на конференции являются хорошей отправной точкой для получения обзора того, какие варианты использования и масштабы может поддерживать Venice. Дополнительные сообщения, выступления и подкасты о Венеции можно найти на нашей странице «Подробнее».
Обратитесь к краткому руководству по Венеции, чтобы создать собственный кластер Венеции и поэкспериментировать с некоторыми функциями, такими как создание хранилища данных, пакетная передача, инкрементная передача и однократное получение. Мы рекомендуем придерживаться нашей последней стабильной версии.
Не стесняйтесь взаимодействовать с сообществом, используя наши:
Подпишитесь на нас, чтобы узнать больше о прогрессе Венецианского проекта и сообщества: