Знания «Введение в большие данные», необходимые программистам

Java Большие данные

предисловие

Только лысая голова может стать сильнее.

Текст был включен в мой репозиторий GitHub, добро пожаловать, звезда:GitHub.com/Zhongf UC очень…

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

1. Что такое большие данные?

1.1 Предварительное знание

я иногда даюмирянинЧтобы объяснить, что такое база данных, в качестве примера часто используют Excel (поскольку большинство людей знают, что такое Excel). В Zhihu есть похожая тема "Зачем вам база данных, когда у вас есть excel?" ", вы можете пойти и посмотреть:

На самом деле, большая часть причин заключается в том, что Excel может обрабатыватьОбъем данныхДалеко не база данных гораздо больше. Поскольку данные, генерируемые нашим Интернетом, очень и очень велики, мы обычно выбираем базы данных для хранения данных.

В Excel всего 104 строки, и их гораздо больше, которые невозможно загрузить ---- @zhihu EamonLiao

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

硬盘的大小

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

文件系统

С файловой системой уже можно хранить данные (нам очень удобно их получать), так зачем тогда база данных?

Файловая система имеет следующие недостатки: плохое совместное использование данных и высокая избыточность; плохая независимость от данных.

Система базы данных реализует общую структуру, что является существенным отличием системы баз данных от файловой системы. ----- "Введение в системы баз данных"


база данныхФактически, дляопределенный тип данныхсистемы, предназначенные для обработкиФайловая системаможно рассматривать какУниверсальныйСистема хранения данных @ Zhihu Wu Suirong

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

Потом я все равно хочу сохранить этот файл, что мне делать? Решение на самом деле очень простое (грубо говоря, одно — вертикальное расширение, а другое — горизонтальное расширение):

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

    • Технология RAID (избыточный массив независимых дисков) являетсяНесколько обычных дисков образуют массив для совместного предоставления внешних услуг..
    • Например, мне сейчас кажется, что 16 ГБ моего компьютера недостаточно, а на моей материнской плате два слота памяти, поэтому я покупаю дополнительную карту памяти на 16 ГБ и вставляю ее. Тогда я могу сказать, что у моего компьютера 32 ГБ памяти.
  • Разрежьте этот файл на несколько копий и сохраните их на разных жестких дисках.

    • Например, у меня есть файл размером 1 ТБ, и я разрезаю его на 5 частей по 200G каждая и храню их на разных серверах.

Если вы обычный пользователь, вы должны купить дополнительный жесткий диск и обновить оборудование. Но интернет-компании этого не делают, они предпочитают разрезать файл на несколько копий и размещать их на разных серверах. Зачем?

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

垂直伸缩和水平伸缩

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

1.2 Решение проблем с хранением

Поскольку объем данных становится все больше и больше, больше невозможно хранить все данные на одной машине, поэтому мы будем распределять эти данные по разным машинам для хранения, но это создает проблему:Неудобно управлять и обслуживать

Поэтому мы надеемся иметь систему, которая сможет обрабатывать эти данные, распределенные по разным операционным серверам.Единое управление, у которого естьРаспределенная файловая система

  • HDFSЭто одна из распределенных файловых систем (наиболее широко используемая в настоящее время).

Это очень просто при использовании HDFS: хотя HDFS хранит файлы на разных машинах, когда я иду использовать эти файлыв видеОн хранится на одной машине и используется (за ним несколько машин):

  • Например: я вызываю RPC-интерфейс, я даю ему параметры, а он возвращает мне ответ. Я на самом деле не знаю, что делает интерфейс RPC (возможно, этот интерфейс RPC вызывает другие интерфейсы RPC) -----Скрывает детали реализации и удобен для пользователя

HDFS使用

1.3 Решение вычислительных задач

Выше мы использовали HDFS в качестве распределенной файловой системы, которая уже может хранить данные на разных машинах (или читать данные на разных машинах). простоКомандная строкаспособ податьлегкий доступ.

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

  • Передать данные в программу (данные от машины A/B/Cперейти кпрограмма машины D для выполнения)
  • Программа выполняется в том месте, где находятся данные (отдельная программаприбытьВыполнить на машине A/B/C)

