Я предполагаю, что я собираюсь быть противоположным.
При прочих равных, скомпилированный код работает быстрее, чем JVM, и просто нет необходимости использовать сборку мусора, чтобы избежать тактики.
Будучи написанным на C/C++, eXtremeDB (продукт моей компании) может полностью избежать использования управления памятью во время выполнения C. Полное управление областью памяти в программном обеспечении базы данных позволяет использовать высокоэффективные и специализированные менеджеры памяти и устраняет возможность утечек памяти (с точки зрения всей системы, например, если 200 ГБ отведено для базы данных в памяти). , он никогда не превысит 200 ГБ). eXtremeDB не уникальна в этом отношении; другие СУБД с оперативной памятью, написанные на C/C++, также могут избежать операций malloc/free во время выполнения C или new/delete C++. Так что, пожалуйста, не обвиняйте меня в том, что я делаю презентацию продукта, это не так. Я указываю на возможность, которая возможна с реализацией C/C++, но может быть недоступна с JVM.
Другие ответчики правы: дрянная реализация плана выполнения SQL для данного запроса может свести на нет любое преимущество скомпилированного кода по сравнению с JVM, но в какой-то момент вы должны быть уверены, что ваш поставщик СУБД знает, что они делают ( и заинтересованы в улучшении своего продукта, если план явно неэффективен/неправилен). Если вы не используете SQL, то качество/плохость оптимизатора SQL не является частью уравнения, и на самом деле это зависит от того, насколько хорошо написаны методы индексирования системы баз данных, а также от наличия различных типов индексов для различных требований поиска. (например, хэш-индекс, как правило, лучше, чем b-дерево, для поиска с точным соответствием, но хэш-индекс не может поддерживать поиск с частичным ключом (шаблоном) или упорядоченный поиск).
Есть несколько общедоступных (независимых, проверенных) тестов, на которые вы можете обратить внимание. Мы участвовали в нескольких STAC-M3, хотя только одна другая СУБД также участвовала (в частности, СУБД, которую вы перечислили, не участвовала).
person
Steven Graves
schedule
19.04.2017