Надвигающийся экономический климат (рецессия) вынудил многие предприятия пересмотреть свои расходы на технологии. Одной из областей, которую часто упускают из виду, является обработка больших данных. Конвейеры данных — это ряд процессов, которые берут данные из источника и перемещают их к месту назначения. Во многих случаях конвейеры данных строятся с использованием дорогого проприетарного программного обеспечения. Однако существует ряд способов сэкономить на затратах на инфраструктуру больших данных, особенно во время рецессии.

Совет №1: экономьте на хранении данных

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

Методы сжатия файлов больших данных становятся все более популярными, поскольку размер наборов данных продолжает расти. Существует ряд различных методов, которые можно использовать для сжатия файлов больших данных, но некоторые из наиболее популярных включают gzip, bzip2 и lzma.

Gzip — это популярный метод сжатия, который используется для сжатия различных типов файлов. Это быстрый и эффективный метод сжатия, который может уменьшить размер файла больших данных до 70%. Примеры типов файлов: Parquet, Avro.

Bzip2 — еще один популярный метод сжатия, который часто используется для сжатия больших файлов. Это более медленный метод сжатия, но он может обеспечить лучшую степень сжатия, чем gzip. Avro поддерживает этот тип сжатия.

Lzma — это новый метод сжатия, предлагающий очень высокие коэффициенты сжатия. Однако это гораздо более медленный метод сжатия, чем gzip или bzip2. Parquet, Avro и CSV поддерживают этот метод сжатия.

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

Совет № 2: Используйте бесплатные уровни!

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

Во-первых, давайте рассмотрим различные типы доступных уровней бесплатного пользования. Существует два основных типа:

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

Бесплатно навсегда. Планы «Бесплатно навсегда», с другой стороны, просто бесплатны навсегда, пока вы остаетесь в пределах бесплатного уровня.

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

Amazon Web Services (AWS) предлагает множество отличных сервисов для работы с большими данными, и многие из них имеют бесплатные уровни. AWS предлагает 750 часов бесплатного обслуживания в месяц, но это совокупность всех экземпляров, которые у вас есть во всех регионах. Если вы превысите 750 часов, вам просто будет выставлен счет за превышение. Например, вы можете бесплатно использовать Amazon EMR (Elastic MapReduce) до 16 часов. Уровень бесплатного пользования Amazon EC2. Этот уровень бесплатного пользования предоставляет вам доступ к бесплатному инстансу Amazon EC2. Уровень бесплатного пользования Amazon S3. Этот уровень бесплатного пользования предоставляет вам доступ к бесплатной корзине Amazon S3.

Google Cloud также предлагает бесплатный уровень, на котором новым клиентам предлагаются бесплатные кредиты на сумму 300 долларов США в течение 90 дней. Они предлагают бесплатные уровни для таких продуктов, как вычислительный движок, облачное хранилище и большие запросы. Когда вы остаетесь в пределах ограничений уровня бесплатного пользования, эти ресурсы не списываются с ваших кредитов на бесплатную пробную версию или с помощью способа оплаты вашей учетной записи Cloud Billing после окончания пробной версии.

Azure предоставляет новым клиентам кредит в размере 200 долларов США на 12 месяцев на услуги сети, вычислений, хранения и базы данных, а также услуги интеграции + услуги искусственного интеллекта и машинного обучения.

Совет № 3: Соберите свою собственную машину

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

Игровые ПК. В настоящее время вы можете легко собрать игровой ПК за 3000 долларов с мощным графическим процессором (GPU). Это по сравнению с примерно 900 долларами в месяц в среднем для крупного проекта машинного обучения, для которого требуются мощные графические процессоры.

Рабочие станции ИИ: если вам нужна специализированная и специально созданная машина для разработки ИИ, вы можете рассмотреть Exxact, который предоставляет рабочие станции ИИ NVDIA.

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

Совет № 4: Спотовые экземпляры

У большинства облачных провайдеров есть услуги, в которых избыточные вычислительные мощности предоставляются как услуга через так называемые «точечные экземпляры». Эти инстансы обычно дешевле и могут запускаться по запросу. Их можно использовать только для отказоустойчивых приложений, не требующих круглосуточной работы выделенных служб. Большая часть обработки данных выполняется пакетами и обычно выполняется в нерабочее время, поэтому хорошо подходят точечные экземпляры. Просто учтите, что большинство спотовых ВМ также исключены из соглашения об уровне обслуживания Compute Engine (SLA) и не могут использоваться для динамической миграции. Ресурсы могут быть перераспределены в любое время и, следовательно, доступны в конечном итоге.

