Deux raisons pour lesquelles Apache Cassandra est la base de données pour les applications en temps réel

Par Aaron Ploetz, défenseur des développeurs
Il existe de nombreuses statistiques qui lient le succès commercial à la vitesse et à la réactivité des applications. Google nous dit qu’un retard d’une seconde dans les temps de chargement sur mobile peut avoir un impact allant jusqu’à 20 % sur les conversions sur mobile. Et une amélioration de 0,1 seconde des temps de chargement a amélioré l’engagement des clients de détail de 5,2 %, selon une étude de Deloitte.
Ce ne sont pas seulement les caprices et les attentes des consommateurs qui motivent le besoin d’une réactivité en temps réel ou quasi réel. Pensez à l’exigence d’une banque de détecter et de signaler les activités suspectes dans les instants éphémères avant que de réels dommages financiers ne se produisent. Ou un e-commerçant proposant des promotions de produits localement pertinentes pour stimuler les ventes dans un magasin. Les données en temps réel sont ce qui rend tout cela possible.
Avouons-le – la latence est un buzz kill. Le temps nécessaire à une base de données pour recevoir une demande, traiter la transaction et renvoyer une réponse à une application peut être un réel préjudice au succès d’une application. Le maintenir à des niveaux acceptables nécessite une architecture de données sous-jacente capable de gérer les exigences des applications en temps réel déployées à l’échelle mondiale. La base de données NoSQL open source Apache Cassandre® possède deux caractéristiques déterminantes qui le rendent parfaitement adapté pour répondre à ces besoins : il est géographiquement distribué et il peut répondre aux pics de trafic sans effets néfastes sur son débit inégalé et sa faible latence.
Explorons ce que ces deux signifient pour les applications en temps réel et les entreprises qui les créent.
Données en temps réel dans le monde entier
Même si le monde est devenu plus petit, exactement où la vie de vos données fait toujours une différence en termes de vitesse et de latence. Lorsque les utilisateurs résident dans des zones géographiques disparates, la prise en charge d’applications réactives et rapides pour chacun d’entre eux peut être un défi.
Supposons que votre centre de données se trouve en Irlande et que vous ayez des charges de travail de données et des utilisateurs finaux en Inde. Vos données peuvent passer par plusieurs routeurs pour accéder à la base de données, ce qui peut introduire une latence importante entre le moment où une application ou un utilisateur fait une demande et le temps nécessaire pour que la réponse soit renvoyée.
Pour réduire la latence et offrir la meilleure expérience utilisateur, les données doivent être aussi proches que possible de l’utilisateur final. Si vos utilisateurs sont internationaux, cela signifie répliquer les données dans les zones géographiques où ils résident.
Cassandra, construit par Facebook en 2007, est conçu comme un système distribué pour le déploiement d’un grand nombre de nœuds sur plusieurs centres de données. Les fonctionnalités clés de l’architecture distribuée de Cassandra sont spécialement conçues pour un déploiement dans plusieurs centres de données. Ces fonctionnalités sont suffisamment robustes et flexibles pour que vous puissiez configurer des clusters (ensembles de nœuds Cassandra, qui sont visualisés sous forme d’anneau) pour une répartition géographique optimale, pour la redondance, pour le basculement et la reprise après sinistre, ou même pour créer un centre d’analyse dédié qui est répliqué à partir de vos principaux centres de stockage de données.
Mais même si vos données sont réparties géographiquement, vous avez toujours besoin d’une base de données conçue pour être rapide à grande échelle.
La puissance d’une base de données transactionnelle rapide
Les bases de données NoSQL ont principalement évolué au cours de la dernière décennie en tant qu’alternative aux systèmes de gestion de bases de données relationnelles à instance unique (RDBMS) qui avaient du mal à suivre les demandes de débit et le volume considérable du trafic Internet à l’échelle du Web.
Ils résolvent les problèmes d’évolutivité grâce à un processus appelé mise à l’échelle horizontale, où plusieurs instances de serveur de la base de données sont liées les unes aux autres pour former un cluster.
Certains produits de base de données NoSQL ont également été conçus avec une prise en compte du centre de données, ce qui signifie que la base de données est configurée pour regrouper logiquement certaines instances afin d’optimiser la distribution des données utilisateur et des charges de travail. Cassandra est à la fois évolutive horizontalement et consciente du centre de données.
La capacité transparente et cohérente de Cassandra à évoluer jusqu’à des centaines de téraoctets, ainsi que ses performances exceptionnelles sous de lourdes charges, en ont fait un élément clé des infrastructures de données des entreprises qui exploitent des applications en temps réel – le genre qui devrait être extrêmement réactif, quelle que soit l’échelle à laquelle ils opèrent. Pensez aux applications et aux charges de travail modernes qui doivent être fiables, comme les services bancaires en ligne, ou à celles qui fonctionnent à grande échelle et distribuée, comme les systèmes de réservation des compagnies aériennes ou les applications de vente au détail populaires.
Se connecterun fournisseur de solutions logicielles d’entreprise, a choisi Cassandra comme magasin de données pour les applications qu’il crée pour ses clients, notamment les plates-formes d’authentification, d’autorisation et de comptabilité des utilisateurs pour l’industrie des télécommunications.
« D’un point de vue des performances, avec Cassandra, nous pouvons désormais réaliser des dizaines de milliers de transactions par seconde avec une configuration géo-redondante, ce qui n’était tout simplement pas possible avec notre pile de technologie d’application précédente », a déclaré Predrag Biskupovic, PDG et CTO de Logate. .
Ou qu’en est-il de Netflix? Lorsqu’elle a lancé son service de streaming en 2007, elle utilisait une base de données Oracle dans un seul centre de données. Alors que le nombre d’utilisateurs et d’appareils (et de données) augmentait rapidement, les limitations d’évolutivité et le potentiel d’échecs sont devenus une menace sérieuse pour le succès de Netflix. Cassandra, avec son architecture distribuée, était un choix naturel et, en 2013, la plupart des données de Netflix y étaient hébergées. Netflix utilise toujours Cassandra aujourd’hui, mais pas seulement pour son évolutivité et sa fiabilité à toute épreuve. Ses performances sont essentielles pour société de diffusion en continu – Cassandra exécute 30 millions d’opérations par seconde sur son cluster unique le plus actif, et 98 % des données de streaming de l’entreprise sont stockées sur Cassandra.
Il a été démontré que Cassandra fonctionne exceptionnellement bien sous de lourdes charges. Il peut constamment afficher un débit très rapide pour les écritures par seconde sur un poste de travail de base. Toutes les propriétés souhaitables de Cassandra sont conservées à mesure que de nouveaux serveurs sont ajoutés, sans sacrifier les performances.
Les décisions commerciales qui doivent être prises en temps réel nécessitent un stockage de données performant, où que se trouvent les principaux utilisateurs. Cassandra permet aux entreprises d’ingérer et d’agir sur ces données en temps réel, à grande échelle, dans le monde entier. Si une organisation doit agir rapidement sur les données de l’entreprise, alors Cassandra peut l’aider à y parvenir.
En savoir plus sur DataStax ici.
À propos d’Aaron Ploetz:

DataStax
Aaron est un développeur de logiciels professionnel depuis 1997 et possède plusieurs années d’expérience de travail et de direction d’équipes DevOps pour des startups et des entreprises Fortune 50.
Source link