Question

Question à propos de Cassandra

Pourquoi l'enfer sur la terre de quelqu'un d'écrire un MOTEUR de base de données en Java ?
Je peux comprendre pourquoi vous voulez avoir une interface Java, mais le moteur...

J'étais sous l'impression qu'il n'y a rien de plus rapide qu'en C/C++, et qu'un moteur de base de données ne devrait pas être plus lente que la vitesse max, et certainement pas les utiliser de collecte des ordures...

Quelqu'un peut-il m'expliquer ce sentiment qui rend / pourquoi Cassandra peut être plus rapide qu'à l'ordinaire SQL qui fonctionne sur le code C/C++?

Edit:
Désolé pour le "Pourquoi l'enfer sur terre", mais il n'a pas vraiment de sens pour moi.
J'ai négligé de considérer qu'une base de données, contrairement à la moyenne de jardin-varitety les programmes de l'utilisateur, doit être lancé qu'une seule fois et puis s'exécute pour un temps très long, et sans doute aussi comme le seul programme sur le serveur, ce qui de toute évidence fait pour une importante différence de performances.

J'ai été plus comparer/référencement d'un "disfunctional' (c'est un euphémisme) de Java programme de la taxe sur que j'utilisais à l'époque de l'écriture (ou plutôt aurait aimé utiliser).

En fait, contrairement à l'utilisation de Java pour les programmes de crédit d'impôt, à l'aide de Java pour la rédaction d'un serveur dédié programme est parfaitement logique.

Était-ce utile?

La solution

Je peux voir quelques raisons:

  • Sécurité:il est plus facile d'écrire des logiciels sécurisés en Java qu'en C++ (rappelez-vous les dépassements de la mémoire tampon?)
  • Performance:ce n'est pas QUE pour le pire.C'est certainement la pire au démarrage, mais une fois que le code est en place et en cours d'exécution, ce n'est pas une grande chose.En fait, vous devez vous rappeler un point important:Le code Java est continuellement optimisé par la machine, et dans certaines circonstances, il devient plus rapide qu'en C++

Autres conseils

Que voulez-vous dire, C++?La main codé de l'assemblée serait plus rapide si vous avez quelques décennies de rechange.

Pourquoi l'enfer sur la terre de quelqu'un d'écrire un MOTEUR de base de données en JAVA ?

Plate-forme de l'indépendance est vraiment un grand facteur pour les serveurs, parce que vous avez beaucoup plus de matériel et OS heterogenity qu'avec les Pc de bureau.Un autre est la sécurité.Ne pas avoir à se soucier des dépassements de la mémoire tampon signifie que la plupart de la pire espèce de trous de sécurité sont tout simplement impossible.

J'étais sous l'impression que il n'y a rien de plus rapide qu'en C/C++, et qu'un moteur de base de données ne devrait pas être tout plus lente que la vitesse max, et certainement pas à la poubelle la collection de...

Votre impression est incorrecte.C/C++ n'est pas nécessairement plus rapide que Java, et moderne, les éboueurs ont un rôle important dans ce domaine, parce qu'ils permettent la création d'un objet à être incroyablement rapide.

N'oubliez pas que les machines virtuelles Java utiliser un juste-à-temps (JIT) moteur à effectuer à la volée optimisations pour rendre Java comparable à C++ en termes de vitesse.En gardant à l'esprit que Java est assez productif de la langue (en dépit de ses opposants) et portable, en collaboration avec l'équipe de l'optimisation de la capacité, signifie que Java n'est pas déraisonnable de choix pour quelque chose comme cela.

Les performances modernes pour le temps d'exécution Java n'est pas très grand et la programmation en Java est moins sujette aux erreurs que dans c.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top