25 главных терминов больших данных
Большие данные относительно молодая область информационных технологий. И как в большинстве новых областей терминология еще не полностью устоялась и сформировалась. Однако можно выделить ряд терминов которые позволят лучше понимать эту новую область. Итак, 25 главных терминов больших данных.
- Алгоритм – с этим всё просто, это математическая формула или некий статистический процесс, используемый для анализа данных. Несмотря на то, что алгоритмы были всегда, и без больших данных, но и термин и сами алгоритмы широко используются в больших данных. Поэтому этот термин и занимает первое место.
- Аналитика – процесс изучения данных. К примеру, возьмем данные с 1960 года по 2017, сборная команда какой страны становилась победителем чемпионата мира по хоккею. Составим из этих 57 строк список команд победителей и посчитаем в процентах сколько раз команда выигрывал чемпионат. Этот процесс и называется аналитикой, когда из набора данных получаем какие — то другие результаты на основе исходных данных.
- Дескриптивная аналитика – например, Вы знаете что, 30% времени по дороге на работу Вы идете пешком, 50% едете на автобусе и 20% на троллейбусе. Это и есть дескриптивная аналитика.
- Прогнозная аналитика – к примеру, Вы проанализировали за несколько лет, данные об объемах печати разными отделами. Этот анализ Вы теперь можете использовать для планирования бюджета на следующий год, в части приобретения новых картриджей для принтеров и МФУ. Это и есть прогнозная аналитика, аналитика, использующаяся для прогноза следующих значений.
- Предписывающая аналитика – отдельный вид аналитики, использующий как основу прогнозную аналитику. Вы сформировали прогнозную аналитику и знаете, сколько необходимо купить в следующем году картриджей. Однако руководство поставило цель снизить расходы на следующий год на печать. Используя прогнозный анализ, Вы можете перераспределить ресурсы печати с учетом загруженности принтеров, снизив нагрузку на высоко нагруженные устройства и заняв работой простаивающие, что может привести к снижению потребности в картриджах. Такое может быть, учитывая что, к примеру, многие устройства, предназначенные для малых и средних групп, могут использовать картриджи разной емкости. Если часто печатают на устройстве для которого существует только картридж одной емкости, а простаивают устройства в которых используются картриджи повышенной емкости, себестоимость печати на которых ниже.
- Пакетная обработка – вообще пакетная обработка данных существовала еще на заре вычислительной техники. С развитием вычислительных мощностей пакетная обработка не утратила своей актуальности, так как вместе с ростом вычислительных мощностей росли и объемы обрабатываемых данных. Если первые компьютера долго загружали небольшой объем, то современные вычислительные машины вынуждены обрабатывать огромные массивы данных. Например, головной офис собирает ежедневно данные о продажах с различных филиалов, данные собираются один раз в день и анализируются на следующий рабочий день. Хорошей стратегией обработки в данном случае будет автоматическая пакетная обработка всех данных в нерабочее время. Зачем тратить вычислительные мощности в рабочее время, если ночью сервера стоят без дела, пускай занимаются пакетной обработкой всех поступивших за день данных, а утром специалисты получат готовые отчеты, не ожидая в рабочее время пока все данные будут загружены и обработаны.
- Cassandra – популярная система управления базами данных, с открытым исходным кодом, разработанная Apache. Вообще Apache разработали множество технологий обработки больших данных. Cassandra была разработана для управления большими данными на распределенных серверах.
- Облачные вычисления – по сути, под этим термином подразумевается программное обеспечение, хотя могут быть и данные. Размещенные на удаленных серверах и доступные из любой точки мира, везде, где есть Интернет. В настоящее время все крупные игроки больших данных представили свои решения для облачных вычислений.
- Кластерные вычисления – тоже довольно распространенный и известный термин. Кластерные вычисления – это распределенные вычисления. То есть, есть некая ресурсоемкая задача по обработке большого количества данных, если запустить эту задачу на одном сервере то она «съест» все ресурсы и другие пользователи не смогут работать. Однако можно разделить задачу между двумя серверами тогда каждый из них будет высчитывать только свою часть, что позволит примерно на половину снизить требуемые ресурсы. Примерно только потому, что задача в кластерных вычислениях не делится ровно между всеми участниками кластера, кому то достается больше кому то меньше, но в любом случае не занимаются все ресурсы одного сервера.
- Темные данные – некоторые специалисты приводят цифру 60-90%, говоря о темных данных. Это такие данные, которые вроде и собраны, и обработаны, возможно, даже структурированы и загружены в информационную систему, но на деле не используются ни в какой аналитике. На практике такое вполне возможно, если взять работающую информационную систему, или базу данных, всегда можно найти определенные данные которые до сих пор не были использованы в аналитике.
- Озера данных (Data Lake) – хранилища данных масштаба предприятия, при этом данные хранятся в неструктурированном/необработанном виде. В отличии от хранилищ данных, в которых информация хранится в строго структурированном виде, прошедшая предварительную обработку и отчистку. Озера данных – это хранилища, в которых данные свалены в общую кучу, или разложены по определенным порциям, но всё равно хранящиеся в своем первоначальном виде. Что бы получить доступ к таким данным надо четко понимать какова их структура и как их обработать.
- Анализ данных (Data mining) — процесс анализа данных на основе определенных образцов и поиск соответствия им в больших наборах данных. Термин тесно связан с понятием «Аналитика» исследователи данных при помощи математических и статистических алгоритмов осуществляют поиск взаимосвязей между данными. При этом поиск в основном ведется в направлении скрытых, неявных связей между данными.
- Ученный данных (Data Scientist) – одна из самых востребованных специализаций в современном мире. Это специалист, который понимает и обрабатывает большие данные. Выстраивает модели данных, определяя взаимосвязи между ними, выискивает скрытые зависимости.
- Распределенная файловая система – большие данные не просто так называются, это огромные объемы информации, которые достаточно трудно хранить в рамках единой вычислительной системы (сервера). Распределенная файловая система позволяет размещать данные на различных устройствах хранения, снижая стоимость хранения и обработки данных.
- ETL – процесс обработки сырых данных. Включает в себя, доступ, обработку, загрузку данных. Различные решения позволяют осуществлять доступ, как на загрузку, так и на экспорт данных из различных источников. Так же процесс обработки позволяет определить различные операции, которым подвергнутся данные перед экспортом. Это может быть отчистка, преобразование, дополнение данных. По сути ETL является процессом получения из неструктурированных источников данных, их обработку и загрузку в структурированные хранилища данных.
- Hadoop – платформа с открытым исходным кодом для обработки больших данных. Hadoop благодаря распределенной файловой системе и распределенным вычислениям позволяет обрабатывать и анализировать очень большие объемы данных.
- Вычисления в памяти (In-memory computing) – если для вычисления не используются операции ввода-вывода, такие вычисления производятся быстрее. Например, для ускорения обработки современные СУБД стараются заполнить максимально разместить данные в памяти и сохранять их там какое то время, до тех пор пока они перестанут быть необходимы. Информационная система Apache Spark, используя вычисления в памяти, может показывать большую производительность чем связанные с операциями ввода/вывода Hadoop MapReduce.
- IoT (интернет вещей) – очень модное направление, объединяющее вычислительные устройства с привычными вещами. По сути это встроенные в холодильники, переносные устройства, автомобили, охранно-пожарную сигнализацию и прочее, прочее, прочее, сенсоры, передающие показания через интернет. Анализ такого огромного количества телеметрии относится уже к области больших данных.
- Машинное обучение – построенная особым образом система, способная к самообучению на основе поступающих в нее данных. Целью такой системы является улучшение данных. По сути система учится на том, что должна улучшить.
- MapReduce – своеобразный термин. Что бы его лучше понять, надо во первых запомнить что он состоит из двух слов «Map» и «Reduce». По сути это некая модель, или алгоритм, который разбивает большие данные на более мелкие (кортежи), но разбивает не просто так, а пользуясь определенным «навигатором» (картой – Map). Затем данные направляются для обработки на разные сервера. И уже после обработки система собирает результаты в один простой отчет (Reduce). MapReduce очень тесно связан с распределенными вычислениями.
- NoSQL – здесь слово «No», означает не отказ, а скорее расширение. SQL – сложившийся язык запросов в реляционных системах управления базами данных. Однако традиционные СУБД подходят для строго структурированные данные с известной схемой. В больших данных сведения наоборот чаще всего слабо структурированы. NoSQL попытка объединить гибкость SQL с большими данными и переводится как «не только SQL».
- R – язык программирования специально разработанный для обработки данных. Если Вы всерьёз захотите работать в области исследования данных, без знания языка R, Вам не обойтись. Это самый популярный язык среди исследователей и ученных данных.
- Spark – специальный инструмент обработки данных в памяти. При необходимости быстрой обработки данных, лучше всего использовать обработку данных в памяти. Spark позволяет быстро и эффективно это делать. По скорости работы он значительно превосходит MapReduce.
- Потоковая обработка – механизм постоянной обработки данных, постоянно поступающих в информационную систему. В некоторых случаях, как например в случае с IoT необходима постоянная обработка большого набора данных, при этом данные будут поступать долго, очень долго, возможно даже поток данных будет идти всё время жизни информационной системы. И для обработки такого потока и предусмотрен механизм потоковой обработки.
- Структурированные и неструктурированные данные – как уже говорилось ранее, структурированные данные – это такие данные которые имеют определенную жесткую структуру, структурированные данные могут быть помещены в СУБД. Неструктурированные данные не имеют четкой структуры и поэтому им не место в реляционных СУБД, такие данные чаще всего помещаются в специализированные хранилища.