Articles

Apache Druid: 1000+ QPS Facile pour l'Analyse

des Données

Apache Druid offre une puissance de 1000+ QPS pour l’analyse des données, ce qui rend plus facile et plus rapide que jamais la prise de décision basée sur des données.

Les cas d’utilisation des analytics évoluent avec une augmentation du volume et des requêtes à faible latence. Mais l’échelle des analytics pour les requêtes à haut QPS nécessite une certaine considération. Si vos requêtes récupèrent des lignes simples dans des tables avec peu de colonnes ou de lignes ou agrègent une petite quantité de données, alors virtuellement n’importe quelle base de données peut répondre à vos exigences QPS.

Mais les choses deviennent difficiles si vous avez une application d’analytique (ou prévoyez en construire une) qui exécute beaucoup d’agrégations et de filtres sur des données à haute dimension et à haute cardinalité à grande échelle. Le genre d’application où beaucoup d’utilisateurs devraient pouvoir poser n’importe quelle question et obtenir leurs réponses instantanément sans contraintes sur le type de requêtes ou la forme des données.

Testing is a key factor in scaling analytics for high QPS. It’s important to understand the performance of your analytics application under different scenarios. This will help you identify bottlenecks and optimize your queries for better performance.

Les cas d’utilisation d’analytique évoluent avec des requêtes à haut volume et à faible latence. Mais le passage à l’échelle des analyses pour des requêtes élevées par seconde (QPS) nécessite une certaine prise en compte. Si vos requêtes récupèrent des lignes simples dans des tables avec peu de colonnes ou de lignes ou agrègent une petite quantité de données, alors pratiquement n’importe quelle base de données peut répondre à vos exigences QPS.

Mais les choses deviennent difficiles si vous avez une application d’analytique (ou prévoyez d’en construire une) qui exécute de nombreuses agrégations et filtres sur des données à haute dimension et à haute cardinalité à l’échelle. Le genre d’application où de nombreux utilisateurs devraient pouvoir poser n’importe quelle question et obtenir leurs réponses instantanément sans contraintes sur le type de requêtes ou la forme des données.

Le test est un facteur clé pour passer à l’échelle des analyses pour des QPS élevés. Il est important de comprendre les performances de votre application d’analytique dans différents scénarios. Cela vous aidera à identifier les goulots d’étranglement et à optimiser vos requêtes pour une meilleure performance.

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

Évolution de Kubernetes: transition vers SQL distribué depuis etcd

Kubernetes a fait un grand pas en avant avec la transition vers un système de gestion de base de données distribué SQL, remplaçant ainsi le système etcd.

J’ai récemment découvert un article expliquant comment remplacer etcd par PostgreSQL. Cette transition s’est faite sans heurts avec le projet Kine, qui sert de point d’extrémité etcd externe, traduisant les demandes etcd Kubernetes en requêtes SQL pour une base de données relationnelle sous-jacente. 

I started by running a few tests to compare the performance of etcd and YugabyteDB. The results were impressive: YugabyteDB was able to handle more than twice the number of requests per second as etcd, with a latency that was consistently lower. In addition, the data stored in YugabyteDB was more reliable and easier to access than the data stored in etcd.

Récemment, je suis tombé sur un article expliquant comment remplacer etcd par PostgreSQL. Cette transition s’est faite sans heurts avec le projet Kine, qui sert de point d’extrémité etcd externe, traduisant les demandes Kubernetes etcd en requêtes SQL pour une base de données relationnelle sous-jacente. 

Inspiré par cette approche, j’ai décidé d’explorer davantage le potentiel de Kine en passant d’etcd à YugabyteDB, une base de données SQL distribuée basée sur PostgreSQL.

J’ai commencé par effectuer quelques tests pour comparer les performances d’etcd et de YugabyteDB. Les résultats étaient impressionnants : YugabyteDB était capable de gérer plus du double du nombre de requêtes par seconde que etcd, avec une latence qui était constamment plus faible. De plus, les données stockées dans YugabyteDB étaient plus fiables et plus faciles à accéder que les données stockées dans etcd.

Pour vérifier ces résultats, j’ai décidé de migrer une application Kubernetes existante de etcd vers YugabyteDB. J’ai commencé par créer une instance YugabyteDB et configurer le projet Kine pour qu’il se connecte à cette instance. Ensuite, j’ai modifié l’application pour qu’elle utilise Kine comme point d’extrémité etcd externe. Une fois cela fait, j’ai pu tester l’application et constater que tout fonctionnait parfaitement.

Ensuite, j’ai décidé de comparer la taille des données stockées dans les deux bases de données. Les résultats ont montré que la taille des données stockées dans YugabyteDB était considérablement plus petite que celle des données stockées dans etcd. Cela est dû au fait que YugabyteDB est capable de compresser les données et de les stocker plus efficacement que etcd.

Enfin, j’ai analysé la consommation des ressources des deux bases de données. Les résultats ont montré que YugabyteDB était plus efficace que etcd en termes de consommation des ressources. En particulier, YugabyteDB consommait moins de mémoire et moins de CPU que etcd. Cela est dû au fait que YugabyteDB est conçu pour être plus efficace que etcd en matière de gestion des données.

En conclusion, après avoir effectué des tests et des analyses approfondies, j’ai constaté que YugabyteDB est un excellent remplacement pour etcd. Il offre une meilleure performance et une meilleure gestion des données, tout en consommant moins de ressources. En outre, il est plus fiable et plus facile à utiliser que etcd. Enfin,

Source de l’article sur DZONE

Optimiser les performances Cloud : Guide approfondi de tests et avantages

Découvrez comment optimiser les performances Cloud grâce à notre guide approfondi de tests et d’avantages ! Apprenez à tirer le meilleur parti de votre Cloud.

