Articles

Systèmes distribués: le split-brain

Les systèmes distribués sont une technologie complexe qui peut présenter des risques, tels que le split-brain. Apprenons à mieux comprendre ce phénomène et à le gérer.

Le problème du Split-Brain

Split-brain can be caused by a variety of factors, including network partitions, hardware failures, or software bugs. It can also be triggered by intentional actions, such as when an administrator deliberately isolates a node from the cluster. In any case, the result is the same: two or more isolated groups of nodes, each with its own view of the data.

Real-World Example

A real-world example of split-brain occurred in 2017 when a major outage affected Amazon Web Services’ S3 storage service. The outage was caused by a network partition that split the S3 cluster into two isolated groups. As a result, some requests to the S3 service were routed to one group, while others were routed to the other group. This caused data inconsistency and led to widespread disruption.

The S3 outage serves as a reminder of the importance of testing distributed systems for split-brain scenarios. While it is impossible to completely eliminate the risk of split-brain, it is possible to reduce the impact by designing systems that are resilient to network partitions and other forms of failure.

Best Practices

When designing distributed systems, it is important to consider how the system will handle split-brain scenarios. In some cases, it may be possible to use techniques such as quorum or leader election to minimize the impact of split-brain. However, these techniques should be used with caution, as they can introduce additional complexity and overhead.

In general, the best approach is to design systems that are resilient to network partitions and other forms of failure. This can be achieved by using techniques such as replication, redundancy, and fault tolerance. It is also important to test distributed systems for split-brain scenarios before they are deployed in production.

Le problème du Split-Brain

Dans les systèmes distribués, il est essentiel de maintenir une vue cohérente des données sur tous les nœuds pour un fonctionnement correct. Lorsqu’un scénario de split-brain se produit, chaque groupe partitionné peut recevoir des mises à jour différentes, ce qui entraîne une incohérence des données et rend difficile la résolution des conflits lorsque les partitions se reconnectent finalement.

Le split-brain peut être causé par une variété de facteurs, notamment des partitions réseau, des pannes matérielles ou des bogues logiciels. Il peut également être déclenché par des actions intentionnelles, telles que lorsqu’un administrateur isole délibérément un nœud du cluster. Dans tous les cas, le résultat est le même : deux ou plusieurs groupes isolés de nœuds, chacun ayant sa propre vue des données.

Exemple concret

Un exemple concret de split-brain s’est produit en 2017 lorsqu’une panne majeure a affecté le service de stockage S3 d’Amazon Web Services. La panne était causée par une partition réseau qui a divisé le cluster S3 en deux groupes isolés. En conséquence, certaines demandes au service S3 ont été acheminées vers un groupe, tandis

Source de l’article sur DZONE

Eclipse JNoSQL 1.0.2 : Flexibilité NoSQL pour Java

Avec Eclipse JNoSQL 1.0.2, découvrez la flexibilité des bases de données NoSQL pour Java et profitez des avantages qu’elles offrent.

L’intersection entre Java et les bases de données NoSQL représente une frontière dynamique où l’innovation prospère dans le développement logiciel moderne.

The combination of Java and NoSQL databases is a powerful one. Java provides a stable and reliable platform for building applications, while NoSQL databases offer the flexibility and scalability needed to manage large amounts of data. Together, they form the foundation of many modern software solutions, from web-based applications to mobile apps.

Dans le développement de logiciels modernes, l’intersection entre Java et les bases de données NoSQL représente une frontière dynamique où l’innovation prospère. Réputé pour sa fiabilité et sa polyvalence, Java continue d’être un pilier du monde de la programmation, alimentant diverses applications, des systèmes d’entreprise aux applications mobiles Android. Simultanément, l’augmentation de la génération de données et le besoin de solutions de stockage de données flexibles ont conduit à l’émergence des bases de données NoSQL en tant que technologie essentielle.

Les bases de données NoSQL offrent une alternative convaincante aux bases de données relationnelles traditionnelles en offrant une scalabilité, une adaptabilité et des performances qui s’alignent parfaitement sur les exigences des applications axées sur les données d’aujourd’hui. Ils excellent dans la gestion des données non structurées ou semi-structurées, ce qui en fait un choix idéal pour divers cas d’utilisation, notamment les systèmes de gestion de contenu, l’analyse en temps réel et les applications IoT.

