Frage

Frage Cassandra

Warum die Hölle auf der Erde würde jemand schreiben, die eine Datenbank-ENGINE, die in Java ?
Ich kann verstehen, warum Sie würde wollen zu haben eine Java-Schnittstelle, aber der Motor...

Ich war unter dem Eindruck, dass sich nichts schneller als C/C++, und dass eine Datenbank-engine sollte kein langsamer als max Geschwindigkeit, und sicherlich nicht verwenden garbage collection -...

Kann jemand mir erklären, was Sinn macht / warum Cassandra kann schneller sein als die normalen SQL läuft auf C/C++ - code ?

Edit:
Sorry für das "Warum die Hölle auf Erden" - Teil, aber es hat wirklich keinen Sinn für mich.
Ich hatte Bedenken, dass eine Datenbank, im Gegensatz zu den durchschnittlichen Garten-varitety user-Programme, muss nur einmal gestartet und läuft dann für eine sehr lange Zeit, und wahrscheinlich auch das einzige Programm auf dem server, die offenbar selbst macht für eine wichtige Leistung Unterschied.

Ich war mehr vergleichen/Referenzierung zu einer "disfunctional' (um es milde auszudrücken) Java-Steuer-Programm, das ich war, mit in die Zeit von schreiben (oder eher hätte gern verwenden).

In der Tat, im Gegensatz zur Verwendung von Java für die Steuer-Programme, die mit Java für das schreiben einer dedizierten server-Programm macht absolut Sinn.

War es hilfreich?

Lösung

Ich kann sehen, ein paar Gründe:

  • Sicherheit:es ist einfacher zu schreiben sicherer software in Java als in C++ (denken Sie daran, die buffer overflows?)
  • Leistung:es ist nicht, DASS Sie schlimmer.Es ist definitiv schlimmer, beim Start, aber sobald der code wird ausgeführt, es ist nicht eine große Sache.Eigentlich haben Sie sich zu erinnern, hier einen wichtigen Punkt:Java-code wird kontinuierlich optimiert, indem die VM, so in einigen Fällen, es wird schneller als C++

Andere Tipps

Was meinst du, C++?Hand codiert Montage wäre schneller, wenn Sie noch ein paar Jahrzehnte zu ersparen.

Warum die Hölle auf der Erde würde jemand schreiben, die eine Datenbank-ENGINE, die in JAVA ?

Plattform-Unabhängigkeit ist ein ziemlich großer Faktor für Server, da Sie viel mehr hardware und OS heterogenity als mit desktop-PCs.Ein anderes ist die Sicherheit.Nicht haben, um sorgen über buffer overflows bedeutet, dass die meisten der schlimmsten Art von Sicherheitslücken sind einfach unmöglich.

Ich war unter dem Eindruck, dass es ist nichts schneller als C/C++, und dass eine Datenbank-engine sollten nicht sein jede langsamer als die max Geschwindigkeit, und sicherlich nicht verwenden, garbage Sammlung...

Ihr Eindruck ist falsch.C/C++ ist nicht unbedingt schneller als Java und moderne garbage-Kollektoren haben einen großen Teil dazu, denn Sie ermöglichen Objekt der Schöpfung zu werden unglaublich schnell.

Vergessen Sie nicht, dass Java-VMs nutzen und eine just-in-time (JIT) - engine, perform on-the-fly-Optimierungen, um Java-vergleichbar mit C++ in Bezug auf die Geschwindigkeit.Eingedenk der Tatsache, dass Java ist ziemlich produktiv Sprache (trotz der Neinsager) und tragbare, zusammen mit der JIT-Optimierung-Fähigkeit bedeutet, dass Java nicht eine unzumutbare Wahl für so etwas.

Die Leistungseinbußen für moderne Java-Laufzeitumgebungen nicht so groß ist und die Programmierung in Java ist weniger fehleranfällig als in c.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top