Qu'est-ce que PlanetScale ?
Selon James Governor, cofondateur de RedMonk, les sociétés SaaS comme les grandes entreprises ont du mal à gérer les bases de données à l'échelle. « Les équipes d'ingénieurs finissent par se concentrer sur les problèmes de mise à l'échelle plutôt que sur l'amélioration des applications, des fonctionnalités et de la plateforme. Les services gérés se sont imposés comme l'approche privilégiée, sous-tendant la renaissance du relationnel, car les bases de données sont un problème difficile. La base de données de l'avenir devrait évoluer de manière transparente sans intervention », a-t-il ajouté.
C'est à cet enjeu que s'attaque PlanetScale. Actuellement utilisé par Figma et MessageBird, PlanetScale fournit une version hébergée de Vitess, la base de données open source qui sous-tend YouTube, Slack, Square et AirBNB. La nouvelle offre va bien au-delà de ces fondations avec une base de données qui ne nécessite aucune connaissance ou sélection de toutes les zones habituelles du cloud, des tailles de cluster et d'autres minuties liées à la base de données que d'autres exigeraient et qui augmentent les frais généraux des développeurs.
PlanetScale est en outre une base de données sans serveur compatible avec MySQL. Selon la société, PlanetScale accélère le succès des entreprises en étant à la fois le meilleur choix pour les développeurs le premier jour, lorsqu'ils créent leur entreprise, et le choix le plus évolutif lorsqu'ils atteignent l'hyperscale. « Comme le savent les ingénieurs de toute entreprise à croissance rapide, les premières décisions de mise à l'échelle ont un impact énorme sur votre capacité à fournir votre produit aux clients à mesure que l'entreprise se développe », a déclaré Karl Matthias, directeur de la plateforme et de l'architecture chez Community.
« Peu d'équipes disposent de l'expertise nécessaire pour concevoir et gérer des systèmes de données évolutifs qui vous permettent de vous concentrer sur la création de valeur pour les clients, au lieu de faire des exercices de mise à l'échelle. C'est l'offre de PlanetScale et, à ma connaissance, elle est unique dans le secteur », a-t-il ajouté.
Les caractéristiques de PlanetScale
Branching (branchement)
La société a déclaré que le branchement est une fonctionnalité essentielle de PlanetScale qui permet d'effectuer des modifications non bloquantes du schéma. Dans PlanetScale, une branche de base de données est une base de données distincte qui est déployée avec une copie du schéma de la base de données principale. Toutes les modifications du schéma de la base de données doivent être effectuées sur une branche de la base de données de développement avant d'être déployées en production. Pour s'adapter au flux de travail d'un développeur, PlanetScale utilise un modèle de branchement similaire à Git.
La création d'une branche de base de données permet aux développeurs de créer une copie exacte du schéma de leur base de données de production. Ils peuvent utiliser cette branche pour tester les changements apportés au schéma. Une fois que les développeurs ont testé leurs modifications, ils peuvent appliquer en toute sécurité les changements à leur base de données de production. Le branchement permet de modifier le schéma en ligne, de manière asynchrone. (En ligne signifie que cela ne bloquera pas la production ou les insertions et les sélections sur votre base de données.)
Selon l'entreprise, le branchement accélère le développement en permettant aux développeurs d'itérer rapidement sans se soucier de l'impact sur leur environnement de production.
Des modifications non bloquantes du schéma
Les modifications non bloquantes du schéma dans PlanetScale alimentent un flux de travail de modification du schéma qui permet aux utilisateurs de mettre à jour les tables de la base de données sans verrouiller ou causer de temps d'arrêt pour les bases de données de production. PlanetScale permet de déployer en toute sécurité les modifications du schéma dans les bases de données de production via les branches Développement et Production. Les branches de production (principales) ne peuvent être supprimées et ne peuvent être mises à jour qu'à l'aide de demandes de déploiement.
Les branches de développement constituent une base de données distincte avec une copie du schéma de la branche principale. Les développeurs peuvent apporter des modifications au schéma dans les branches de développement, les tester localement et ouvrir une demande de déploiement pour déployer leurs modifications dans la base de données de production. Ils peuvent aussi commenter les demandes de déploiement et demander aux réviseurs d'approuver une demande de déploiement avant que ses modifications de schéma puissent être déployées dans la branche principale de la base de données.
Actuellement, la demande d'approbation est un paramètre qui est désactivé par défaut. Lorsque ce paramètre est désactivé, les développeurs n'ont pas besoin d'approbation pour fusionner une demande de déploiement.
Sécurité
« Chez PlanetScale, nous nous engageons à fournir une plateforme de base de données puissante et facile à utiliser, tout en assurant la sécurité et la conformité de vos données. Nous prenons la sécurité très au sérieux et nous travaillons dur pour assurer la sécurité et l'intégrité continues des données stockées sur notre plateforme », a écrit l'équipe dans la documentation de l'outil. La sécurité de PlanetScale est caractérisée par les éléments suivants :
- certification SOC2 : PlanetScale cherche actuellement à obtenir la certification SOC2. L'équipe a annoncé avoir mis en place tous les contrôles SOC2 pertinents et peut fournir sur demande un rapport non audité avec une attestation de l'auditeur ;
- chiffrement au repos : toutes les données stockées sont chiffrées au repos sur la plateforme PlanetScale. Cela permettrait de réduire le risque d'accès involontaire ou malveillant aux données des utilisateurs sur les systèmes de stockage ;
- accès et gestion : l'équipe a déclaré qu'elle fournit une authentification configurable, une journalisation des audits et une gestion des accès des utilisateurs.
Source : PlanetScale
Et vous ?
Que pensez-vous de PlanetScale et de ses caractéristiques ?
Selon vous, les développeurs ont-ils besoin d'une base de données sans la contrainte de la gestion d'un schéma ? Pourquoi ?
Selon vous, quelles sont les contraintes liées à la gestion d'un schéma dans une base de données MySQL ?
Avez-vous déjà utilisé Vitess, la technologie sous-jacente de PlanetScale ? Si oui, quels sont vos commentaires ?
Voir aussi
Microsoft fait l'acquisition de Citus Data l'extension qui transforme PostgreSQL en une base de données distribuée
MariaDB SkySQL : La nouvelle mise à jour majeure de la base de données Cloud intègre les bases SQL distribuées pour garantir évolutivité et élasticité
DuckDB, une base de données SQL intégrable comme SQLite, supporte les fonctionnalités de PostgreSQL, conçu pour le traitement et le stockage d'ensembles de données tabulaires
Dolt, une base de données SQL avec des fonctions de contrôle de version, qui peut être forké, cloné, dérivé et DoltHub, un site Web qui héberge les BDD Dolt, décrit comme un Git pour les BDD