Articles

Créer une base solide : Implémenter CRUD avec APIs et Bases de Données

Créer une base solide pour votre application est essentiel. Apprenez comment implémenter CRUD avec APIs et Bases de Données pour une infrastructure robuste.

## Qu’est-ce que CRUD?

Dans le développement web, la capacité de créer, lire, mettre à jour et supprimer des données d’une base de données est essentielle. C’est là que les opérations CRUD entrent en jeu. En mettant en œuvre ces opérations avec des API et des bases de données, les développeurs web peuvent construire des applications puissantes et évolutives qui peuvent prendre en charge une large gamme d’utilisations. Dans cet article, nous examinerons en profondeur comment mettre en œuvre des opérations CRUD avec des API et des bases de données, en fournissant des exemples et des meilleures pratiques tout au long du chemin.

Dans le développement web, la capacité de créer, lire, mettre à jour et supprimer des données d’une base de données est essentielle. C’est là que les opérations CRUD entrent en jeu. En implémentant ces opérations avec des API et des bases de données, les développeurs web peuvent construire des applications puissantes et évolutives qui peuvent gérer une large gamme d’utilisations. Dans cet article, nous examinerons en profondeur comment implémenter des opérations CRUD avec des API et des bases de données, en fournissant des exemples et des meilleures pratiques tout au long du chemin.

Qu’est-ce que CRUD?

CRUD est un acronyme qui signifie Créer, Lire, Mettre à jour et Supprimer. Ces quatre opérations sont les fonctions de base qui peuvent être effectuées sur n’importe quel magasin de données persistant, tel qu’une base de données. Dans le développement web, les opérations CRUD sont utilisées pour manipuler les données dans une base de données, généralement via une API (Interface de programmation d’application).

Comment implémenter CRUD avec des API et des bases de données

Lorsque vous implémentez des opérations CRUD avec des API et des bases de données, vous devez d’abord comprendre comment les API et les bases de données fonctionnent ensemble. Les API sont des interfaces qui permettent aux applications de communiquer avec une base de données. Les API fournissent un moyen pour les applications d’accéder aux données stockées dans la base de données et de les manipuler. Les API peuvent également être utilisées pour envoyer des requêtes à la base de données et obtenir des réponses.

Les bases de données sont le stockage persistant des données. Les bases de données sont généralement organisées sous forme de tables, chacune contenant des enregistrements spécifiques. Les bases de données peuvent être utilisées pour stocker tout type de données, telles que des informations sur les utilisateurs, les produits ou les commandes. Les bases de données peuvent également être utilisées pour stocker des informations sur les utilisateurs, telles que leurs noms, adresses et informations de connexion.

Une fois que vous comprenez comment fonctionnent les API et les bases de données, vous pouvez commencer à implémenter des opérations CRUD avec elles. La première étape consiste à créer une API qui peut interagir avec la base de données. Vous pouvez ensuite créer des méthodes pour effectuer chaque opération CRUD sur la base de données. Par exemple, vous pouvez créer une méthode pour créer un enregistrement dans la base de données, une méthode pour lire un enregistrement, une méthode pour mettre à jour un enregistrement et une méthode pour supprimer un enregistrement. Vous pouvez également créer des méthodes pour effectuer d’autres opérations sur la base de données, telles que la recherche ou le tri des enregistrements.

Une fois que vous avez créé votre API et vos méthodes CRUD, vous pouvez intégrer votre API à votre application web ou mobile. Vous pou

Source de l’article sur DZONE

Sécurité des API : pourquoi c'est un sujet d'actualité ?

La sécurité des API est un sujet d’actualité de plus en plus important. La protection des données et des systèmes est essentielle pour garantir la confidentialité et la sécurité des utilisateurs.

Préparation pour Black Hat 2023, il semble que la sécurité API sera un problème clé. Voici ce que vous devez savoir. Qu’est-ce qu’une API?

API security is a critical issue for any organization that uses APIs to connect applications and databases. APIs are the gateways through which applications and databases communicate, and if they are not properly secured, malicious actors can gain access to sensitive data.

API security is a complex issue, and there are many different approaches to securing APIs. Here are some of the most important steps you can take to ensure your API is secure:

