Les NewSQLs sont ces moteurs qui cherchent à combiner les avantages des NoSQLs et des SGBDRs classiques. Aujourd’hui, nous allons nous intéresser à YugabyteDB, une solution 100% opensource qui a plus d’un tour dans son sac.
YugabyteDB est conçu sur des bases solides. Il trouve son inspiration dans Google Spanner et est constitué globalement de 2 parties :
- une partie stockage des données (avec une version custom de RocksDB) de type DocumentDB qui va gérer entre autre la réplication et la répartition des données, la consistance des données ou encore la résilience aux pannes (notamment avec l’algorithme de consensus RAFT)
- une partie interface de requêtage qui dispose de deux principales interfaces :
- YSQL : basé sur le moteur de requêtage de Postgresql
- YCQL : basé sur le moteur de requêtage de Cassandra
Il est donc possible d’avoir des applications compatibles Postgresql et d’autres applications compatibles Cassandra connectées en même temps à votre cluster YugabyteDB (appelé Univers dans la terminologie Yugabyte). De part son architecture distribuée native, YugabyteDB est à l’aise dans le Cloud. Il peut même être multi-cloud avec un ou plusieurs nœuds chez différents fournisseurs de Cloud. Yugabyte propose d’ailleurs un service Yugabyte Cloud pour son moteur (sur AWS et GCP).
YugabyteDB est conçu pour assurer une parfaite cohérence des données et être résistant aux Split-brains. De part sa conception inspirée de Google Spanner, il est également hautement disponible.
Etant donné l’utilisation native des couches Postgresql et Cassandra, pour des solutions utilisant déjà ces moteurs, la migration vers YugabyteDB peut se faire rapidement et sans douleur.
C’est une brève présentation de ce moteur qui a beaucoup d’atouts. Personnellement, je ne serai pas surpris s’il devient le leader des moteurs NewSQL, et je compte bien suivre son évolution de près.
Si vous avez besoin de conseils ou d’informations sur la migration de vos applications dans le Cloud ou si vous souhaitez en savoir plus sur les solutions à hautes disponibilités, n’hésitez pas à nous demander 🙂 .