La combinaison de Java et de bases de données NoSQL est puissante. Java fournit une plate-forme stable et fiable pour la construction d’applications, tandis que les bases de données NoSQL offrent la flexibilité et la scalabilité nécessaires pour gérer de grandes quantités de données. Ensemble, ils forment la base de nombreuses solutions logicielles modernes, des applications Web aux applications mobiles.

Source de l’article sur DZONE

Libre de coder sur des plateformes low-code.

Libre de coder sans limites sur des plateformes low-code, découvrez les avantages de cette nouvelle façon de développer des applications !

## Les plateformes low-code offrent une visibilité, une extensibilité et une propriété partielle ou complète du code. Ces caractéristiques varient considérablement d’un fournisseur à l’autre. Les développeurs professionnels peuvent réaliser leur plein potentiel sur les plateformes low-code uniquement avec une liberté complète pour accéder et modifier le code.

Low-code development platforms provide a database-driven approach to application development. This means that the data used in the application is stored in a database, and the application is built on top of this data. This approach allows for faster development, as the data can be accessed quickly and easily. Additionally, it allows for better scalability, as the application can be easily adapted to different databases or data sources.

Les plates-formes de développement low-code offrent une variété significative en termes d’accès, de visibilité, d’extensibilité et de propriété du code. Les développeurs professionnels peuvent réaliser leur plein potentiel sur ces plates-formes low-code uniquement s’ils ont la liberté complète d’accéder et de modifier le code.

Ces dernières années, les plates-formes de développement low-code ont gagné en popularité, permettant aux utilisateurs de créer des applications avec un minimum de connaissances ou d’expérience en programmation. Elles abstraient une grande partie de la complexité impliquée dans le codage traditionnel en fournissant des composants préconstruits et des interfaces visuelles.

Les plates-formes de développement low-code offrent une approche basée sur une base de données pour le développement d’applications. Cela signifie que les données utilisées dans l’application sont stockées dans une base de données et que l’application est construite à partir de ces données. Cette approche permet un développement plus rapide, car les données peuvent être facilement et rapidement accessibles. De plus, elle permet une meilleure évolutivité, car l’application peut être facilement adaptée à différentes bases de données ou sources de données.

En outre, les plates-formes de développement low-code offrent une flexibilité supplémentaire en ce qui concerne la gestion des bases de données. Les utilisateurs peuvent choisir entre différents types de bases de données, ce qui leur permet d’adapter leur application à leurs besoins spécifiques. Les plates-formes low-code offrent également des outils pour gérer et maintenir la base de données, ce qui permet aux utilisateurs de garantir que leurs données sont sûres et à jour.

Enfin, les plates-formes low-code offrent une variété d’outils pour faciliter le développement et la gestion des applications. Ces outils comprennent des outils pour la gestion des versions, la surveillance des performances et la gestion des erreurs. Ces outils permettent aux développeurs de créer des applications plus robustes et fiables, ce qui améliore l’expérience utilisateur finale.

En conclusion, les plates-formes de développement low-code offrent aux développeurs une variété d’avantages en matière de base de données et d’outils pour le développement et la gestion des applications. Ces avantages permettent aux développeurs de créer des applications plus rapides, plus flexibles et plus fiables qui répondent aux besoins spécifiques des utilisateurs.

Source de l’article sur DZONE

Augmenter la sécurité AD avec MFA en local.

Augmenter la sécurité des réseaux locaux avec l’authentification à deux facteurs (MFA) est une solution efficace pour protéger les données sensibles. Découvrez comment mettre en place cette solution sur votre Active Directory !

Dans l’ère numérique d’aujourd’hui, le pilier de l’infrastructure informatique de toute organisation est son annuaire Active Directory (AD). Ce service d’annuaire centralisé gère l’authentification et l’autorisation, ce qui le rend essentiel pour protéger les données sensibles et maintenir l’intégrité du système.

To further enhance security, organizations are increasingly turning to database security best practices. This includes implementing robust access control measures, encrypting data, and regularly auditing and monitoring databases for suspicious activity.

Dans l’ère numérique d’aujourd’hui, le pilier de l’infrastructure informatique de toute organisation est son Active Directory (AD). Ce service de répertoire centralisé gère l’authentification et l’autorisation, ce qui est essentiel pour protéger les données sensibles et maintenir l’intégrité du système.