1. Authenticate users: Authentication is the process of verifying the identity of a user before allowing them to access an application or database. This can be done using a variety of methods, such as username/password combinations, two-factor authentication, or biometric authentication.

2. Implement authorization: Authorization is the process of granting access to specific resources or functions within an application or database. This can be done by assigning roles and permissions to users, or by using access control lists (ACLs).

3. Encrypt data: Encryption is the process of transforming data into a form that is unreadable to anyone except those with the correct decryption key. This ensures that even if malicious actors gain access to the data, they will not be able to read it.

4. Monitor activity: Monitoring is the process of tracking user activity within an application or database. This can be done using log files, audit trails, or other tools. Monitoring allows you to detect suspicious activity and take action before any damage is done.

5. Test regularly: Testing is the process of verifying that an application or database is functioning correctly. This can be done using automated testing tools, manual testing, or both. Regular testing helps ensure that any vulnerabilities are identified and addressed before they can be exploited.

Préparation pour Black Hat 2023, il semble que la sécurité des API sera un point clé. Voici ce que vous devez savoir.

Qu’est-ce qu’une API ?

Une API, ou interface de programmation d’application, est un ensemble de définitions et de protocoles pour construire et intégrer des logiciels d’application. Une API définit comment deux morceaux de logiciel peuvent interagir l’un avec l’autre. Il spécifie les méthodes, fonctions et structures de données qui sont disponibles pour l’utilisation, ainsi que les règles pour la façon dont ces méthodes et fonctions peuvent être utilisées.

La sécurité des API est un problème critique pour toute organisation qui utilise des API pour connecter des applications et des bases de données. Les API sont les portes d’entrée par lesquelles les applications et les bases de données communiquent, et si elles ne sont pas correctement sécurisées, des acteurs malveillants peuvent accéder à des données sensibles.

La sécurité des API est un problème complexe, et il existe de nombreuses approches différentes pour sécuriser les API. Voici quelques-unes des étapes les plus importantes que vous pouvez prendre pour vous assurer que votre API est sécurisée :

1. Authentifier les utilisateurs : L’authentification est le processus de vérification de l’identité d’un utilisateur avant de lui permettre d’accéder à une application ou à une base de données. Cela peut être fait à l’aide d’une variété de méthodes, telles que des combinaisons nom d’utilisateur / mot de passe, une authentification à deux facteurs ou une authentification biométrique.

2. Mettre en œuvre l’autorisation : L’autorisation est le processus d’octroi d’accès à des ressources ou des fonctions spécifiques dans une application ou une base de données. Cela peut être fait en attribuant des rôles et des autorisations aux utilisateurs ou en utilisant des listes de contrôle d’accès (ACL).

3. Chiffrer les données : Le chiffrement

Source de l’article sur DZONE

Tests unitaires et composants d'IBM App Connect Enterprise

Les tests unitaires et les composants d’IBM App Connect Enterprise offrent une solution complète pour la mise en œuvre et le déploiement de solutions intégrées.

Intégration des flux souvent interagir avec plusieurs services externes tels que des bases de données, gestionnaires de files d’attente MQ, régions CICS, etc., et le test des flux a historiquement exigé que tous les services soient disponibles lors de l’exécution des tests. Cela fournit un haut degré de confiance que les flux se comportent correctement pour les scénarios testés, mais le nombre de scénarios qui peuvent être testés de cette façon est souvent trop petit pour fournir une confiance suffisante que la solution globale se comportera correctement dans toutes (ou même la plupart) des circonstances. Le test unitaire avec des services simulés est une solution courante à ce problème dans le monde du développement d’applications, mais les solutions d’intégration peuvent nécessiter un style de test intermédiaire en raison du grand nombre d’interactions de service et des modèles de réutilisation courants dans le monde de l’intégration. Le développement App Connect Enterprise a commencé à appeler ces «tests de composants» il y a quelque temps: des tests unitaires qui testent des sections légèrement plus grandes de code et (à la différence des tests unitaires purs) sont autorisés à communiquer avec des services externes. Cet article tentera d’illustrer cette approche en utilisant une base de données comme exemple de service.