Что выбрать? Обычно мы используемПрограмма выполняется там, где находятся данные«Поскольку у нас есть большой объем данных в больших данных, если мы хотим机器A/B/Cданные вводятся в机器DНа, оно того не стоит.

  • Объем данных очень велик, и передача больших данных по сети на определенную машину для работы не подходит.
  • Машина D имеет только одну машину, и эффективность обработки низкая.

Поэтому мы поместим программу отдельно в机器A/B/CДля обработки программа очень маленькая, и ее легко поставить на другие машины. также можно использовать机器A/B/CЭто очень подходит для вычислительных ресурсов.

"Передача данных в программу" Это так называемая "переместить хранилище для вычислений", а "программа выполняется там, где находятся данные" - это так называемые "Концепция переноса вычислений в хранилище".

В сфере больших данных,Мобильные вычисления более рентабельны, чем мобильные данные.MapReduceВот как это делается:

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

2. Большие данные не так загадочны, как предполагалось

Когда вы впервые слышите слово «большие данные», некоторые люди могут спросить:Так называемые большие данные, откуда берутся данные??

Короче говоря, его можно разделить на три категории:

  • бревно
  • база данных
  • рептилия

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

2,База данных уже сохранила наши данные, и все, что нам нужно сделать, это сохранить данные в базе данных.ИмпортироватьС нашей платформой больших данных данные можно лучше анализировать.

3.На самом деле, что я хочу сказать больше о журнале, этоТочка (похоронена)этот кусок. Некоторые люди будут разделять понятия места захоронения и бревна, но я называю это «бревном» вместе. Журналы включают журналы поведения пользователей (скрытые точки) и журналы, созданные при работе системы.Журнал поведения пользователейГрубо говоря, это так: это начинается с момента входа в приложение.Почти все ваши действия записываются(нажмите на тег, остановитесь на теге на сколько секунд). Думаю, вам нравится такая системана основе вашего прошлого поведениярекомендовать.

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

Итак, нам нужно регистрировать, использовать базу данных, краулер для этихданные из разных источников данныхИмпортируем его в наш кластер (этот кластер упоминался выше, Distributed File System (HDFS), Distributed Computing System).

Из-за разных источников данных будет множество инструментов для импорта данных. Например, для сбора данных журнала у нас будетFlume, для синхронизации с базой данных у нас было быSqoop. Это то, что называетсяETL(извлечь "извлечь", транспонировать "преобразовать", загрузить "загрузить")

ЭТЛ — этоПроцесс загрузки данных бизнес-системы в хранилище данных после извлечения, очистки и преобразования, цель состоит в том, чтобы интегрировать разрозненные, беспорядочные и противоречивые данные на предприятии, чтобы обеспечить основу анализа для принятия решений предприятием.

(Примечание: Не пугайтесь таких терминов, как Sqoop и Flume выше, это на самом делеСуществующая зрелая инфраструктурная технология)

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

Например: теперь мы собираемся пересмотреть домашнюю страницу приложения, но я не знаю, примут ли пользователи эту версию. Таким образом, мы можем поэкспериментировать с небольшим количеством пользователей (пользователи в этой части видят исправленную домашнюю страницу), мыПо поведению этой части пользователей судят, дает ли эта доработка лучший эффект..

  • Мы собрали поведение пользователей. Пока экспериментальные пользователи связываются с соответствующими индикаторами и сравниваются с существующими индикаторами, мы, вероятно, будем знать, действительно ли эта доработка разумна.

Такого рода эксперименты с частью трафика мы еще называем такой практикой"ABTest», если вам интересен ABTest, вы можете зайти на мойGitHubНайдите ключевое слово «ABTest», чтобы прочитать конкретную статью~

Наконец

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

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

Ссылка: «Изучайте большие данные с нуля» — Ли Чжихуэй.

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

  • 🔥Огромные видеоресурсы
  • 🔥Java красивая карта мозга
  • 🔥Маршрут обучения Java
  • 🔥Разработка общих инструментов
  • 🔥Красиво организованные электронные книги в формате PDF

Ответить под публичным аккаунтом"888», чтобы получить его! !

Эта книга была включена в мои избранные статьи на GitHub, добро пожаловать, звезда:GitHub.com/Zhongf UC очень…

попросить лайк Пожалуйста, следите за ️ поделитесь пожалуйста 👥 Спросите сообщение 💬верно для меняочень полезно! ! !