Математические ставки. Сбор и хранение футбольных данных
Содержание
Начнем с конца, то есть с хранения данных. Необходимо сохранять данные в таком виде, чтобы их можно было удобно читать и легко трансформировать. Вроде бы все просто. Но есть нюансы. Удобно ли, например, читать Excel-файл? Казалось бы, ответ однозначный и положительный, но это лишь до тех пор, пока вы пользуетесь платной программой, которую к тому же у нас пытаются заменить отечественными аналогами. Есть и другие недостатки. Вот весь список:
- требуется платная программа;
- бинарный формат;
- плохая масштабируемость;
- скорость работы;
- миграция данных под вопросом.
Что означает бинарный формат файла? Это такой тип данных, который нельзя открыть в Notepad, Notepad++ или любом текстовом редакторе на операционных системах Linux и Unix. Если в текстовом редакторе открыть бинарный файл, то программа покажет белиберду. Это на самом деле существенный недостаток, так как текстовые редакторы разрабатывались десятилетиями, они очень удобные и могут с тестом делать такие выкрутасы, которые даже Фотошопу не снились. Текстовый файл к тому же можно просматривать на любом устройстве с экраном.
Читайте также:
- Выбрать лучшего букмекера для ставок на спорт
- Прогнозы на сегодня от профессионалов
- Как выбрать букмекерскую контору – советы «РБ»
- Бездепозитные бонусы букмекерских контор
- Как не проиграть первую ставку – 6 советов новичку
Теперь насчет миграции данных. Если вам нужны вычислительные действия, для которых необходима специальная математическая программа, то скорее всего потребуется конвертировать данные. Какие при этом опции вам будут доступны, зависит от версии MS Office. Форматирование, макросы, формулы будут утеряны. Делать это регулярно вам очень скоро надоест.
Ну ладно, если не Excel, то что же тогда? Да что угодно: есть xml, csv, json и старый добрый SQL. Посмотрим насколько удобны для нас эти форматы в качестве хранилища данных. Вот обычная таблица с небольшим количеством записей и полей. Вот бы и наши данные можно было хранить в таком удобном виде.
Table 1. Турнирная таблица РФПЛ 2017/2018 (верхние позиции).
Теперь переконвертируем ее в разные форматы для того, чтобы сравнить, насколько они пригодны в качестве хранилища необработанной информации.
Турнирная таблица в формате xml
Не знаю, как вам, а мне бы не хотелось хранить данные в таком виде. А ведь такие надежды возлагались на xml. Он должен был стать кольцом всевластия для средств семантики и разметки. В каждом языке программирования есть модули поддержки данного формата, он широко распространен, универсален и вездесущ. Но в качестве хранилища данных он чуть менее чем бесполезен из-за очевидных недостатков.
Недостатки:
- огромные накладные расходы: на 1 байт данных приходится как минимум с десяток байтов описания;
- предназначен для машин, а не для людей. Читать такое невооруженным глазом довольно затруднительно.
Но у этого тихого ужаса есть и свои преимущества:
- текстовый формат;
- значительная поддержка со стороны основных языков программирования и платформ для разработки;
- широкие возможности для конвертации во что угодно;
- можно создавать структуры любого уровня сложности.
Турнирная таблица в формате json
Уже выглядит получше, чем xml. Но на практике весь блок слипается в одну нечитабельную строку. Данный формат не позволяет создавать таких сложных структур, как xml, но берет скоростью и простотой. В общем неплохой формат для небольших и средних объемов данных.
Турнирная таблица в формате tsv
Я склоняюсь к этому решению. Как видите, все просто и наглядно. Если использовать запятые вместо разделения отступами, то получим формат csv, который намного сложнее читать, нежели tsv-файл. Но для машины оба эти формата равнозначны.
Достоинства
- легко читать;
- легко трансформировать в другой тип данных;
- простота;
- минимальные накладные расходы;
- текстовый формат.
Недостатки
- не годится для больших объемов данных;
- нельзя создать более сложные структуры.
Для формата tsv вполне приемлемо содержать даже 100 тысяч записей, с которыми можно производить различные операции. Но если нужны интенсивные и повторяющиеся расчеты, прогнать миллион итераций методом Монте-Карло, то лучше использовать базу данных с бинарным форматом файлов. Об этом я расскажу вам в следующем материале.
Спасибо за Вашу помощь!
Мы ценим Вашу бдительность!
Уведомления о новых публикациях этого автора будут приходить на электронный адрес, указанный Вами при регистрации на "РБ"
Уведомления о новых прогнозах этого эксперта будут приходить на электронный адрес, указанный Вами при регистрации на "РБ"
Это значит что вы больше не будете получать уведомления о новых публикациях этого автора на ваш электронный адрес.
Это значит что вы больше не будете получать уведомления о новых прогнозах этого эксперта на ваш электронный адрес.
а собственно в чем проблема в sql хранить большой объем данных?
Для больших объемов данных как раз предпочтительнее база данных и sql, но даже 100 тыс. записей вполне можно хранить в текстовом файле.