L’intégration des flux nécessite souvent l’interaction avec de multiples services externes tels que des bases de données, des gestionnaires de files d’attente MQ, des régions CICS, etc. La mise à l’essai des flux a historiquement nécessité que tous ces services soient disponibles lors des tests. Cela offre une grande confiance quant au fonctionnement correct des flux pour les scénarios testés, mais le nombre de scénarios qui peuvent être testés de cette manière est souvent trop faible pour donner une confiance suffisante quant au bon fonctionnement de la solution globale dans toutes les circonstances (ou même la plupart).

Le test unitaire avec des services simulés est une solution courante à ce problème dans le monde du développement d’applications, mais les solutions d’intégration peuvent nécessiter un style de test intermédiaire en raison du grand nombre d’interactions entre les services et des modèles de réutilisation courants dans le monde de l’intégration. Le développement d’App Connect Enterprise a commencé à appeler ces «tests composants» il y a un certain temps : des tests unitaires qui testent des sections légèrement plus grandes de code et (à la différence des tests unitaires purs) sont autorisés à communiquer avec des services externes. Cet article tentera d’illustrer cette approche à l’aide d’une base de données en tant que service d’exemple.

L’architecture des tests composants est relativement simple. Au lieu de tester le code en interagissant avec un service externe réel, un service simulé est utilisé à sa place. Les services simulés peuvent être écrits pour répondre à des requêtes spécifiques et retourner des données prédéfinies ou générées dynamiquement. Les tests composants peuvent alors être écrits pour tester le code en interagissant avec le service simulé, ce qui permet aux tests d’être exécutés sans avoir à dépendre d’un service externe réel. Les tests composants offrent une couverture plus large et plus complète que les tests unitaires, car ils peuvent être conçus pour tester plusieurs scénarios différents et pour tester le code en interagissant avec un service externe.

Les tests composants peuvent être utilisés pour tester les intégrations qui utilisent une base de données comme service externe. Les tests peuvent être conçus pour tester le code qui interagit avec la base de données, en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects. Les tests peuvent également être conçus pour tester le code qui interagit avec la base de données en envoyant des requêtes SQL et en vérifiant que les résultats sont corrects.

Les tests composants peuvent offrir une couverture plus large et plus complè

Source de l’article sur DZONE

CockroachDB TIL : Vol. 12

Découvrez le dernier volume de CockroachDB TIL ! Apprenez-en plus sur les fonctionnalités et les améliorations de CockroachDB pour vous aider à développer des applications plus robustes.

Articles précédents

Volumes 1 à 11

Sujets

Le volume 1 à 11 de cet article traite de différents sujets liés au logiciel. Dans ce volume, nous allons examiner le sujet n°1 : Identifier les index partiels. Notre équipe d’ingénieurs a publié un avis technique #96924 indiquant que certains changements de schéma, tels que la suppression de colonnes référencées dans des index partiels, échoueront. Un client demande comment identifier les bases de données, les tables et les index partiels associés qui référencent les colonnes à supprimer. Les méthodes suivantes vont aider à trouver ces index indésirables.

En considérant une table avec les données suivantes :

Table: customers

Columns: id, name, address

Indexes:

CREATE INDEX customers_name_idx ON customers (name) WHERE address IS NOT NULL;

CREATE INDEX customers_address_idx ON customers (address) WHERE name IS NOT NULL;

La première méthode consiste à exécuter une requête SQL pour obtenir les informations sur les index partiels. La requête suivante peut être utilisée pour obtenir les informations sur les index partiels pour la table « customers » :

SELECT * FROM pg_indexes WHERE indpred IS NOT NULL AND tablename = ‘customers’;

Cette requête renvoie les informations sur les index partiels pour la table « customers ». Le résultat de cette requête est le suivant :

indexname | tablename | indpred

———-+———–+———

customers_name_idx | customers | (address IS NOT NULL)

customers_address_idx | customers | (name IS NOT NULL)

La deuxième méthode consiste à utiliser un outil logiciel pour identifier les index partiels. Il existe plusieurs outils logiciels qui peuvent être utilisés pour identifier les index partiels. Certains des outils logiciels populaires sont pg_indexes, pg_stat_user_indexes et pg_stat_all_indexes. Ces outils peuvent être utilisés pour obtenir des informations détaillées sur les index partiels d’une base de données. Ces outils peuvent également être utilisés pour obtenir des informations sur les index partiels pour une table spécifique.