Cependant, à mesure que le paysage technologique évolue, les méthodes employées par les cybercriminels pour contourner les mesures de sécurité évoluent également. C’est là que l’authentification à facteurs multiples (MFA) entre en jeu, se présentant comme une défense redoutable contre l’accès non autorisé et les violations de données.

Pour renforcer davantage la sécurité, les organisations se tournent de plus en plus vers les meilleures pratiques de sécurité des bases de données. Cela inclut la mise en œuvre de mesures de contrôle d’accès robustes, le chiffrement des données et l’audit et le suivi réguliers des bases de données pour détecter toute activité suspecte.

Source de l’article sur DZONE

Apprendre le développement logiciel sans diplôme

Apprendre le développement logiciel sans diplôme est possible ! Avec des ressources en ligne, des tutoriels et des communautés de développeurs, vous pouvez acquérir les compétences nécessaires pour devenir un développeur logiciel.

Le développement de logiciels est devenu l’une des compétences les plus recherchées

Learn the Architecture of Software Development

Once you have a basic understanding of programming languages, it is time to learn about software development architecture. This includes learning about the different components of a software system, such as databases, user interfaces, and APIs. You should also understand the different types of software development models, such as Waterfall, Agile, and DevOps. Understanding the architecture of software development will help you make informed decisions when designing and building software systems.

Gain Practical Experience

The best way to learn software development is to gain practical experience. You can start by building small projects and gradually increase the complexity. You can also participate in open-source projects or join online coding challenges. Working on real-world projects will help you understand the nuances of software development and gain valuable insights into the industry.

Comprendre les bases

Le développement de logiciels est devenu l’une des compétences les plus recherchées. La demande de développeurs de logiciels qualifiés continue de croître et de nombreux candidats ambitieux sont impatients d’apprendre cette compétence, même s’ils n’ont pas de diplôme en informatique ou dans un domaine connexe. Si vous êtes passionné par le développement de logiciels et que vous vous demandez comment vous y prendre sans diplôme, cet article est là pour vous guider. Nous allons explorer diverses stratégies et ressources qui peuvent vous aider à entreprendre un voyage réussi dans le monde du développement de logiciels.

Apprendre l’architecture du développement de logiciels

Une fois que vous avez une compréhension de base des langages de programmation, il est temps d’apprendre l’architecture du développement de logiciels. Cela inclut l’apprentissage des différents composants d’un système logiciel, tels que les bases de données, les interfaces utilisateur et les API. Vous devriez également comprendre les différents types de modèles de développement de logiciels, tels que Waterfall, Agile et DevOps. Comprendre l’architecture du développement de logiciels vous aidera à prendre des décisions éclairées lors de la conception et de la construction de systèmes logiciels.

Gagner une expérience pratique

La meilleure façon d’apprendre le développement de logiciels est de gagner une expérience pratique. Vous pouvez commencer par créer de petits projets et augmenter progressivement la complexité. Vous pouvez également participer à des projets open source ou rejoindre des défis de codage en ligne. Travailler sur des projets réels vous aidera à comprendre les subtilités du développement de logiciels et à acquérir des connaissances précieuses sur l’industrie.

Source de l’article sur DZONE

Évolution des principaux outils de changement de schéma de base de données

Depuis l’avènement des bases de données, les outils permettant leur changement de schéma ont connu une évolution considérable. Découvrons-en plus sur ce sujet !

Migration de schéma de base de données peut être la zone la plus risquée dans le développement d’application – c’est difficile, risqué et douloureux. Les outils de migration de schéma de base de données existent pour soulager la douleur et ont fait des progrès considérables : des outils CLI de base aux outils GUI, des clients SQL simples à la plateforme de collaboration tout-en-un.

These tools are great for testing and debugging, but they can be difficult to use for schema migration. You need to understand the syntax of the SQL language and the structure of the database. If you don’t have the necessary skills, you may end up writing inefficient queries or making mistakes in your schema changes.

GUI Clients – MySQL Workbench / pgAdmin

MySQL Workbench and pgAdmin are graphical user interface (GUI) clients for MySQL and PostgreSQL respectively. They provide a graphical representation of your database schema, allowing you to easily view and modify the structure. You can also use them to write and execute queries.

