Видео: Как уничтожить производительность базы данных за 30 минут 2024
Просто иметь более быстрый компьютер недостаточно для обеспечения правильного уровня производительности для обработки больших данных. Вы должны иметь возможность распространять компоненты своей большой службы данных по ряду узлов. В распределенных вычислениях узел является элементом, содержащимся в кластере систем или в стойке.
Узел обычно включает в себя процессор, память и какой-то диск. Однако узел также может быть процессором и памятью blade-серверов, которые полагаются на соседнее хранилище в стойке.
В большой среде данных эти узлы обычно группируются вместе для обеспечения масштабирования. Например, вы можете начать с большого анализа данных и продолжать добавлять дополнительные источники данных. Чтобы обеспечить рост, организация просто добавляет больше узлов в кластер, чтобы он мог масштабироваться для удовлетворения растущих потребностей.
Однако недостаточно просто увеличить количество узлов в кластере. Скорее, важно иметь возможность отправлять часть большого анализа данных в разные физические среды. Там, где вы отправляете эти задачи и как вы ими управляете, разница между успехом и неудачей.
В некоторых сложных ситуациях вы можете выполнять несколько разных алгоритмов параллельно, даже в пределах одного и того же кластера, для достижения требуемой скорости анализа. Почему вы выполняете разные алгоритмы больших данных параллельно в одной стойке? Чем ближе распределены функции, тем быстрее они могут выполняться.
Хотя можно распределить большой анализ данных по сетям, чтобы воспользоваться доступной пропускной способностью, вы должны сделать такой тип распространения на основе требований к производительности. В некоторых ситуациях скорость обработки занимает заднее сиденье. Однако в других ситуациях быстрое получение результатов - это требование. В этой ситуации вы хотите убедиться, что сетевые функции находятся в непосредственной близости друг от друга.
В целом, большая среда данных должна быть оптимизирована для типа задачи аналитики. Таким образом, масштабируемость является отличным примером успешной работы больших данных. Хотя теоретически возможно управлять большой средой данных в одной большой среде, это непрактично.
Чтобы понять потребности в масштабируемости в больших данных, нужно лишь взглянуть на масштабируемость облаков и понять как требования, так и подход. Для облачных вычислений большие данные требуют включения быстрых сетей и недорогих кластеров аппаратного обеспечения, которые могут быть объединены в стойки для повышения производительности. Эти кластеры поддерживаются автоматизацией программного обеспечения, которая обеспечивает динамическое масштабирование и балансировку нагрузки.
Конструкция и реализация MapReduce - отличные примеры того, как распределенные вычисления могут сделать большие данные оперативно видимыми и доступными. По сути, компании находятся в одном из уникальных поворотных моментов в области вычислений, в которых технологические концепции объединяются в нужное время для решения правильных проблем. Объединение распределенных вычислений, улучшенных аппаратных систем и практических решений, таких как MapReduce и Hadoop, существенно изменяет управление данными.