Вопрос о Cassandra
Какого черта на земле кто-либо записал бы механизм базы данных в Java?
Я могу понять, почему Вы хотели бы иметь интерфейс Java, но механизм...
У меня создалось впечатление, что нет ничего быстрее, чем C/C++, и что механизм базы данных не должен быть немного медленнее, чем максимальная скорость и конечно не использовать сборку "мусора"...
Кто-либо может объяснить меня, какой возможный смысл, который делает / почему Cassandra может быть быстрее, чем обычный SQL, который работает на коде C/C++?
Править:
Извините за, "Какого черта на земле" часть, но это действительно не имело никакого смысла мне.
Я забыл полагать, что база данных, в отличие от средних программ пользователя сада-varitety, должна быть запущена только однажды и затем работает в течение очень долгого времени, и вероятно также как единственная программа на сервере, который самоочевидно делает для важного различия в производительности.
Я больше сравнивал/ссылался с 'disfunctional' (мягко говоря) налоговую программу Java, которую я использовал во время записи (или скорее будет любить использовать).
На самом деле, в отличие от использования Java для налоговых программ, с помощью Java для записи программы выделенного сервера имеет смысл.
Я вижу несколько причин:
Что вы имеете в виду, C ++? Сборка с ручным кодированием будет быстрее, если у вас есть несколько десятилетий в запасе.
Не забывайте, что виртуальные машины Java используют механизм JIT, который выполняет оптимизацию «на лету», чтобы сделать Java сопоставимой с C ++ по скорости. Принимая во внимание, что Java является довольно производительным языком (несмотря на его скептики) и портативным, вместе с возможностью оптимизации JIT, означает, что Java не является необоснованным выбором для чего-то вроде этого.
Какого черта кому-то понадобилось писать базу данных ENGINE на JAVA?
Независимость от платформы - довольно важный фактор для серверов, потому что у вас гораздо больше разнородности аппаратного обеспечения и ОС, чем на настольных ПК. Другой фактор - безопасность. Отсутствие необходимости беспокоиться о переполнении буфера означает, что большинство наихудших дыр в безопасности просто невозможны.
У меня сложилось впечатление, что нет ничего быстрее, чем C/C++, и что движок базы данных не должен быть медленнее максимальной скорости, и и уж точно не использовать сборку мусора сборку мусора...
Ваше впечатление неверно. C/C++ не обязательно быстрее Java, и современные сборщики мусора играют в этом большую роль, потому что они позволяют создавать объекты невероятно быстро.
Потеря производительности для современных сред выполнения Java не так велика, и программирование на Java менее подвержено ошибкам, чем в c.