Paypal ouvre le code de JunoDB
mar, 13/06/2023 - 15:30
Paypal a annoncé l'ouverture du code d'un de ses outils maisons : JunoDB. JunoDB est un magasin clé-valeur distribué sur lequel s'appuient tous les services de back-end de Paypal. Avec JunoDB, les applications peuvent stocker et mettre en cache efficacement les données pour un accès rapide et une réduction de la charge sur les bases de données relationnelles et d'autres services. Le stockage persistant est réalisé à l'aide de RockDB.
A ses débuts, JunoDB était un programme C++ à un seul thread, mais il a depuis été réécrit en Golang pour être hautement simultané et compatible avec plusieurs cœurs. JunoDB est également passé d'un magasin de données TTL (Time To Live) court en mémoire à un magasin de données persistant qui prend en charge les TTL longs, offrant une sécurité des données améliorée via le chiffrement sur disque et TLS en transit par défaut. Le parcours de JunoDB a également impliqué une mise à l'échelle rapide grâce à la redistribution des données, ce qui lui a permis de gérer le volume sans cesse croissant de demandes.Chez Paypal, un grand cluster JunoDB peut comprendre plus de 200 nœuds de stockage, traitant plus de 100 milliards de requêtes par jour.L'architecture JunoDB a une conception basée sur un proxy qui permet une mise à l'échelle linéaire des connexions horizontales et simplifie le processus de développement en supprimant la complexité de la bibliothèque cliente et en gardant la logique et la configuration complexes hors des applications. JunoDB utilise un hachage cohérent pour partitionner les données et minimiser le mouvement des données lorsque les clusters sont étendus ou réduits. Pour atteindre zéro temps d'arrêt, JunoDB utilise la réplication intra-centre de données et entre centres de données, et il assure la cohérence des données avec un protocole basé sur un quorum et une validation en deux phases.
JunoDB est un logiciel libre sous licence Apache 2.0, disponible sur GitHub.