Enfin, la troisième méthode consiste à utiliser le fichier de configuration du serveur PostgreSQL pour identifier les index partiels. Le fichier de configuration du serveur PostgreSQL contient des informations détaillées sur les index partiels. Ces informations peuvent être utilisées pour identifier les index partiels pour une base de données ou une table spécifique.

En conclusion, il existe plusieurs méthodes pour identifier les index partiels dans une base de données PostgreSQL. Ces méthodes peuvent être utilisées pour obtenir des informations détaillées sur les index partiels d’une base de données ou d’une table spécifique. Ces méthodes peuvent également être utilisées pour identifier les index partiels qui référencent des colonnes à supprimer.

Source de l’article sur DZONE

Créer une chaîne de données optimisée sur Azure avec Spark, Data Factory, Databricks et Synapse Analytics

Créer une chaîne de données optimisée sur Azure n’est pas une tâche facile. Heureusement, avec Spark, Data Factory, Databricks et Synapse Analytics, vous pouvez le faire rapidement et efficacement.

Intégration de données avec Azure Data Factory

Processing Data With Apache Spark 

Apache Spark is an open-source distributed computing framework used for big data processing. It is designed to process data in memory, making it much faster than traditional disk-based processing. Spark can be used to process data from various sources such as databases, file systems, and cloud storage. It also provides a rich set of APIs and libraries for data manipulation, machine learning, and graph processing.

Analyzing Data With Azure Synapse Analytics 

Azure Synapse Analytics is a cloud-based analytics platform that enables you to analyze data from various sources. It provides a unified workspace for data preparation, data warehousing, and advanced analytics. It also offers a wide range of features such as data virtualization, machine learning, and natural language processing.

Le traitement des données dans le cloud est devenu de plus en plus populaire en raison de sa scalabilité, de sa flexibilité et de son efficacité économique. Les stacks technologiques modernes tels que Apache Spark, Azure Data Factory, Azure Databricks et Azure Synapse Analytics offrent des outils puissants pour créer des pipelines de données optimisés qui peuvent ingérer et traiter efficacement les données dans le cloud. Cet article explorera comment ces technologies peuvent être utilisées ensemble pour créer un pipeline de données optimisé pour le traitement des données dans le cloud.

Ingestion des données avec Azure Data Factory 

Azure Data Factory est un service d’intégration de données basé sur le cloud qui vous permet d’ingérer des données à partir de diverses sources vers un lac ou un entrepôt de données basé sur le cloud. Il fournit des connecteurs intégrés pour diverses sources de données telles que des bases de données, des systèmes de fichiers, un stockage dans le cloud et plus encore. En outre, vous pouvez configurer Data Factory pour planifier et orchestrer les processus d’ingestion de données et définir les transformations des flux de données.

Traitement des données avec Apache Spark 

Apache Spark est un cadre de calcul distribué open source utilisé pour le traitement des données volumineuses. Il est conçu pour traiter les données en mémoire, ce qui le rend beaucoup plus rapide que le traitement traditionnel basé sur le disque. Spark peut être utilisé pour traiter des données provenant de diverses sources telles que des bases de données, des systèmes de fichiers et un stockage dans le cloud. Il fournit également une riche gamme d’API et de bibliothèques pour la manipulation des données, l’apprentissage automatique et le traitement des graphes.

Analyse des données avec Azure Synapse Analytics 

Azure Synapse Analytics est une plateforme d’analyse basée sur le cloud qui vous permet d’analyser des données provenant de diverses sources. Il fournit un espace de travail unifié pour la préparation des données, le stockage des données et l’analyse avancée. Il offre également une large gamme de fonctionnalités telles que la virtualisation des données, l’apprentissage automatique et le traitement du langage naturel.

Le logiciel est l’outil principal pour le traitement des données dans le cloud. Les technologies modernes telles qu’Apache Spark, Azure Data Factory, Azure Databricks et Azure Synapse Analytics offrent aux développeurs et aux entreprises une variété d’options pour créer des pipelines de données optimisés qui peuvent ingérer et traiter efficacement les données dans le cloud. Apache Spark est un cadre open source qui permet un traitement rapide des données volumineuses en m