These tools are great for schema migration, as they allow you to easily view and modify the structure of your database. However, they can be difficult to use for testing, as they don’t provide a way to easily execute multiple queries at once. Additionally, they can be slow when dealing with large databases.

Collaboration Database Platforms

Collaboration database platforms such as Liquibase, Flyway, and Redgate are designed to make database schema migration easier. These tools provide a graphical interface for viewing and modifying the structure of your database, as well as a way to execute multiple queries at once. They also provide version control, allowing you to easily track changes to your database schema.

These tools are great for both testing and schema migration. They provide an easy way to view and modify the structure of your database, as well as a way to easily execute multiple queries at once. Additionally, they provide version control, allowing you to easily track changes to your database schema.

Migration de schéma de base de données – un processus difficile et risqué

La migration de schéma de base de données est peut-être la zone la plus risquée dans le développement d’applications – c’est difficile, risqué et douloureux. Des outils de migration de schéma de base de données existent pour soulager la douleur et ont fait des progrès considérables : des outils en ligne de commande (CLI) aux outils graphiques (GUI), des clients SQL simples aux plateformes de collaboration tout-en-un.

Clients en ligne de commande (CLI) – MySQL / PSQL

MySQL et psql sont les CLI natifs pour MySQL et PostgreSQL respectivement. Vous pouvez envoyer des commandes ou des requêtes directement aux serveurs MySQL ou PostgreSQL à partir de la ligne de commande.

Ces outils sont excellents pour le test et le débogage, mais ils peuvent être difficiles à utiliser pour la migration de schéma. Vous devez comprendre la syntaxe du langage SQL et la structure de la base de données. Si vous n’avez pas les compétences nécessaires, vous risquez d’écrire des requêtes inefficaces ou de faire des erreurs dans vos modifications de schéma.

Clients graphiques (GUI) – MySQL Workbench / pgAdmin

MySQL Workbench et pgAdmin sont des clients d’interface utilisateur graphique (GUI) pour MySQL et PostgreSQL respectivement. Ils fournissent une représentation graphique de votre schéma de base de données, vous permettant de visualiser et de modifier facilement la structure. Vous pouvez également les utiliser pour écrire et exécuter des requêtes.

Ces outils sont excellents pour la migration de schéma, car ils vous permettent de visualiser et de modifier facilement la structure de votre base de données. Cependant, ils peuvent être difficiles à utiliser pour le test, car ils ne fournissent pas un moyen d’exécuter facilement plusieurs requêtes en même temps. De plus, ils peu

Source de l’article sur DZONE

Améliorer les performances d'une application : 8 astuces.

Vous souhaitez améliorer les performances de votre application ? Découvrez ici 8 astuces pour y parvenir !

Performance d’application est critique pour fournir une expérience utilisateur rapide et réactive. Les performances lentes ou la latence élevée peuvent conduire à des utilisateurs frustrés et à des pertes de revenus pour l’organisation.

Database performance is a key factor in application performance. Databases are responsible for storing and retrieving data, and if they are not optimized, they can become a bottleneck. Database performance can be improved by optimizing queries, indexing data, and using caching. Additionally, databases should be monitored to ensure that they are running efficiently and that any potential problems are identified and addressed quickly. By monitoring database performance, organizations can ensure that their applications are running smoothly and that their users are getting the best possible experience.

La performance des applications est essentielle pour offrir une expérience utilisateur rapide et réactive. Une performance lente ou une latence élevée peut entraîner des utilisateurs frustrés et des pertes de revenus pour l’organisation.

À un niveau élevé, la latence de l’application fait référence au délai entre la demande de l’utilisateur et la réponse de l’application. La latence peut non seulement affecter l’expérience utilisateur globale et diminuer l’engagement, mais elle peut également être un problème coûteux et compliqué. La performance de l’application a également un impact sur l’efficacité globale. Les applications lentes peuvent ralentir les processus commerciaux, entraînant une productivité réduite et des coûts accrus. Tous ces facteurs peuvent réduire la capacité d’une entreprise à se mesurer sur le marché. Dans le monde d’aujourd’hui, les clients s’attendent à des applications rapides et réactives. Les entreprises qui ne sont pas en mesure de satisfaire à cette exigence risquent de perdre des clients à des concurrents qui offrent une meilleure expérience utilisateur.

