Для тяжелой нагрузки требуется установка Oracle - PullRequest
2 голосов
/ 19 января 2011

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

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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 19 января 2011

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

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

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

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

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

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

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

4) Хотя горячее резервирование является быстрым способом покрытия всевозможных сбоев, во многих случаях риск / затраты / выгода отдают предпочтение таким подходам, как RAID, несколько сетевых карт, ИБП, а не проблемам обслуживания синхронизированный кластер.

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

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

1 голос
/ 20 января 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...