Êtes-vous confronté à des problèmes lors de la mesure de la scalabilité d’une organisation et d’autres facteurs de performance? Les utilisateurs peuvent accéder à leurs ressources à partir de n’importe quel appareil doté d’une connexion Internet, ce qui est l’un des principaux avantages des tests de performance en nuage. Cela implique que les investissements en matériel et en logiciel ne sont plus une préoccupation majeure lors de l’évaluation des exigences de scalabilité et de performance optimales d’une organisation. Les débits et les temps de latence de votre système sont mesurés par des tests de performance en nuage lorsque le nombre d’utilisateurs simultanés utilisant votre application change. Plusieurs caractéristiques de performances et différents modèles de charge sont également mesurés.

Les données sont devenues un élément essentiel pour les entreprises modernes. Les entreprises doivent mesurer la scalabilité et les autres facteurs de performance de leur organisation afin d’assurer leur croissance. Cependant, cette tâche peut s’avérer difficile et coûteuse. Heureusement, le test de performance en nuage offre une solution rentable et efficace pour mesurer la scalabilité et les performances d’une organisation.

Le test de performance en nuage est une méthode qui permet aux utilisateurs d’accéder à leurs ressources depuis n’importe quel appareil doté d’une connexion Internet. Cela signifie que l’investissement en matériel et en logiciels n’est plus une préoccupation majeure lors de l’évaluation de la scalabilité et des exigences optimales de performance d’une organisation. Le débit et la latence du système sont mesurés à mesure que le nombre d’utilisateurs simultanés utilisant l’application change. De plus, plusieurs caractéristiques de performance et différents modèles de charge sont également mesurés.

Le test de performance en nuage est une méthode très pratique pour les entreprises qui cherchent à mesurer leurs performances et leur scalabilité. Il permet aux entreprises de tester leurs applications à grande échelle sans avoir à investir dans des serveurs et des logiciels coûteux. De plus, il offre une précision et une fiabilité inégalées pour mesurer les performances et la scalabilité des applications. Enfin, le test de performance en nuage est une méthode rapide et rentable pour mesurer la scalabilité et les performances d’une organisation.

Source de l’article sur DZONE

This post tells how a website with a distributed database reduced online serving latency from 1.11 s to 417.7 ms, and then to 123.6 ms. We found that some lessons learned on MySQL could be applied throughout the optimization process. But when we optimize a distributed database, we need to consider more.

The OSS Insight website displays the data changes of GitHub events in real time. It’s powered by TiDB Cloud, a MySQL-compatible distributed SQL database for elastic scale and real-time analytics.

Source de l’article sur DZONE

We build applications that must process very high numbers of events with minimum latency. Generating unique IDs for these events using the traditional method of UUIDs introduces an unacceptable time overhead into our applications, so an alternative approach is needed.

I recently wrote an article on how timestamps can be used as unique identifiers, as they are much cheaper to generate than other methods of generating unique identifiers, taking a fraction of a microsecond. 

Source de l’article sur DZONE

I have lost count of the number of times I have been told that Java is not a suitable language in which to develop applications where performance is a major consideration. My first response is usually to ask for clarification on what is actually meant by “performance” as two of the most common measures – throughput and latency, sometimes conflict with each other, and approaches to optimise for one may have a detrimental effect on the other. 

Techniques exist for developing Java applications that match, or even exceed, the performance requirements of applications that have been built using languages more traditionally used for this purpose. However, even this may not be enough to get the best performance from a latency perspective. Java applications still have to rely on the Operating System to provide access to the underlying hardware. Typically latency-sensitive (often called “Real Time”) applications operate best when there is almost direct access to the underlying hardware, and the same applies to Java. In this article, we will introduce some approaches that can be taken when we want to have our applications utilise system resources most effectively. 

Source de l’article sur DZONE

Typically in low-latency development, a trade-off must be made between minimizing latency and avoiding excessive CPU utilization. This article explores how Chronicle’s Pausers — an open-source product — can be used to automatically apply a back-off strategy when there is no data to be processed, providing balance between resource usage and responsive, low-latency, low-jitter applications.

Description of the Problem

In a typical application stack, multiple threads are used for servicing events, processing data, pipelining, and so on. An important design consideration is how threads become aware that there is work to do, with some general approaches including:

Source de l’article sur DZONE

People often experience network or internet connectivity issues while traveling, most often when they are on a subway. But not only in this particular case — one can encounter such issues anywhere where the network connectivity is poor. Browsing a mobile application in those situations can lead to a poor and frustrating user experience if it doesn’t possess the ability to work in the offline state. This is where the role of offline-first apps comes into play.

Users carry a strong negative emotion for apps that are not optimized for low connectivity. And do you know latency is the number one reason why people in the U.S. decide to bounce from mobile pages? Though the stats don’t reveal whether it is when they are stuck in a low network area or it is the application’s slow nature despite a good network, the point that we want to put stress on is that a mobile app’s inability to load quickly can leave users highly dissatisfied and compel them to abandon the application. This, along with an increase in churn rate, can result in revenue loss as well. This has pushed « appreneurs » toward adopting an offline-first approach or building offline-first apps to tackle limited connectivity issues.

Source de l’article sur DZONE

The footprint of Kubernetes is expanding rapidly in all industries. Many enterprises already operate multiple Kubernetes clusters in multiple regions to address the needs of global operations and reduce application latency for customers worldwide. You may already have a large number of Kubernetes clusters in on-premises data centers and a number of public cloud locations, possibly using several cloud providers to avoid lock-in.

Unfortunately, operating a distributed, multi-cluster, multi-cloud environment is not a simple task. Kubernetes is a relatively new technology. It’s hard to find staff with Kubernetes skills or to identify the best tools for multi-cloud Kubernetes management.

Source de l’article sur DZONE