La performance de la base de données est un facteur clé de la performance de l’application. Les bases de données sont responsables du stockage et de la récupération des données, et si elles ne sont pas optimisées, elles peuvent devenir un goulot d’étranglement. La performance de la base de données peut être améliorée en optimisant les requêtes, en indexant les données et en utilisant le cache. De plus, les bases de données doivent être surveillées pour s’assurer qu’elles fonctionnent efficacement et que tout problème potentiel est identifié et traité rapidement. En surveillant la performance des bases de données, les organisations peuvent s’assurer que leurs applications fonctionnent correctement et que leurs utilisateurs bénéficient de la meilleure expérience possible.

Source de l’article sur DZONE

Retour vers le futur: Pages Web côté serveur avec Kotlin (Pt. 1)

Dans cette série, nous allons apprendre à créer des pages web côté serveur avec Kotlin. Vous découvrirez comment créer des applications web modernes et performantes. Prêt à voyager dans le futur ? Allons-y !

Le développement Web a subi de nombreux changements depuis que l’Internet est devenu populaire dans les années 1990 :

L’architecture du développement web a connu une variété de changements depuis que l’internet est devenu populaire dans les années 1990 :

Tout d’abord, il y a eu les pages HTML les plus basiques, complètement statiques, sans aucune dynamique. Plus tard, des technologies telles que l’interface commune de passerelle (Common Gateway Interface) ont permis de générer le code HTML d’une page de manière programmatique. Puis sont arrivés des moteurs de modèles tels que JavaServer Pages (maintenant Jakarta Server Pages), ASP.NET et Thymeleaf, qui ont permis aux développeurs de travailler avec des fichiers de modèles principalement « ressemblant à HTML » avec du code de programmation intermélangé.

Ensuite, des frameworks de « script côté client » basés sur Javascript tels qu’Angular, React et Vue sont apparus, ce qui a transformé le développement web en deux disciplines distinctes : le développement « backend » qui contenait le code traditionnel du serveur web et de la logique métier, ainsi que le développement « front-end » (en utilisant les frameworks ci-dessus) qui se concentrait sur la visualisation d’un site web et recevait des données du backend.

Cependant, cela ne signifie pas que les tendances de développement ne progressent que dans une seule direction et jamais en arrière. Par exemple, les bases de données NoSQL telles que MongoDB ont rapidement gagné en popularité en grande partie en raison de leur capacité à contenir des données non structurées par rapport aux bases de données SQL traditionnelles telles que PostgreSQL et MySQL, mais ces dernières ont également évolué et peuvent maintenant contenir des données non structurées via les types de données JSONB et JSON, respectivement. De même, de nouveaux frameworks Javascript tels que Next.js commencent à offrir des options pour le rendu côté serveur en plus de leurs capacités de rendu côté client traditionnelles. De nouveau, les moteurs de modèles côté serveur comme Thymeleaf ont également continué à évoluer, Thymeleaf lançant une nouvelle version du framework le mois dernier.

Source de l’article sur DZONE

Créer une application RESTful avec Quarkus et Eclipse JNoSQL alimentée par MongoDB

Créer une application RESTful moderne et performante avec Quarkus et Eclipse JNoSQL alimentée par MongoDB, c’est possible ! Découvrez comment dans ce tutoriel.

Intégration Facile des Bases de Données NoSQL avec Eclipse JNoSQL et Quarkus

Quarkus est une plate-forme Java open source qui offre une excellente performance et une faible empreinte mémoire. Il est conçu pour être très rapide à démarrer et à s’exécuter, ce qui en fait un excellent choix pour les applications cloud et mobiles. Quarkus est également très intégré avec Eclipse JNoSQL, ce qui permet aux développeurs de bénéficier des avantages des bases de données NoSQL sans avoir à se soucier des configurations complexes.

L’utilisation conjointe de Eclipse JNoSQL et Quarkus est un excellent moyen de simplifier le développement d’applications modernes qui utilisent des bases de données NoSQL. Les développeurs peuvent facilement intégrer des bases de données NoSQL dans leurs applications grâce à l’API standardisée fournie par Eclipse JNoSQL, tout en bénéficiant des performances et de la faible empreinte mémoire offertes par Quarkus. De plus, le framework offre un environnement de test intégré qui permet aux développeurs de tester leurs applications avec différentes bases de données NoSQL sans avoir à effectuer des configurations complexes. Enfin, Eclipse JNoSQL et Quarkus sont entièrement open source et gratuits, ce qui en fait une solution très abordable pour les développeurs.