Совет № 5: Пишите производительный код

Нет ничего более захватывающего, чем конвейеры данных инженеров данных, которые становятся полезными, а потребление выходных таблиц стремительно растет. Однако это празднование может быть недолгим, как только они увидят облачный счет. Профессиональные инженеры данных знают, что то, как они разрабатывают код или системы обработки данных, влияет на потребление облачных сервисов. Плохо написанный код, как правило, работает медленно и требует больших вычислительных ресурсов при выполнении. Когда дата-инженеры запускают свое приложение локально и видят, что оно работает доли секунды, они уже счастливы и не будут его оптимизировать дальше. Тем не менее, один и тот же код, запущенный тысячи раз в облаке, может привести к значительным расходам на облачный хостинг, и поэтому им необходимо тщательно тестировать приложение и всегда искать медленные части или выполнения в коде. Инженеры данных могут проверить потребление оперативной памяти для начала, поскольку это напрямую влияет на затраты на облако. Если нет смысла хранить данные в памяти, сбрасывайте их.

Совет № 6: Храните данные в низком разрешении

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

Совет № 7: очистите данные

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

Совет № 8. Перейдите на бессерверное использование

Всегда полезно анализировать шаблоны использования вашего приложения, и вы будете удивлены тем, что время простоя существует даже для наиболее часто используемых приложений. Бессерверная архитектура позволяет инженерам данных получать счета только тогда, когда код работает, особенно для приложений с прерывистыми заданиями, например, в случаях выполнения обучения машинного обучения. Этот подход подходит для проектов экспериментальной фазы и всегда может быть изменен, если требуется масштабируемость.

Совет № 9. Используйте программное обеспечение с открытым исходным кодом

Существует ряд причин, по которым программное обеспечение с открытым исходным кодом особенно хорошо подходит для обработки больших данных, а именно:

Hadoop: Hadoop — это, пожалуй, самое известное решение для работы с большими данными. Hadoop — это платформа с открытым исходным кодом, которую можно использовать для обработки и анализа больших наборов данных. Hadoop предназначен для масштабирования от одного сервера до кластера из тысяч машин. Hadoop используется многими крупными организациями, включая Facebook, Yahoo и eBay.

Apache Spark: Spark — это еще одна платформа с открытым исходным кодом, которая часто используется для обработки и анализа больших данных. Spark — это быстрая кластерная вычислительная система общего назначения. Spark можно использовать для различных задач, включая машинное обучение, потоковую передачу и SQL. Он включает в себя ряд компонентов, в том числе общий механизм выполнения, механизм запросов SQL и библиотеку машинного обучения. Spark используется такими организациями, как Netflix, Uber и Airbnb.

Apache Cassandra: Cassandra — это база данных NoSQL, которая часто используется для хранения больших объемов данных. Он обладает высокой масштабируемостью и может быть легко развернут в кластере серверов. Cassandra способна обрабатывать несколько одновременных пользователей в разных экземплярах.

MongoDB: MongoDB — еще одна популярная база данных NoSQL, которая часто используется для приложений с большими данными. Он известен своей простотой использования и масштабируемостью. Он может хранить такие типы данных, как целые числа, строки, массивы, объекты, логические значения, даты и т. д. Он гибок и может быть установлен и разделен на части в облачной инфраструктуре. Главной особенностью является использование динамических схем, позволяющих быстро и оперативно подготавливать данные, что обеспечивает экономию средств.

Neo4J: Neo4j — это ведущая в мире база данных Graph с открытым исходным кодом, разработанная с использованием технологии Java. Он обладает высокой масштабируемостью, не требует схемы (NoSQL) и допускает транзакции ACID. Он имеет гибкую модель данных и может предоставлять данные высокой доступности в режиме реального времени. Но главная особенность заключается в том, что это графовая база данных, которая позволяет подключать полуструктурированные данные, которые можно запрашивать с помощью декларативного языка (Cypher), который не требует сложных объединений для извлечения связанных связанных данных.

Совет № 10: Эффективность затрат как KPI

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

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