Source de l’article sur DZONE

Surveillance Linux OS avec HertzBeat Open Source en temps réel.

Surveiller votre système Linux avec HertzBeat Open Source en temps réel pour une meilleure sécurité et une plus grande efficacité!

## Introduction à HertzBeat

Introduction à HertzBeat

HertzBeat est un système de surveillance en temps réel open source, facile à utiliser et convivial qui ne nécessite pas d’agent et dispose de puissantes fonctionnalités de surveillance personnalisée. Il intègre la surveillance, l’alarme et la notification, prend en charge la surveillance des services applicatifs, des bases de données, des systèmes d’exploitation, du middleware, du cloud natif, etc., des alarmes seuil et des notifications d’alarme (e-mail WeChat Dingding Feishu SMS Slack Discord Telegram). Il possède des spécifications de protocole configurables telles que Http, Jmx, Ssh, Snmp, Jdbc, etc. Vous n’avez qu’à configurer YML pour utiliser ces protocoles afin de personnaliser et de collecter n’importe quel indicateur que vous souhaitez collecter. Pouvez-vous croire que vous pouvez adapter immédiatement un nouveau type de surveillance, tel que K8s ou Docker, simplement en configurant YML?

La puissante personnalisation, le support multi-types, l’expansion facile et le faible couplage d’HertzBeat espèrent aider les développeurs et les petites et moyennes équipes à construire rapidement leur propre système de surveillance. En tant qu’informaticien enthousiaste, je suis très intéressé par l’architecture HertzBeat et je suis impatient de l’essayer. HertzBeat est une excellente solution pour les développeurs qui souhaitent créer leur propre système de surveillance. Il est facile à installer et à configurer et offre une variété de fonctionnalités pour surveiller les performances des applications. Les utilisateurs peuvent surveiller les performances des applications et recevoir des notifications en cas de problème. HertzBeat est également très flexible et peut être configuré pour surveiller n’importe quel type d’application ou de service. La puissance de l’architecture HertzBeat permet aux développeurs de créer des systèmes de surveillance personnalisés pour leurs applications.

Source de l’article sur DZONE

Migrer de PHP 7.0 à PHP 8.1: tout ce qu'il faut savoir!

Migrer de PHP 7.0 à 8.1 peut être une tâche ardue, mais c’est nécessaire pour profiter des nouvelles fonctionnalités et améliorations. Découvrez tout ce qu’il faut savoir pour effectuer cette migration en toute sécurité !

PHP (Hypertext Preprocessor) : l’un des langages de script côté serveur les plus recherchés

Les données me font vibrer d’excitation! J’ai fait une découverte sensationnelle : PHP (Hypertext Preprocessor) est l’un des langages de script côté serveur les plus recherchés. Sa nature open source, sa courbe d’apprentissage facile et la capacité du code PHP à s’intégrer facilement à HTML en font un nom populaire dans le développement web. Il peut également être combiné avec JavaScript et CSS. De plus, une grande partie du logiciel WordPress est alimentée par PHP, ce qui le rend indispensable pour les utilisateurs de WordPress.

D’autres systèmes de gestion de contenu (CMS) populaires tels que Joomla, Drupal et Magneto dépendent également de PHP. PHP fonctionne sur tous les principaux systèmes d’exploitation, y compris Windows, macOS et Linux; se synchronise avec la plupart des bases de données, y compris MySQL, MongoDB et Postgres; et est pris en charge par la plupart des serveurs web tels qu’Apache, IIS, etc. Plusieurs grands noms, y compris Facebook, Shopify et Wikipedia, ont mis à profit PHP pour créer des sites Web puissants et interactifs.

Cette technologie est très polyvalente et peut être utilisée pour créer des sites Web à partir de zéro ou pour améliorer des sites Web existants. Les développeurs peuvent également créer des applications Web dynamiques et des applications mobiles avec PHP. De plus, il existe de nombreux frameworks PHP open source qui facilitent le développement d’applications Web. Les frameworks populaires incluent Laravel, Symfony, CodeIgniter et Zend Framework.