Dans l’environnement en constante évolution du développement d’applications modernes, l’adoption des bases de données NoSQL a connu une croissance significative en raison de leurs modèles de données flexibles et de leurs avantages en matière d’évolutivité. Cependant, l’intégration transparente des bases de données NoSQL dans une application peut parfois être complexe et nécessiter des connaissances spécialisées et des configurations complexes. C’est là que Eclipse JNoSQL et Quarkus entrent en jeu, deux technologies puissantes qui, lorsqu’elles sont combinées, simplifient le processus d’intégration et permettent aux développeurs d’exploiter facilement les fonctionnalités des bases de données NoSQL. Eclipse JNoSQL est un framework open source qui fournit une API standardisée et des outils pour travailler avec des bases de données NoSQL. Il offre un modèle de programmation unifié qui masque les complexités des différentes bases de données NoSQL, permettant aux développeurs d’écrire du code indépendant de la technologie sous-jacente. JNoSQL prend en charge une large gamme de bases de données NoSQL, notamment MongoDB, Cassandra, Couchbase et plus encore, ce qui en fait un excellent choix pour la construction d’applications flexibles et évolutives.

Quarkus est une plate-forme Java open source qui offre une excellente performance et une faible empreinte mémoire. Il est conçu pour être très rapide à démarrer et à s’exécuter, ce qui en fait un excellent choix pour les applications cloud et mobiles. Quarkus est également très intégré avec Eclipse JNoSQL, ce qui permet aux développeurs de bénéficier des avantages des bases de données NoSQL sans avoir à se soucier des configurations complexes. De plus, Quarkus propose un environnement de test intuitif qui permet aux développeurs de tester leurs applications avec différentes bases de données NoSQL sans avoir à effectuer des configurations complexes.

L’utilisation conjointe de Eclipse JNoSQL et Quarkus est un excellent moyen de simplifier le développement d

Source de l’article sur DZONE

Stratégies d'échelle de bases de données

Les stratégies d’échelle de bases de données permettent aux entreprises de gérer leurs données de manière efficace et rentable. Elles sont essentielles pour répondre aux besoins croissants en matière de stockage et de traitement des données.

Comprendre les différentes techniques de mise à l’échelle des bases de données nous aide à choisir la stratégie appropriée pour s’adapter à nos besoins et à notre objectif. Par conséquent, dans ce post, nous allons démontrer différentes solutions et techniques pour la mise à l’échelle des serveurs de bases de données. Elles sont divisées entre les stratégies de lecture et d’écriture.

Savoir les différentes techniques pour l’échelle des bases de données, nous aide à choisir la stratégie appropriée pour s’adapter à nos besoins et à notre objectif. Ainsi, dans ce post, nous allons démontrer différentes solutions et techniques pour l’échelle des bases de données serveur. Ils sont divisés entre les stratégies de lecture et d’écriture.

La première stratégie est le partitionnement des données. Cela consiste à diviser les données en plusieurs partitions, chacune étant gérée par un serveur différent. Cela permet de répartir la charge de travail entre les différents serveurs et d’améliorer les performances. De plus, cette technique est très utile pour le traitement des données volumineuses.

La deuxième stratégie est l’utilisation de la réplication. Cette technique consiste à répliquer les données sur plusieurs serveurs. Cela permet de répartir la charge de travail entre les différents serveurs et d’améliorer les performances. De plus, cette technique est très utile pour le traitement des données volumineuses.

Enfin, la dernière stratégie est l’utilisation de la mise en cache. Cette technique consiste à stocker les données dans un cache afin de réduire le temps de réponse et d’améliorer les performances. Cette technique est très utile pour le traitement des données volumineuses et pour améliorer les performances des applications qui utilisent des bases de données.

En conclusion, il existe différentes techniques pour l’échelle des bases de données. Chaque technique a ses propres avantages et inconvénients et peut être utilisée en fonction des besoins et des objectifs. Le partitionnement des données, la réplication et la mise en cache sont les principales techniques utilisées pour l’échelle des bases de données. Chacune de ces techniques peut être utilisée pour améliorer les performances des applications qui utilisent des bases de données et pour traiter des volumes importants de données.

Source de l’article sur DZONE