Venice est une plateforme de stockage de données dérivée, offrant les caractéristiques suivantes :
Ce qui précède rend Venice particulièrement approprié en tant que composant avec état soutenant un Feature Store, tel que Feathr. Les applications d'IA transmettent le résultat de leurs tâches de formation ML à Venice, puis interrogent les données pour les utiliser lors des charges de travail d'inférence en ligne.
Venice est un système qui chevauche les mondes hors ligne, Nearline et en ligne, comme illustré ci-dessous.
Le chemin d'écriture de Venice peut être décomposé en trois granularités : échange complet d'ensemble de données, insertion de nombreuses lignes dans un ensemble de données existant et mises à jour de certaines colonnes de certaines lignes. Les trois granularités sont prises en charge par Hadoop et Samza. De plus, n’importe quel service peut également produire de manière asynchrone des insertions et des mises à jour sur une seule ligne, à l’aide de la bibliothèque Online Producer. Le tableau ci-dessous résume les opérations d'écriture prises en charge par chaque plateforme :
Hadoop | Samza | N'importe quel service | |
---|---|---|---|
Échange complet d'ensembles de données | ✅ | ✅ | |
Insertion de certaines lignes dans un jeu de données existant | ✅ | ✅ | ✅ |
Mises à jour de certaines colonnes de certaines lignes | ✅ | ✅ | ✅ |
De plus, les trois granularités des opérations d’écriture peuvent toutes être mélangées au sein d’un seul ensemble de données. Un ensemble de données qui obtient des échanges complets d'ensembles de données en plus de l'insertion de lignes ou des mises à jour de lignes est appelé hybride .
Dans le cadre de la configuration d'un magasin hybride , un concept important est le temps de rembobinage , qui définit jusqu'où les écritures récentes en temps réel doivent être rembobinées et appliquées au-dessus de la nouvelle génération de l'ensemble de données échangé.
En tirant parti de ce mécanisme, il est possible de superposer la sortie d’une tâche de traitement de flux sur celle d’une tâche par lots. Si vous utilisez des mises à jour partielles, il est alors possible de mettre à jour certaines colonnes en temps réel et d'autres par lots, et ces deux ensembles de colonnes peuvent se chevaucher ou être disjoints, comme vous le souhaitez.
Write Compute comprend deux types d'opérations, qui peuvent être effectuées sur la valeur associée à une clé donnée :
NB : actuellement, le calcul en écriture n'est pris en charge qu'en conjonction avec la réplication active-passive. La prise en charge de la réplication active-active est en cours de développement.
Venice prend en charge les API de lecture suivantes :
Il existe deux modes principaux pour accéder aux données de Venise :
Le tableau ci-dessous résume les caractéristiques des clients :
Sauts de réseau | Latence typique (p99) | Empreinte de l'État | |
---|---|---|---|
Client léger | 2 | < 10 millisecondes | Apatride |
Client rapide | 1 | < 2 millisecondes | Minimal (métadonnées de routage uniquement) |
Client Da Vinci (RAM + SSD) | 0 | < 1 milliseconde | RAM limitée, ensemble de données complet sur SSD |
Client Da Vinci (tout en RAM) | 0 | < 10 microsecondes | Ensemble de données complet en RAM |
Tous ces clients partagent les mêmes API de lecture décrites ci-dessus. Cela permet aux utilisateurs de modifier leur compromis coût/performance sans avoir à réécrire leurs applications.
Le blog Open Sourcing Venice et la conférence sont de bons points de départ pour avoir un aperçu des cas d'utilisation et de l'échelle que Venise peut prendre en charge. Pour plus d'articles, de conférences et de podcasts sur Venise, consultez notre page En savoir plus.
Reportez-vous au guide de démarrage rapide de Venice pour créer votre propre cluster Venice et jouer avec certaines fonctionnalités telles que la création d'un magasin de données, le push par lots, le push incrémentiel et l'obtention unique. Nous vous recommandons de vous en tenir à notre dernière version stable.
N'hésitez pas à interagir avec la communauté en utilisant notre :
Suivez-nous pour en savoir plus sur l'avancement du projet et de la communauté de Venise :