Journal Cassandra 4 qui la testent, un qui l'Hécube

Post√©¬†par¬† (site web personnel) . Licence CC¬†By‚ÄĎSA.
20
4
ao√Ľt
2021

Bonjour Nal,

Je t'écris pour te signaler la sortie de la base de données Apache Cassandra 4.0.

Cette base orient√©e colonne grecque est devenue l'un des stockages les plus utilis√©es pour les titanodonn√©es. √Čcrite en Java (pour les perfs), elle utilisable via son langage de requ√™te CQL ou via des API dans tous les bons langages mais aussi en Python ou Node.js.

Voici les nouveautés de cette version:

  • le support de Java 11 : c'est important, car il s'agit de la derni√®re version Long Term Support¬†;
  • des tables virtuelles (par exemple pour exposer une configuration en CQL)¬†;
  • des logs plus complets (audit et requ√™tes)¬†;
  • beaucoup d'optimisations¬†;
  • un truc qui s'appelle Transient Replication, je n'ai pas compris ce que s'est, mais mon DBA a dit "super, je suis trop heureux" en l'apprenant.

Et toi Nal, tu as quoi comme base en prod?

  • # Scylla/MongoDB

    Post√©¬†par¬† . √Čvalu√©¬†√†¬†9. Derni√®re modification le 04 ao√Ľt 2021 √† 16:43.

    √Čcrite en Java (pour les perfs)

    Il me semblait que Scylla en avait encore plus (écrit en C++ ;))

    Et toi Nal, tu as quoi comme base en prod?

    MongoDB car j'aime le mode document. Un jour peut-être j'utiliserai du PostgreSQL avec jsonb.

    • [^] # Re: Scylla/MongoDB

      Post√©¬†par¬† . √Čvalu√©¬†√†¬†10.

      Postgres avec les json, faut se méfier un peu quand même.
      Les requ√™tes sont vachement plus chiantes √† √©crire, il me semble que les index sont beaucoup plus gros, les foreign keys sont pas possible, et √ßa risque de te donner un faux sentiment de s√©curit√© ‚Äúmes donn√©es sont structur√©s‚ÄĚ.

      C‚Äôest tr√®s pratique pour stocker des donn√©es arbitraires sur une ligne, mais des que le json doit intervenir dans une requ√™te, ca marche pas aussi bien que ce tu pourrais penser. Si ton id√©e c‚Äôest d‚Äôavoir juste une colonne id, et une autre ‚Äúdata‚ÄĚ avec tout le json, ca va piquer.

      Une db relationnelle, c’est bien pour faire du relationnel. Si tu cherches à transformer pg en db orienté document, tu vas vite avoir des problèmes.

      Linuxfr, le portail francais du logiciel libre et du neo nazisme.

      • [^] # Re: Scylla/MongoDB

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†10.

        C'est pas si s√Ľr, d'apr√®s des benchmarks que j'avais lus (d'il y a un an ou deux j'arrive pas √† les retrouver) PostgreSQL explose MongoDB en performances brutes quand on l'utilise en mode "document" avec du jsonb.

        En plus avec PostgreSQL tu peux explicitement créer les indexes comme bon te semble, et profiter de toutes ses autres fonctionnalités.

        Donc quant bien même la syntaxe est chiante pour écrire des requêtes qui manipulent le jsonb (elle est vraiment très chiante, je sais de quoi je parle) ça vaut toujours le coup d'évaluer PostgreSQL quand le besoin se pose.

        Surtout qu'avec MongoDB, tu peux pas faire de relationnel le jour o√Ļ tu dis que "merde, en fait j'en ai besoin", alors qu'avec PostgreSQL, tu l'as, et bien plus encore¬†!

        Bon, puis j'ai eu beaucoup trop d'emmerdes avec MongoDB, on l'a utilisé sur un site à fort traffic / gros volumes de données, on a fini par le remplacer par un SGBD plus classique et tous nos ennuis se sont évaporés, mais c'était il y a quelques années, peut être que MongoDB s'est sortis les phalanges du fondement depuis.

        • [^] # Re: Scylla/MongoDB

          Post√©¬†par¬† . √Čvalu√©¬†√†¬†7.

          On stocke quelques Tio dedans sans problème particulier, on a plusieurs collections à plus de 20 millions de documents et qu'on met à jour à probablement plus de 2k/s sans problème particulier. Mongo n'aime vraiment pas avoir de gros documents ça le ralenti pas mal.

          Je ne comprends pas trop les gens qui disent "j'√©tais avec X, oulala les gal√®res, je suis pass√© sur Y (Y ayant rien √† voir avec X), depuis ma femme est revenu‚ÄĮ!". mongo et postgre sont 2 outils tr√®s diff√©rents. Pour moi c'est vraiment comme dire "pour ma vis, j'utilisais une clef allen c'√©tait une gal√®re depuis que je me suis achet√© une clef torx ma vie a chang√©, je la serre et la d√©serre avec plaisir". Ma machine √† laver n'est pas meilleure que mon v√©lo.

          Tous ces outils sont très bons. Ils ne sont juste pas fait pour les même usages. Souvent on est peu contraint et moins on est contraint moins la techno sous-jacente n'a d'importance. Quand on parle de grosse contraintes, il faut se rappeler que ce sont des techno utilisé pour d'énormes infra être petit à coté n'est pas une insulte (et je suis un tout petit à coté). Nous on utilise mysql/mongo/cassandra/infinispan selon le besoin et je n'irais pas dire que l'un dépasse les autres chacun vient avec ses avantages (ce que tout le monde a en tête) et ses inconvénients (qu'on a facilement tendance à oublier), mais si on ne prend pas en compte ses inconvénients ça pose des problèmes (et faut avoir du recul y compris sur ce qui est présenté par le vendeur de ses trucs).

          Par exemple si mongo parle d'avoir des transaction par exemple, il faut pas se dire que c'est parti on refait comme en SQL. Tous ses outils et pg le premier tentent d’agrandir autant que possible leur surface d'utilisation, mais sauf cas particulier ça devrait rester à la marge (voir être ignoré) parce que ça remet en cause l'architecture de base du truc ce qui lui donnait un intérêt.

          En plus avec PostgreSQL tu peux explicitement créer les indexes comme bon te semble, et profiter de toutes ses autres fonctionnalités.

          Je ne te suis pas, de quoi parle-tu‚ÄĮ? Mongo peut tr√®s bien avoir des indexes par contre postgre ne peux pas faire n'importe quoi avec du jsonb. Si par "toutes les autres fonctionnalit√©s" tu entends "sauf ma majeure partie des fonctions relationnelles" √ßa en enl√®ve un paquet et √ßa r√©duit fortement l'int√©r√™t d'un moteur de base de donn√©es relationnelle √† cela on ajoute un requ√™tage limit√©, de m√™me pour les vues du coup. Clairement c'est pas fait pour la m√™me chose.

          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

          • [^] # Re: Scylla/MongoDB

            Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†6.

            mongo et postgre sont 2 outils très différents

            C'est vrai, je suis d'accord, cependant tout dépend du besoin. Quand tu veux faire du CMS, de la vitrine, un site métier mais sans fortes contraintes relationnelles, ou juste quand tu es le commun du mortel, le choix entre un SGBD et une base NoSQL est parfois ambigu: les deux vont fournir les fonctionnalités nécessaires et suffisantes pour le besoin, et les deux vont écrire noir sur blanc dans leur documentation que c'est le bon outil pour implémenter ce besoin. Finalement, tout comme les SGBD, MongoDB est assez polyvalent lui aussi.

            La seule différence sera dans la façon de l'utiliser, et souvent la bonne réponse reste le SGBD conventionnel un poil plus polyvalent. C'est juste une question d'échelle, si passer au NoSQL ne déverrouille pas une contrainte que tu aurais avec le SGBD classique (comme par exemple, le besoin de passer à l’échelle horizontalement, et encore que…), autant rester sur l'ennuyeux SGBD classique car c'est souvent un outil plus mature, plus stable, pour lequel on trouvera un meilleur support et plus de gens compétents pour travailler avec.

            Je ne comprends pas trop les gens qui disent "j'étais avec X, oulala les galères, je suis passé sur Y (Y ayant rien à voir avec X),

            C'est l√† que je ne suis pas d'accord. √Ä l'√©poque, et c'√©tait un choix de design logiciel assum√© par MongoDB, une lecture et une √©criture en m√™me temps sur la collection influaient l'une sur l'autre, et des enregistrements pouvaient simplement ne pas √™tre √©crit, des mises √† jour pouvaient √™tre ignor√©es, et la lecture pouvait lire un m√™me document deux fois, etc‚Ķ C'√©tait des comportements tr√®s grave, et impossibles √† ignorer dans notre contexte, o√Ļ on avait beaucoup de lectures et √©critures concurrentes.

            Maintenant ils semblent avoir implémenté correctement quelque chose qui ressemble enfin à des transactions, mais il leur a fallu du temps, plusieurs années même. Ça refroidit vraiment, c'est devenu pour nous un outil à fuir absolument. Trop de mauvaises surprises, et certains étaient même assumées par ses mainteneurs et marqués comme étant "par design".

            Ma machine à laver n'est pas meilleure que mon vélo.

            Là, tu es carrément de mauvaise fois, MongoDB est très polyvalent, PostgreSQL l'est encore plus, et les deux sont dans la même niche: des bases de données. Il y a une intersection entre les deux espaces fonctionnels fournis par ces deux outils. Je pourrais dire la même chose avec Cassandra et MSSQL, ou encore bien d'autres bases de données.

            tu entends "sauf ma majeure partie des fonctions relationnelles"

            Non pas forc√©ment, PostgreSQL va bien au del√†, il convient tr√®s bien aussi pour faire du cl√©-valeur (bien que j'ai un faible pour Redis pour ce besoin), pour faire du publish/subscribe (event/notify), pour impl√©menter de la recherche fulltext, et ses capacit√©s vont encore bien au del√† (et sans parler des extensions). MongoDB s'est am√©lior√© avec le temps, je dis pas, seulement, vu son √Ęge finalement peu avanc√© compar√©s √† beaucoup d'autres bases de donn√©es, je lui fais encore pas confiance.

            • [^] # Re: Scylla/MongoDB

              Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†3.

              Ce qui manque √† Postgresql, c'est un langage lisible qui est transpil√© vers SQL. √Čcrire une requ√™te de 2 lignes, c'est facile. √Čcris une requ√™te SQL de 100 lignes et tu deviens chauve.

              "La première sécurité est la liberté"

              • [^] # Re: Scylla/MongoDB

                Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†8. Derni√®re modification le 06 ao√Ľt 2021 √† 10:03.

                Le SQL est un langage standardisé (et d'ailleurs, PostgreSQL est un SGDB qui respecte le standard, presque le seul, hors fonctionnalités qui vont au delà du standard) qui a plus de 40 ans maintenant.

                √áa s'apprend, et c'est pas compliqu√© en vrai. J'en fais depuis des ann√©es certes, donc c'est difficile de me mettre dans la peau de quelqu'un qui apprend de z√©ro, mais je l'ai appris √† un moment ou un autre. Le seul changement de paradigme un peu perturbant, je pense, c'est de raisonner de fa√ßon ensembliste (bien que le SQL ne soit pas r√©ellement une transposition de la th√©orie des ensembles, il s'en inspire). Toute personne qui travaille sur un langage qui g√®re correctement les collections et a un syst√®me de typage complet y trouvera beaucoup de choses famili√®res. Enfin, pour des requ√™tes simples, et m√™me certaines plus complexes, il n'y a d√©finitivement pas besoin d'√™tre math√©maticien, ni m√™me de conna√ģtre quoi que ce soit √† propos de la th√©orie des ensembles.

                En plus, c'est vraiment cool comme langage, parce que c'est spécifié comme étant un langage déclaratif: tu dis ce que tu veux comme résultat, et c'est au serveur de choisir comment l'interpréter, et de choisir la façon optimale pour obtenir le résultat que lui a demandé.

                Donc en tant que d√©veloppeur, le langage t'√īte la responsabilit√© de devoir penser performance √† la place du serveur, ce qui le rend bien plus accessible que la majeure partie de langages qu'on manipule tous les jours, qui vous nous exposer des d√©tails techniques complexes pour permettre de contourner les faiblesses de ton processeur ou te forcer √† g√©rer ta m√©moire par toi m√™me. Le SQL s'affranchit compl√®tement de toutes ces contraintes qui polluent la s√©mantique, et te permet de r√©fl√©chir uniquement √† tes donn√©es. Il te fourni une langue pour exprimer simplement des transformations de collections de donn√©es. C'est m√™me bien plus expressif et lisible que les libraries r√©active-fonctionnelles tr√®s √† la mode en ce moment.

                PostgreSQL est r√©put√© pour avoir le meilleur moteur d'optimisation de requ√™te SQL au monde (√† tel point qu'il est aussi utilis√© par d'autres outils) et pour avoir test√© et √©crit des choses vraiment compliqu√©es avec, mis √† part de tr√®s rare cas (vraiment tr√®s rare) avec les versions r√©centes de PostgreSQL plus tu √©cris le SQL simplement et na√Įvement, et mieux √ßa se passe.

                Des langages qui ont essayé de substituer au SQL, ça existe, mais aucun ne fait consensus, et à mon avis ce n'est pas pour rien: aucun de ceux que j'ai pu rencontrer ne permettait réellement d'être à la fois généraliste et d'abstraire des fonctionnalités avancées du SQL dans quelque chose de plus simple.

                Je pense honn√™tement, au vu de ce que √ßa permet de faire, que de concevoir un langage plus simple que le SQL pour le remplacer semble impossible, quant bien m√™me il pourrait s√Ľrement √™tre am√©lior√© (je pense notamment √† la syntaxe horrible pour les acc√®s au json). Il y a des cas o√Ļ c'est possible et √ßa marche, mais c'est presque syst√©matiquement des langage qui sont en fait des DSL (Domain Specific Language), con√ßus pour r√©pondre √† des probl√©matiques m√©tier, et qui par cons√©quent ne peuvent √™tre utilis√© en dehors.

                Après, rien n'empêche d'imaginer un jour écrire un SQL-v2, qui soit une nouvelle langue plus moderne, mais je pense que sa complexité sera au moins équivalente au SQL lui même.

                • [^] # Re: Scylla/MongoDB

                  Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

                  J'ai appris le SQL, il y a 20 ans. J'ai √©cris un backend de traitement business complet avec pendant 2 ans. Mon probl√®me √©tait surtout la syntaxe dont les subtilit√©s varies selon l√† o√Ļ l'on est (parenth√®se ou non, label sous entendu ou pas, ‚Ķ). Peut-√™tre que certain IDE sont meilleur que d'autres par contre. Mais le langage n'est pas r√©cursif dans le sens ou selon le niveau d'imbrication la syntaxe change.

                  Donc en tant que d√©veloppeur, le langage t'√īte la responsabilit√© de devoir penser performance √† la place du serveur,

                  ça c'est souvent faux : Tu peux faire des horreurs si ce que tu écris, implique inutilement de parcourir chaque ligne d'une table.

                  "La première sécurité est la liberté"

                • [^] # Commentaire supprim√©

                  Post√©¬†par¬† . √Čvalu√©¬†√†¬†5.

                  Ce commentaire a été supprimé par l’équipe de modération.

                  • [^] # Re: Scylla/MongoDB

                    Post√©¬†par¬† . √Čvalu√©¬†√†¬†5.

                    De mémoire, je crois qu'une approche semblable au select après le from avait été tenté par ingres et son QUEL mais la suite ça a été qu'Oracle a implémenté SQL et qu'ingres a glissé vers un fin (relative la fin vu le nombre de descendants). Perso les tonnes de langages censés remplacer le SQL me font souvent l'effet d'échanger quelque chose de connu pour quelque chose d'encore plus imbitable (XQuery, SPARQL, MQL, etc.).

                    On peut tout à fait comparer MongoDB a PgSQL, les éditeurs y passent même du temps :
                    https://www.mongodb.com/compare/mongodb-postgresql
                    https://info.enterprisedb.com/white-paper_Get-the-Postgres-and-MongoDB-report.html

                    vive le datalake 42.0 !

            • [^] # Re: Scylla/MongoDB

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†4.

              C'est moi o√Ļ tu reproche √† une base de donn√©es NoSQL de ne pas √™tre ACID‚ÄĮ?

              Là, tu es carrément de mauvaise fois, MongoDB est très polyvalent, PostgreSQL l'est encore plus, et les deux sont dans la même niche: des bases de données.

              C'est pas parce que ça stocke de la donnée que c'est la même chose. Envoyer un recommandé et un sms, c'est de "l'envoi de message" pourtant. C'est de la sémantique ce que tu tente de faire, mais quand tu sort d'ACID tu quitte le monde de la base de données tel que tu semble le comprendre, c'est comme si tu te mettais à stocker à la main sur disque ou via ftp. Si on ignore ça, on a le genre de surprises que tu décrit.

              [PostgreSQL] convient très bien aussi pour faire du clé-valeur (bien que j'ai un faible pour Redis pour ce besoin)

              Tu vois t'es encore entrain de comparer des choux et des patates. L'un ne stock rien sur disque et est l√† pour faire de la latence faible a un mod√®le de stalabilit√©‚Ķ particulier. L√† o√Ļ l'autre √©crira toujours tout sur disque fourni largement plus de garanties etc. Bon perso je trouve que redis est le roi du goodenought, mais c'est une autre histoire.

              Postgre est une excellente base de données et ça se voit car son moteur est très flexible et tiens la dragée haute à des moteurs pensés directement pour cette flexibilité (je parle de rocksdb ou cockroachdb qui sont des moteurs qu'on utilise pas directement normalement) alors que pg existe depuis 25 ans. AWS s'en sert par exemple pour produire leur solution compatible mongodb (mais ils n'utilisent pas le support jsonb libre, ils ont leur propre truc à eux). Mais il ne faut pas croire pour autant que tout est gratuit son event/notify est anémique face à de vraies solution (pareil pour redis).

              https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

              • [^] # Re: Scylla/MongoDB

                Post√©¬†par¬† . √Čvalu√©¬†√†¬†10. Derni√®re modification le 06 ao√Ľt 2021 √† 13:43.

                C'est moi o√Ļ tu reproche √† une base de donn√©es NoSQL de ne pas √™tre ACID‚ÄĮ?

                Non; je pense qu'il reproche à MongoDB d'avoir fait des choix de design et marketing très douteux ainsi que d'avoir réussi à violer presque systématiquement les maigres garanties annoncées dans leur doc pendant ses 5+ premières années d'existence. Ce qui est fondamentalement un problème différent que de trouver que les garanties offertes par un outil ne sont pas adaptés à son besoin.

                Ça a commencé par publier des benchmarks montrant à quel point ils étaient "rapides" alors que la configuration par défaut de Mongo était de ne pas garantir la durabilité des écritures acceptés (ie. non persisté dans un WAL).

                Ça a continué avec des tonnes de bugs tous plus hallucinants les un que les autres. Si tu as des soirées de libre, remonte le bug tracker jusqu'à la version 3 et tu y trouveras les trucs les plus hallucinants que j'ai pu voir dans ma carrière.

                C√īt√© garanties document√©es, garanties r√©ellement impl√©ment√©es et configuration par d√©faut, on est pass√© par toutes les √©tapes possibles de WTF.

                Il me semble qu'un changement significatif a eu lieu vers la version 3 et au moment o√Ļ Aphyr les a mis en pi√®ce. Ils ont commenc√© √† chercher √† afficher des garanties raisonnables et √† les impl√©menter correctement. Le surnom snapshat for database de mongo ne vient pas de nul part; et tu peux ais√©ment comprendre que suite √† cet historique des gens s'en tiennent le plus loin possible.

                • [^] # Re: Scylla/MongoDB

                  Post√©¬†par¬† . √Čvalu√©¬†√†¬†5.

                  Ça a continué avec des tonnes de bugs tous plus hallucinants les un que les autres. Si tu as des soirées de libre, remonte le bug tracker jusqu'à la version 3 et tu y trouveras les trucs les plus hallucinants que j'ai pu voir dans ma carrière.

                  Tu peux pas balancer ça un vendredi et pas suivre avec au moins une description rapide d’un ou deux bug :)
                  Surtout qu’il faut un compte et tout pour le bug tracker.

                  Linuxfr, le portail francais du logiciel libre et du neo nazisme.

                  • [^] # Re: Scylla/MongoDB

                    Post√©¬†par¬† . √Čvalu√©¬†√†¬†3.

                    Dans les bugs encore r√©cent et dr√īle, tu as des requ√™tes "upsert" pour mettre √† jour ou ins√©rer. Ces requ√™tes peuvent te dire des trucs du genre "error: _id already exists"‚Ķ

                    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                  • [^] # Re: Scylla/MongoDB

                    Post√©¬†par¬† . √Čvalu√©¬†√†¬†5. Derni√®re modification le 06 ao√Ľt 2021 √† 19:01.

                    Je n'ai malheureusement pas bookmarké à l'époque :(

                    Tu avais des trucs genre "Je mets √† un jour champ avec une virgule dedans" √ßa t'√©clate 1 ou 4 documents en les remplissant de merde, mutant les types ou autre. Je n'ai plus les d√©tails, mais je fouillai le bug tracker pour identifier mes probl√®mes et √©tait effar√© de voir sur le nombre de connerie du genre. C¬ī√©tait syst√©mique.

                • [^] # Re: Scylla/MongoDB

                  Post√©¬†par¬† . √Čvalu√©¬†√†¬†0.

                  Ça a continué avec des tonnes de bugs tous plus hallucinants les un que les autres. Si tu as des soirées de libre, remonte le bug tracker jusqu'à la version 3 et tu y trouveras les trucs les plus hallucinants que j'ai pu voir dans ma carrière1.

                  Tu parle d'une version d'il y a 6 ans. C'est très vieux. Même pour pg, si tu prends une version d'il y a 6 ans, tu aura de gros gap (par exemple avoir des déploiement un peu plus sympa que du primaire/secondaire ou dans tout ce qui est partitionnement). Je ne parle même pas de redis qui était très balbutiant il y a 6 ans.

                  Critiquer aujourd'hui un logiciel si vieux, dans un domaine qui évolue autant (postgresql ne supporte pas de versions aussi vielles). C'est à minima non pertinent.

                  Ensuite le marketing, je comprends et en même temps je ne comprends pas pourquoi débrancher son cerveau. Sur un sujet dont c'est ton domaine s'appuyer sur les discours marketing, plus que sur l'architecture ça ne me parait pas être une bonne idée et c'est pas comme si mongo inc étaient les seuls à parler de mongo. De la même manière qu'il faut pas trop accorder d'importance au market de datastax (la boite derrière cassandra) ou d'elastic pour elasticsearch. Ils sont éventuellement intéressant pour savoir quel marché intéresse la boite, mais ça ne vas pas plus loin.

                  Si tu veux te marrer regarde redis et hazelcast‚ÄĮ:

                  C'est peut être désolant, mais il y a un marché et donc des gens qui se battent.


                  1. j'avais vu des trucs très très chelou avec mysql ↩

                  https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                  • [^] # Re: Scylla/MongoDB

                    Post√©¬†par¬† . √Čvalu√©¬†√†¬†10. Derni√®re modification le 06 ao√Ľt 2021 √† 19:10.

                    Critiquer aujourd'hui un logiciel si vieux, dans un domaine qui évolue autant (postgresql ne supporte pas de versions aussi vielles). C'est à minima non pertinent.

                    Le truc c'est que tu ne critiques pas le logiciel mais l'entit√© qui est derri√®re et son fonctionnement. Mongo a b√Ęti sa place en mentant ouvertement (au minimum par omission d√©lib√©r√©e et r√©p√©t√©e).

                    Qu'un produit ait des limites annoncées ou quelques bugs est dans l'ordre des choses. Mais quand quelqu'un a passé au minimum 5 ans à mentir sur ses garanties (on parle d'une DB), ça ne me choque pas que quelqu'un puisse ne pas vouloir s'en approcher pour des raisons éthiques ou techniques. D'autres diront que les choses ont changées ces derniers temps et ne verront aucun problème à récompenser ce comportement. Je peux comprendre les deux points de vue.

                    Ensuite le marketing, je comprends et en même temps je ne comprends pas pourquoi débrancher son cerveau. Sur un sujet dont c'est ton domaine s'appuyer sur les discours marketing, plus que sur l'architecture ça ne me parait pas être une bonne idée et c'est pas comme si mongo inc étaient les seuls à parler de mongo

                    On ne parle pas de marketing. On parle de mentir sur les garantie offertes dans les documentations techniques, d'avoir des configurations volontairement dangereuses par défaut pour faire croire qu'on est pas si lent que ca, et d'oublier de parler de comment tu as obtenu tes chiffres.

                    Personnellement, je trouve triste d'être OK avec ça.

                    • [^] # Re: Scylla/MongoDB

                      Post√©¬†par¬† . √Čvalu√©¬†√†¬†1.

                      Personnellement, je trouve triste d'être OK avec ça.

                      C'est pas une question d'être ok ou pas. Avant de reprocher ça a mongo, ça pourrait être reproché à un paquet de logiciels même non commerciaux. Mais aussi à Intel, AMD, Nvidia et n'importe quel fabriquant de carte mère. Tu utilise du x86 ? C'est triste d'être ok avec ça.

                      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

              • [^] # Re: Scylla/MongoDB

                Post√©¬†par¬† . √Čvalu√©¬†√†¬†5.

                je trouve que redis est le roi du goodenought

                Clairement, c'est comparer des choux et des patates :) Comparer mongo ou mysql avec un vrai sgbr, c'était déjà douloureux. mainteant si tu rajoute un cache, on ne va plus s'y retrouver :D

                PS: on m'informe à l'instant qu'un troll s'est caché dans ce message.

              • [^] # Re: Scylla/MongoDB

                Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†3.

                Tu vois t'es encore entrain de comparer des choux et des patates. L'un ne stock rien sur disque et est l√† pour faire de la latence faible a un mod√®le de stalabilit√©‚Ķ particulier. L√† o√Ļ l'autre √©crira toujours tout sur disque fourni largement plus de garanties etc. Bon perso je trouve que redis est le roi du goodenought, mais c'est une autre histoire.

                C'est faux comme affirmation. Par défaut, Redis écrit tout sur le disque, et de façon synchrone en plus, comme PostgreSQL.

                Les deux ont une latence relativement faible, mais Redis est bien plus efficace avec un très grand nombre de connexions.

                Redis permet de faire des transactions qui sont (de mémoire) presque ACID. Je n'y a pas retouché depuis 3~4 ans, mais j'ai testé dans tous les sens à l'époque de la version 2.8 et 3, et ça marche.

                Redis ce n'est pas goodenought, ça dépend comment tu le configure, mais presque toutes les bases de données quel que soit leur type, te permettent de les configurer pour les rendre plus rapide et moins safe, ou plus lentes et très safe.

                On a utilisé Redis sur des productions pendant plusieurs années, on a jamais eu de soucis particulier, ça marche comme c'est écrit.

        • [^] # Re: Scylla/MongoDB

          Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†5. Derni√®re modification le 06 ao√Ľt 2021 √† 08:31.

          Le probl√®me de postgresql, c'est que √ßa manque de multi sites / ma√ģtres qui marche hors de la boite:(

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

          • [^] # Re: Scylla/MongoDB

            Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†5.

            Le problème est surtout que le retournement maitre/esclave est compliqué et tu peux te retrouver dans un mode split-brain qui est un problème hyper-complexe avec une base SQL. En gros, il faut 3 bases pour que cela marche.

            "La première sécurité est la liberté"

            • [^] # Re: Scylla/MongoDB

              Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†3. Derni√®re modification le 06 ao√Ľt 2021 √† 12:45.

              C'est révolutionnairement logique: il faut deux classes sociales pour renverser la troisième !

              Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

            • [^] # Re: Scylla/MongoDB

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†5.

              disclaimer: fan de Pg, et pas expert pour un sous

              Le probl√®me du split brain, c'est un probl√®me qui est partag√© par toutes les setups qui se veulent haute-dispo. La solution doit √™tre √©videmment pens√©e pour qu'il n'y en aie pas. Plus facile √† dire qu'√† faire‚Ķ surtout qu'on se limite souvent au p√©rim√®tre du la bdd, alors qu'il faut pouvoir analyser le syst√®me dans son ensemble. Ceci-dit, la lin√©arit√© ma√ģtre-esclave fournit des outils en plus pour √©viter ce cas (timelines) et en g√©n√©ral elle se pr√™te bien au mod√®le d'int√©grit√© des SGBR.

              Si on se limite au p√©rim√®tre de la sgbr, certes pg n'a pas de solution clef en main comme mongo ou elastic. Et je dirais que c'est pour le mieux, car cela pousse les gens √† mieux r√©fl√©chir √† leur solution (et, esp√©rons le, √† sortir du p√©rim√®tre de la bdd uniquement). Au contraire, mongo et elastic vont te donner beaucoup de mis√®res dans les sc√©narios o√Ļ justement √ßa me fonctionne plus comme il faut‚Ķ ce qui est en fait contre productif :) (de bonne foie, cet argument peut s'appliquer √† toute solution HA)

              Sur le point de la réplication, pg a eu un développement exemplaire de sa solution de réplication. Elle a évoluée petit à petit à partir d'une base solide, certes lentement, mais en ne compromettant jamais l'existant: Pg t'offre la garantie qu'une requête au moment transactionnel "t" donnera le même résultat sur tous les réplicas, ou une erreur*. C'est une opinion qui est largement répandue et que je partage. Si on compare à mysql, il y avait plusieurs méthodes de réplication, chacune avec des limitations différentes, et aucune ne garantissant une réplication parfaite. Il est de plus possible (je dirais, indispensable même) de tirer profit de la numérotation des transaction pour mieux coordonner ses différents application clientes de la bdd.

              Pour en revenir √† la question de quelle solution est sup√©rieure aux autres, et bien je dois dire que c'est celle que l'on comprenne et pour laquelle on est pr√™t √† d√©velopper. Faire du mongo ou ES en multi-nodes, pourquoi pas, mais alors jamais il ne faut d√©pendre de leur int√©grit√© suppos√©e. Avoir une archi ma√ģtre-ma√ģtre, c'est aussi utiliser des types de donn√©es diff√©rents qui sont "fusionnables" afin d'√©luder le probl√®me de la r√©solution de conflits. Pg a aussi certains fork proprios faisant du ma√ģtre-ma√ģtre, mais il faut bien comprendre les tenants et aboutissants pour en faire un bon usage, et certainement pas s'attendre √† de meilleures performances et encore moins √† ne pas devoir modifier ses applications.

              *: C'est le talon d'Achille de ce modèle: une requête active sur un replica suspend l'application de certaines transactions qui sont susceptibles d'entrer en conflit (par exemple, un drop table) et donc de toutes celles qui suivent (car les transactions sont appliquées dans le même ordre pour garantir l'exactitude de la réplication). Le risque c'est d'avoir un blocage/lag persistent qui fini par générer des erreurs après que le délais dépasse une valeur arbitraire.

        • [^] # Re: Scylla/MongoDB

          Post√©¬†par¬† . √Čvalu√©¬†√†¬†6.

          Bon, puis j'ai eu beaucoup trop d'emmerdes avec MongoDB

          Je suis plut√īt ¬ę¬†anti-Mongo¬†¬Ľ (encore plus depuis qu‚Äôils ont chang√© de licence), entendre le nom MongoDB me fait le m√™me effet qu‚Äôentendre le mot blockchain, mais y a un truc sur lequel Mongo est bien plus moderne, c‚Äôest la partie op√©rationnelle.

          Quand j‚Äô√©tais OVH on avait un cluster o√Ļ il arrivait r√©guli√®rement qu‚Äôun des nŇďuds se d√©synchronise (je sais plus la raison exacte) et faire repartir le cluster c‚Äô√©tait juste une histoire de rm -rf /var/lib/mongo/, restaurer le keyfile, et red√©marrer Mongo. Il retrouvait ses petits et se resynchronisait tout seul.

          √Ä c√īt√© de √ßa, on avait des pages de proc√©dures pour restaurer un PG ou une MySQL apr√®s un failover.

  • # Un titre pareil...

    Post√©¬†par¬† . √Čvalu√©¬†√†¬†-7. Derni√®re modification le 06 ao√Ľt 2021 √† 22:14.

    … ne devrait pas être accepté.

    Amis (et amies ?) en charge de la modération, voulez-vous intervenir ?

    • [^] # Re: Un titre pareil...

      Post√©¬†par¬† . √Čvalu√©¬†√†¬†5. Derni√®re modification le 07 ao√Ľt 2021 √† 12:20.

      tu pensais à quoi ? Peut-être que c'est toi qui a juste l'esprit mal placé…

      ¬ę Le pouvoir des Tripodes d√©pendait de la r√©signation des hommes √† l'esclavage. ¬Ľ -- John Christopher

      • [^] # Re: Un titre pareil...

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

        C'est une faute de grammaire grave, celle de confondre un verbe avec un nom propre.

        Adhérer à l'April, ça vous tente ?

      • [^] # Re: Un titre pareil...

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†6.

        Pas besoin d'avoir l'esprit mal placé, juste d'avoir de la culture (et d'être assez vieux).

        Le titre est pour moi une référence au sketch "Le viol de Monique", fait par Coluche en 1979. On le trouve sans souci en cherchant sur le web, mais pour éviter de chercher, il est sur youtube.

        Il suffit d'écouter jusqu'à 1 minute 28:

        Vous savez comment on l'appelle dans mon quartier: "Monique, deux qui la tiennent, trois qui la niquent".

        • [^] # Re: Un titre pareil...

          Post√©¬†par¬† . √Čvalu√©¬†√†¬†-3.

          Merci Misc ;)

          Je me rends compte que ce n'était pas évident pour tout le monde. En ce qui me concerne, ce titre m'a sauté à la figure. Et nul doute que l'auteur savait très bien ce qu'il écrivait. Il a voulu faire sourire, mais il a surtout démontré une triste disposition, latente dans logiciel libre, à diverses formes de sexisme. Ici, la culture du viol.

          • [^] # Re: Un titre pareil...

            Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

            Il y plein de blagues qui parlent de la mort. Est-ce une culture de la mort ?

            Il y a plein de blagues sur les blondes? Est-ce une culture de la blonde?

            J'ai essayé d'en trouver non offensante*:

            • Combien de tour fait un b√©b√© dans un micro onde avant d'exploser?
            • Je ne sais pas, j'ai du mal √† compter quand je me masturbe.

            *: mais je n'en ai pas trouvé :(

            Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

            • [^] # Re: Un titre pareil...

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†1.

              L'humour sexiste, c'est de l'humour.

              Sexiste.

              J'aimerais lire linuxfr.org sans me frotter √† ce genre d'humour, m√™me s'il passe inaper√ßu √† moins de conna√ģtre Coluche et d'entendre la consonance (un peu lointaine, certes) entre un acte sexuel et une r√©f√©rence √† la mythologie.

              Ma pétition n'est pas autant dirigée à l'équipe de modération finalement, qu'à toi, @devnewton : ok, c'est pas sympa de ma part de te montrer du doigt, j'admets. C'est désagréable, il y a de quoi se mettre sur la défensive.

              Mais franchement, a-t-on besoin de placer un trait d'humour tirés par les cheveux, en forme de scène de viol, parce que le nom du projet sur lequel on écrit est féminin ? À quel genre de communauté on contribue de cette façon ? Je doute que tu aurais été aussi spontanément créatif avec un nom masculin.

              Non, non, ceci n'est pas un encouragement ;)

              • [^] # Re: Un titre pareil...

                Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†6.

                Tu peux créer une base de données libre et l'appeler Hercule pour voir :-)

                Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

            • [^] # Re: Un titre pareil...

              Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†5. Derni√®re modification le 09 ao√Ľt 2021 √† 09:58.

              Il y plein de blagues qui parlent de la mort. Est-ce une
              culture de la mort ?

              Non, parce que la mort est un phénomène biologique globalement inévitable qui arrive à tout le monde. Je pense qu'on peut difficilement dire que le viol est inévitable, ni ignorer sa repartition suivant des lignes de genre.

              Il y a plein de blagues sur les blondes? Est-ce une culture de
              la blonde?

              Non, mais clairement, on peut voir ça comme une culture ou il est sociétalement accepté de se moquer des gens pour la couleur des cheveux et leur genre, surtout une fois qu'on s’aperçoit qu'il y a des blagues qui ne sont pas envisagé.

              Ton exemple est assez parlant, parce que je pense que dire "il y a plein de blagues sur les chatains" aurait été beaucoup plus surprenant et moins naturel.

              Déjà parce qu'il n'y en a pas vraiment, malgré le fait qu'on peut trivialement changer le genre et la couleur de cheveux dans n'importe quel blague.

              Ensuite, parce "la blonde" évoque un personnage, mais "le chatain" non.

              Donc oui, le fait que "la blonde" évoque un personnage traduit quelque chose au niveau de la société.

            • [^] # Re: Un titre pareil...

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†8.

              C’est toujours la même histoire, ce genre d’humour ça tombe vite à plat.
              Coluche s‚Äôen sortait parce que c‚Äô√©tait Coluche, que c‚Äô√©tait son boulot, qu‚Äôil √©tait dou√©, qu‚Äôil √©tait dr√īle et que son public venait le voir pour ce genre d‚Äôhumour.
              Ah, et aussi, parce qu’on comprenait assez vite que c’était du 2nd degré et qu’il y avait un message sous jacent.

              La tu choppes un public, qui ne vient pas pour ça, à froid, avec une référence obscure (c’est pas son sketch le plus connu, clairement), sur un sujet qui plus est sensible.
              Faut pas s’étonner de se prendre un bide.

              Linuxfr, le portail francais du logiciel libre et du neo nazisme.

              • [^] # Re: Un titre pareil...

                Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†5.

                La tu choppes un public, qui ne vient pas pour ça, à froid,
                avec une référence obscure (c’est pas son sketch le plus connu,
                clairement)

                Oui, et puis, Coluche, il semble ne plus faire trop de spectacle. Je me demande ce qu'il devient, j'irais voir après ma réunion d'équipe.

              • [^] # Re: Un titre pareil...

                Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†5.

                Le pattern X qui la tiennent, Y qui la Z est plut√īt connu en humour fran√ßais.

                Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

                • [^] # Re: Un titre pareil...

                  Post√©¬†par¬† . √Čvalu√©¬†√†¬†3. Derni√®re modification le 09 ao√Ľt 2021 √† 18:18.

                  Je n‚Äôai jamais vu ce ¬ę¬†pattern¬†¬Ľ autrement que dans sa forme originale.

                  • [^] # Re: Un titre pareil...

                    Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†3.

                    Juste de tête comme ça, je pense aux Inconnus, un flim avec Chabat et la blague de Monsieur et Madame Deukil…

                    Je veux bien qu'il faille tout expliquer aux petits nouveaux, mais dans les commentaires on en tient un qui n'avait pas compris la référence mythologique.

                    Donc les jeunes, au lieu de regarder des youtubeurs débiles, vous allez me relire tout Homère et tous les humoristes français (oui même Anne Roumanov, ça vous apprendra à faire les malins).

                    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

                • [^] # Re: Un titre pareil...

                  Post√©¬†par¬† . √Čvalu√©¬†√†¬†3.

                  Vu le bouillon que tu t’es prit, je suis pas sur qu’il soit aussi connu que ce que tu penses.
                  Le simple fait que misc ait du clarifier la référence devrait te mettre la puce à l’oreille.

                  Linuxfr, le portail francais du logiciel libre et du neo nazisme.

          • [^] # Re: Un titre pareil...

            Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

            Ce titre m'a aussi saut√© √† la figure, mais m√™me avec des explications (nom/verbe, r√©f√©rence‚Ķ) il faut bien avouer que le mot H√©cube, n'appara√ģt qu'en tant que nom propre dans mon dictionnaire. Du coup, je ne comprends toujours pas. Et c'est bien dommage. En g√©n√©ral j'appr√©cie l'humour de Devnewton.

            ¬ę IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT ¬Ľ ‚ÄĒ Odes ‚ÄĒ Horace

    • [^] # Re: Un titre pareil...

      Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4. Derni√®re modification le 07 ao√Ľt 2021 √† 16:16.

      Pourquoi? Parce que l'humour peut faire mourir de rire¬†? Parce que les r√©f√©rences mythologiques sont anti la√Įques¬†? Parce que les Inconnus pourraient porter plainte pour plagiat de leur chanson Y'en a marre du rap¬†?

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: Un titre pareil...

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†0.

        Malheureusement les années 2020 et celles à venir sont enrichies par la génération fragile et cancel culture. Il n'y a rien que l'on puisse faire.

        futur

        git is great because linus did it, mercurial is better because he didn't

        • [^] # Commentaire supprim√©

          Post√©¬†par¬† . √Čvalu√©¬†√†¬†10.

          Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: Un titre pareil...

          Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†6.

          Malheureusement les années 2020 et celles à venir sont
          enrichies par la génération fragile et cancel culture. Il n'y a
          rien que l'on puisse faire.

          Ma foi, je sais que c'est pas au programme d'histoire en France, mais la censure des medias ne date pas vraiment de 2020. Vu que tu utilises le terme américain de Cancel Culture (qui reste quand même un export de la droite américaine), je me sens obligé d'éclairer par des exemples historiques.

          Par exemple, pour le cinéma, entre 1934 et 1966 (et encore aujourd'hui), il y a le Code Hays. Et de ce que je sais, une partie des effets se fait sentir encore de nos jours.

          Une dizaine d'année plus tard, c'est au tour des BDs de faire les frais de la Comics code authority.

          On peut passer des mediums plus récent, comme les jeux vidéos, et le fait que Nintendo of America a fait modifié plein de jeux dans les années 80 à 90, cf ici, ici ou ici.

          Dans le même genre d'idée, on peut aussi parler des changements fait sur les animes, toujours dans les années 90. L'exemple le plus connu est sans doute Sailor Moon, mais je peux trouver des exemples plus obscures comme Samurai Pizza Cats, avec certains épisodes non diffusés, (ici, ici et une dizaine d'autres).

          En France, on peut citer les retraductions de Ken le Survivant.

          Donc ouais, on ne pouvait pas tout dire avant. Un film comme Gazon maudit n'aurait sans doute pas pu être produit à Hollywood à l'époque. Pour le contexte, 1995 (date de sortie de Gazon Maudit), c'est 2 ans après la promulgation de la politique Don't ask, don't tell par l'armée US.

        • [^] # Re: Un titre pareil...

          Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†-3.

          Pauvre choupinet tout fragile :(((

          • [^] # Re: Un titre pareil...

            Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†-2.

            Hmmm, je crois que tu as pas choisi la bonne réponse non ?

            git is great because linus did it, mercurial is better because he didn't

            • [^] # Re: Un titre pareil...

              Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†-1.

              P’tet, je sais plus.

              Je répondais à

              Malheureusement les années 2020 et celles à venir sont enrichies par la génération fragile et cancel culture. Il n'y a rien que l'on puisse faire.

              • [^] # Re: Un titre pareil...

                Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†-1.

                Bah du coup je confirme que tu as pas répondu à la bonne personne. Si tu me prends pour un fragile c'est que tu n'as absolument rien compris à mon message.

                git is great because linus did it, mercurial is better because he didn't

                • [^] # Re: Un titre pareil...

                  Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†1.

                  Sauf second degr√© foireux (j‚Äôte connais p√ī, difficile √† dire), je pense avoir bien compris le message. Le vocabulaire employ√© me fait bien rire (jaune) mais enjoy ta virilit√© g√©n√©rationnelle (pwah √ßa veut rien dire tout √ßa‚Ķ).

  • # Ah ouais quand m√™me

    Post√©¬†par¬† . √Čvalu√©¬†√†¬†2.

    √Čcrite en Java (pour les perfs),

    OMG !

    elle utilisable […] ou via des API dans tous les bons langages mais aussi en Python ou Node.js.

    J'ai ressenti une grande perturbation dans la force trollique…

    "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

    • [^] # Commentaire supprim√©

      Post√©¬†par¬† . √Čvalu√©¬†√†¬†3.

      Ce commentaire a été supprimé par l’équipe de modération.

  • # Cassandra colonnes ou documents?

    Post√©¬†par¬† . √Čvalu√©¬†√†¬†1. Derni√®re modification le 28 octobre 2021 √† 11:54.

    Cassandra n'est pas une base de données orientée colonnes. C'en est une orientée documents appelée "wide-column store".

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.