Когда использовать Hadoop излишне? - PullRequest
5 голосов
/ 21 сентября 2010

У меня есть база данных Oracle (примерно 1,2 миллиарда записей) данных с веб-приложением, которое генерирует запросы (генерирует код SQL и возвращает счетчики).В основном вы генерировали SQL-запросы графически через пользовательский интерфейс AJAX ... и он довольно неплохо работает с точки зрения производительности.

Это примерно 400 ГБ базы данных.Я смотрю на Hadoop и думаю об использовании его вместо Oracle (пусть мое приложение генерирует код запроса HIVE), НО мне кажется, что это излишнее… не то, что hasoop больше нацелен на десятки терабайт на петабайтнаборы данных масштаба?Это подходит вместо реляционной базы данных (например, Oracle) для задачи, которую я делаю ??

Ответы [ 3 ]

4 голосов
/ 21 сентября 2010

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

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

Если все ваши данные в Oracle, они, вероятно, все проанализированы, проиндексированы и, как мы надеемся, несколько регулярны.Если хрущ существует полностью в этом домене (и вы не пытаетесь работать с чем-то необычным, например, с большими BLOB-объектами или другими странными ситуациями), в большинстве случаев лучше позволить вашему ядру базы данных справиться с этим.

Мораль истории:

Hadoop действительно потрясающий, но он не магический и не делает обычный старый SQL быстрее!

3 голосов
/ 21 сентября 2010

разве hasoop не нацелен больше на десятки терабайтов в петабайтные наборы данных?

Может быть. Но это подходит для широкого спектра проблем. Он также подходит для очень маленьких наборов данных, где помогает «функциональный» стиль программирования Hadoop.

SQL не идеальный язык запросов. Это просто широко распространено.

Подходит ли она вместо реляционной базы данных (например, Oracle) для задачи, которую я делаю ??

Без особых требований почти невозможно сказать. Однако, если вы выполняете транзакционные операции с большим количеством вставок, обновлений и удалений, возможно, вам понадобится СУБД SQL.

Если вы не делаете сложные транзакции; если вы выполняете массовую загрузку и массовые запросы, то база данных мешает вам. Файловая система будет быстрее. И часто проще.

2 голосов
/ 21 сентября 2010

Обычно, если что-то не сломано, не пытайтесь его починить. Из того, что я читал в Википедии, это определенно излишнее, но кроме этого вы говорите, что приложение «работает довольно неплохо с точки зрения производительности».

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