2011-01-19 2 views
2

Я пытаюсь провести сравнение между установкой системы с использованием Hadoop и HBase и достичь того же, используя Oracle DB в качестве задней части. Мне не хватает знаний о стороне Oracle, поэтому мы приходим к справедливому сравнению.Настройка Oracle для тяжелой нагрузки

Рабочая нагрузка и нефункциональные требования примерно таковы:
A) Операции 12M на двух таблицах с одним простым соотношением и несколькими (нетекстовыми) индексами в течение 4 часов. Это составляет 833 транзакции в секунду (TPS), поддерживаемых. Это нужно делать каждые 8 ​​часов.

B) Убедитесь, что все записи прочны (так что работающая транзакция сохраняется при сбое машины в случае кластеризации) и имеет достойный уровень доступности? Имея достойный уровень доступности, я имею в виду, что регулярные сбои, такие как дисковый и один сетевой интерфейс/tcp-соединение, не должны требовать вмешательства человека. Редкие сбои, могут потребовать вмешательства, но должны быть решены путем простого запуска холодного режима ожидания, который может занять быстро.

C) Дополнительно добавьте еще 300 TPS, но они происходят почти непрерывно 24/7 через множество таблиц (но все пары из двух с одинаковым простым отношением и несколькими индексами)?

В некоторых контекстах: эта рабочая нагрузка составляет 24/7, и система должна хранить исторические данные за 10 лет для живых запросов. Производительность запроса может быть немного хуже, чем вторая, но должна быть достаточно оживленной, чтобы учитывать ее повседневное использование. Рабочие места ETL настроены таким образом, что есть небольшой отток. Также в реляционной установке эта рабочая нагрузка приведет к небольшому конфликту блокировки. Я ожидаю, что обновление индекса станет главной болью. Чтобы сделать сравнение максимально справедливым, я ожидал бы самого низкого уровня согласованности, который предоставляет Oracle.

Я не собираюсь издеваться над Oracle. Я думаю, что это отличная база данных для многих целей. Я пытаюсь получить представление о компромиссе между тем, что происходит с открытым исходным кодом (и NoSQL), как и мы, и используя коммерчески поддерживаемую проверенную установку.

+0

Вы должны задать этот вопрос на более конкретных сайтах, таких как http://dba.stackexchange.com/ или http://forums.oracle.com/forums/category.jspa?categoryID=18 – softveda

+0

Честная оценка. Я только что сделал. – FvV

ответ

3

Никто не может ответить на этот вопрос окончательно.

Когда вы идете купить автомобиль, вы можете с уверенностью ожидать, что его максимальная скорость, ускорение и расход топлива будут находиться в пределах нескольких процентов от независимых испытаний. То же самое не относится к программному обеспечению вообще или к базам данных в частности.

Даже если вы предоставили точную информацию об оборудовании, ОС и структурах данных, а также полную информацию о количестве хранимых данных и транзакциях, производительность может легко варьироваться в 100 раз в зависимости от шаблона (из-за развития горячих точек кэширования записей, фрагментации диска).

Однако, говорят, что есть несколько советов, я могу дать:

1) неизменно NoSQL базы данных будут производительнее обычной СУБД - причина d'être для NoSQL баз данных является производительностью и распараллеливание. Это не означает, что обычные СУБД являются избыточными - они обеспечивают гораздо большую гибкость при взаимодействии с данными

2) для объемов данных малого и среднего диапазона, Oracle относительно медленный в моем опыте по сравнению с другими реляционными базами данных. Я не слишком впечатлен Oracle RAC как масштабируемое решение.

3) Я подозреваю, что нагрузка требует сервера среднего диапазона для получения стабильных результатов (что-то в районе $ 8k +) работает Oracle

4) В то время как имеющая горячий резерв быстрый способ, чтобы охватить все во многих случаях риски/затраты/выгоды благоприятствуют таким подходам, как RAID, несколько сетевых карт, UPS, а не проблемы сохранения синхронизированного кластера.

5) Поддержка - вам когда-либо приходилось спрашивать разработчиков программного обеспечения с открытым исходным кодом, если они будут оплачивать поддержку? IME, SLA/EULA для коммерческого программного обеспечения больше касаются защиты поставщика, чем клиента.

Итак, если вы считаете, что его стоит рассмотреть, а стоимость не является большой проблемой, тогда лучшим ответом было бы попробовать это для себя.

+0

Я думаю (1) немного завышен. В разных нишах существует множество баз данных noSQL. Большинство будет работать лучше для целевой ниши. База данных документов была бы довольно плохой в анализе стиля склада. –

1

Не обижайтесь здесь, но если у вас мало знаний Oracle, вы действительно не сможете провести справедливое сравнение. Я работал с командами очень опытных администраторов баз данных Oracle и sys, которые будут спорить о настройках для сравнительных тестов (переменные настройки аппаратного/программного обеспечения почти бесконечны). Обычно эти тесты были оправданием для предвиденных выводов о направлении инфраструктуры (деньги также являются ключевым вопросом).

Кроме того, планируете ли вы нанять команду экспертов Hadoop для управления инфраструктурой данных вашей компании? Oracle не дешево, но вы можете найти очень опытных профессионалов Oracle (от администраторов баз данных до разработчиков до аналитиков), не слишком уверены в аддонах аддонов/dbas ...

Просто пища для размышлений (и нет, я не знаю работа для Oracle;)

Смежные вопросы