Это похоже на известную ошибку g ++ 70939 :
создание объекта абстрактного класса, разрешенного во всех версиях g ++
g ++ компилирует плохо сформированный C ++ запрограммируйте успешно
class A { public: A() { printf("A()\n"); } virtual void b() const = 0; }; int main() { const A& a{}; a.b(); return 0; }
Ваш код делает то же самое, что и эта строка
const A& a{}
как часть вызова g({})
.
Информация разбросана по сети, но вот что я узнал:
Введение в бенчмаркинг баз данных
Первое, что вам нужно сделать, это выяснить стандартный тест, который можно использовать для сравнения выбранных вами баз данных в памяти. На вики-странице Oracle дается обзор стандартных тестов производительности баз данных . Если вы можете найти результаты для одних и тех же стандартных тестов для TimesTen и MySql Cluster, вы сможете сравнить их. Найти подробное сравнение всех баз данных в памяти довольно редко.
Резюме: Поскольку вы упомянули OLTP, Возможно, вас заинтересует стандартный отраслевой эталонный тест TPC-E, который имитирует рабочую нагрузку OLTP брокерской фирмы. Другие отраслевые стандартные тесты измеряют поддержку принятия решений и транзакции баз данных электронной коммерции.
Наборы тестов для баз данных с открытым исходным кодом
Набор тестов для баз данных Open Source Development Labs является наиболее полной реализацией этого отраслевого стандарта с открытым исходным кодом. тесты, о которых я упоминал ранее. У них есть четыре основных набора тестов, пронумерованных DBT1, DBT2, DBT3, DBT4. Они не реализовали тест TPC-E, но тест базы данных 2 (DBT2) - это то, что вам нужно, поскольку он имитирует транзакции OLTP. Все просто ссылаются на запуск теста DBT2 вместо того, чтобы писать его как OSDLB DBT2. достичь 100 000 транзакций в минуту в конфигурации с 8 узлами. это показали впечатляющие улучшения масштабирования по сравнению с 2-узловым кластером который смог получить 26000 транзакций в минуту. Эти были реализованы улучшения производительности за счет использования нового Multi Core Серверы Intel Xeon на базе Intel Микроархитектура Core T.
Oracle
К сожалению, DBT2 не поддерживает TimesTen. Однако я нашел технический документ, который дает подробную информацию об эталонных тестах TimesTen в рабочей нагрузке OLTP.
IBM
Другие ресурсы
В этой вики-статье дается сравнение большинства хорошо известных СУБД: Сравнение систем управления реляционными базами данных
Нет сравнения, но перечисляются СУБД в памяти: База данных в памяти
Кроме того, это в некоторой степени будет зависеть от вашего предполагаемого использования. Каковы ваши ограничения и минимальные требования к производительности?
Я думаю, что лучший вариант - получить пробные (или бесплатные) версии и установить собственные тесты.
Практически каждая СУБД будет делать то же самое, но по-разному, поэтому вам следует искать самую быструю СУБД, которую вы можете найти, если вам нужна скорость, вы должны использовать TimesTen это считается одним из самых быстрых решений, но СУБД с открытым исходным кодом заключается в том, что некоторые из более продвинутых функций (например, репликация) далеки от того, что можно найти в коммерческих альтернативах. Проще говоря, большинству пользователей не требуется репликация на уровнях, предлагаемых Oracle, DB2 или MS-SQL; поэтому разработчики PostgreSQL и MySQL не чувствуют необходимости улучшать его.
Этот ответ был получен после поиска самого быстрого между РСУБД, упомянутой здесь, и некоторыми уже известными мной, я пошел 2 на 2 в поисках лучшего и затем ищем лучшее между победителем и другим, и в результате TimesTen является самым быстрым среди:
Итак, вам следует используйте для упомянутого приложения и установленных условий TimesTen.
VoltDB - это находящаяся в памяти высокомасштабируемая база данных OLTP, которая предоставляет SQL / ACID и работает на стандартном оборудовании в кластере без совместного использования ресурсов. Он имеет открытый исходный код и существует как в бесплатной / общественной (AGPLv3) версии , так и в коммерчески поддерживаемой версии.
На форумах VoltDB есть сообщение, в котором обсуждаются некоторые другие решения РСУБД OLTP в памяти по адресу http://community.voltdb.com/node/95 . Не стесняйтесь просматривать и добавлять к этой публикации.