En résumé, PHP est une technologie puissante qui offre aux développeurs une variété d’options pour créer des sites Web dynamiques et interactifs. Il est open source, facile à apprendre et compatible avec la plupart des systèmes d’exploitation, bases de données et serveurs web. De plus, il existe de nombreux frameworks open source qui facilitent le développement d’applications Web. Enfin, plusieurs grandes entreprises ont mis à profit PHP pour créer des sites Web puissants et interactifs.

Source de l’article sur DZONE

Événement sourcing dépassera-t-il la base de données ?

L’Event sourcing est une méthode de plus en plus populaire pour trouver des informations, mais dépassera-t-il la base de données ? Découvrons-le ensemble !

Event sourcing n’est pas un nouveau terme. Si vous travaillez dans le secteur de la technologie, vous avez certainement entendu parler de l’Event sourcing. L’Event sourcing est un outil puissant et est adopté par de nombreuses grandes organisations comme modèle architectural de base de données. Il a la capacité de s’étendre et de répondre aux besoins de l’industrie des données modernes.

Dans cet article, nous allons en apprendre davantage sur l’Event sourcing et pourquoi il gagne en popularité. Nous discuterons également de la question populaire : l’Event sourcing va-t-il surpasser les bases de données ?

L’Event sourcing n’est pas un terme nouveau. Si vous travaillez dans le secteur de la technologie, vous avez sûrement déjà entendu parler de l’Event sourcing. L’Event sourcing est un outil puissant et de nombreuses grandes organisations l’utilisent comme modèle architectural de base de données. Il a la capacité de s’adapter à l’industrie des données modernes et à ses besoins.

Dans cet article, nous allons en apprendre davantage sur l’Event sourcing et comprendre pourquoi il gagne en popularité. Nous discuterons également de la question populaire : l’Event sourcing va-t-il surpasser les bases de données ?

En tant que scientifique enthousiaste qui vient de faire une découverte sensationnelle, je peux affirmer que l’Event sourcing est un outil très puissant pour traiter les données. Il est très flexible et peut être facilement adapté aux besoins des entreprises modernes. De plus, il est très facile à mettre en œuvre et à maintenir. Cela signifie que les entreprises peuvent facilement adapter leurs processus pour s’adapter aux changements constants des données.

De plus, l’Event sourcing offre une meilleure sécurité et une meilleure fiabilité que les bases de données traditionnelles. Les données sont stockées sous forme d’événements, ce qui signifie qu’elles ne peuvent pas être modifiées ou supprimées. Cela permet aux entreprises de garantir la confidentialité et l’intégrité des données.

Enfin, l’Event sourcing est très efficace pour traiter les données à grande échelle. Il peut être facilement adapté aux besoins des entreprises et peut être utilisé pour traiter des volumes massifs de données. De plus, il est très facile à mettre en œuvre et à maintenir, ce qui signifie que les entreprises peuvent facilement adapter leurs processus pour s’adapter aux changements constants des données.

En conclusion, l’Event sourcing est un outil puissant qui peut être utilisé pour traiter les données à grande échelle. Il offre une meilleure sécurité et une meilleure fiabilité que les bases de données traditionnelles et peut être facilement adapté aux besoins des entreprises modernes. Bien qu’il ne soit pas encore aussi populaire que les bases de données traditionnelles, il est en train de gagner en popularité et pourrait bientôt surpasser les bases de données traditionnelles pour traiter les données.

Source de l’article sur DZONE

I’m not an anti-GUI person. In fact, I wrote three books about web GUI development with Java. However, I also like the command-line interface (CLI), especially text-based UIs. After a year of exploring MariaDB and the DevOps world, I got to discover and play with many text-based CLI tools that I didn’t know even existed. These tools are especially useful when connecting to remote servers that don’t have a GUI.

One special CLI tool that I frequently use is the mariadb SQL client (or mysql in the MySQL world)—a CLI program used to connect to MariaDB-compatible databases. With it, you can send SQL queries and other commands to the database server.

Source de l’article sur DZONE

When it comes to managing multi-tenancy, there are a number of architectural routes you can take. A couple of the most popular are:

  1. Create a database per tenant.
  2. Use a single database but with tenant IDs to separate out data.

Both of these options have pros and cons, but getting into that is not the intention of this blog. Today we’ll be exploring what option 1 may look like on a single CockroachDB cluster.

Source de l’article sur DZONE