Cassandra に関する質問
なぜ地獄がデータベースエンジンをJava?
Javaインターフェースが必要な理由はわかりますが、エンジン...
私はC/C++よりも高速なものはなく、データベースエンジンは最大速度より遅くてはならず、ガベージコレクションを使用してはならないという印象を受けました...
誰かが私にどんな意味を説明できるか/なぜCassandraはC/C++コードで実行される通常のSQLよりも高速である可能性がありますか?
編集:
「地獄の理由」の部分は申し訳ありませんが、それは本当に私には意味がありませんでした。
私は、平均的な園芸ユーザープログラムとは異なり、データベースを1回だけ起動してから非常に長い時間実行する必要があること、そしておそらくサーバー上の唯一のプログラムとして、 -明らかに重要なパフォーマンスの違いになります。
私は「機能不全」と比較/参照していました(穏やかに言うと)Java執筆時に使用していた税プログラム(またはむしろ使用したかった) )。
実際、税務プログラムにJavaを使用するのとは異なり、専用サーバープログラムを作成するためにJavaを使用することは完全に理にかなっています。
いくつかの理由がわかります。
C++とはどういう意味ですか?手作業でコード化されたアセンブリは、数十年の余裕があればより速くなります。
なぜ地獄がデータベースエンジンをJava?
デスクトップPCよりもはるかに多くのハードウェアとOSの多様性があるため、プラットフォームの独立性はサーバーにとってかなり大きな要因です。もう1つはセキュリティです。バッファオーバーフローを心配する必要がないということは、最悪の種類のセキュリティホールのほとんどが単純に不可能であることを意味します。
C/C++よりも高速なものはなく、データベースエンジンは最大速度よりも遅くてはならず、ガベージコレクションを使用してはならないという印象を受けました...
あなたの印象は間違っています。 C/C++は必ずしもJavaよりも高速であるとは限りません。最新のガベージコレクターは、オブジェクトの作成を驚くほど高速にすることができるため、大きな役割を果たします。
Java VMは、オンザフライ最適化を実行するジャストインタイム(JIT)エンジンを使用してJavaを比較可能にすることを忘れないでくださいJavaは非常に生産的な言語であり(その反論はあるが)、移植性があり、JIT最適化機能と共に、Javaは、このようなものには不当な選択ではありません。
現代のパフォーマンスペナルティJavaランタイムはそれほど大きくなく、Javaでのプログラミングは、cよりもエラーが発生しにくいです。