Для чего нужны данные
Перейти к содержимому

Для чего нужны данные

  • автор:

Персональные данные — почему они всем так нужны (кроме нас)

Я не параноик или сторонник теории заговора. Но я внимательно читаю пользовательские соглашения и если они меня чем-то не устраивают, то просто не пользуюсь такими сервисами. На моем смартфоне почти нет приложений, а операционная система не обновлялась годами.

Что может быть проще, чем “Принять условия” и получить доступ к современному мобильному банкингу, интернет-шопингу, государственным услугам, каршерингу и многому другому. Но я решил сделать небольшой эксперимент. В его результате вскрылись довольно любопытные подробности.

(Суть эксперимента и его результаты будут описаны ниже, в разделе 6)

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

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

Возможная цепочка передачи персональных данных

С этого момента начинается самое интересное, рассмотрим по пунктам:

1. Что содержится в пользовательском соглашении (кратко и простыми словами)

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

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

  • Согласие на обработку и передачу данных непосредственному оператору услуги
  • Согласие на передачу данным дочерним и партнерским организациям, третьим лицам (список может быть открытым и изменяться без уведомления пользователя)
  • Согласие на предоставление дополнительных информационных и рекламных услуг, для т.н. «улучшения(блин!) качества обслуживания»
  • Срок хранения и порядок удаления данных (как правило для удаления данных требуется оформление письменного заявления)

Название оператора скрыто во избежании анти-рекламы

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

Давайте теперь поговорим о последствиях (прямых и косвенных) такого решения.

2. Где физически будут храниться данные

В соответствии с ФЗ-242 от 1 сентября 2015 года все данные должны храниться на серверах РФ и большинство крупных компаний используют собственные датацентры в соблюдении данного требования. Менее крупные компании вынуждены арендовать вычислительные сервера у поставщиков и облачных провайдеров в РФ. Несмотря на развитие таких провайдеров в России их масштабы, надежность и ценовая политика еще не позволяет конкурировать с крупными гигантами как AWS, Google Cloud или DigitalOcean. Поэтому для мелких ИТ-компаний становится экономически более выгодно пользоваться зарубежными облачными услугами из соображений надежности и экономической рентабельности. Конечно, это не означает, что персональные данные сразу становятся доступны иностранным компаниям, но повышает технологическую зависимость от иностранных игроков.

3. Как обеспечивается сохранность данных

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

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

4. Какую ценность представляют данные для третьих лиц и злоумышленников

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

Сценарий

Содержание данных

Пример использования

Влияние на субъекта ПД

Изучение потребительских трендов

Демографические данные (пол, возраст и пр.)

Показ контекстной рекламы товаров и услуг на основе трендов в поло-возрастной группе пользователя

Персонализация услуг и сервисов

История онлайн-активности (поисковые запросы, покупки и пр.)

Индивидуальное предложение скидок и акций релевантных интересам конкретного пользователя

История офлайн-активности (оформление страховок, ОСАГО, получение гос. услуг и пр.)

— После покупки ОСАГО вам названивают сотни компаний-партнеров с предложением продлить страховку именно у них

— После оформления ИП вам звонят банки с предложениями финансовых услуг

ФИО, контактные данные, место жительства

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

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

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

5. Грязные приемы

Допустим некоторый человек не хочет принимать обновленные условия пользования, на что тогда идут операторы услуг, чтобы заставить пользователей принять новые правила игры?

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

Ограничение доступа к некоторым функциям только через мобильное приложение

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

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

Инструкция по оформлению самозанятости через мобильное приложение

Название оператора услуги скрыто во избежании анти-рекламы

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

Например, вам пришла новая версия приложения, сайта или операционной системы, которая полностью заменяет более недоступную старую версию и для продолжения использования вы вынуждены принять новые условия.

Пример пользовательского соглашения на веб-портале сотового оператора

Название оператора и цветовая гамма изменена во избежании анти-рекламы

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

6. Суть эксперимента

Теперь вернемся к эксперименту, о котором я упомянул в самом начале. Его суть довольно проста – проверить, возможно ли на легальных основаниях отказаться от передачи своих персональных данных третьим лицам и при этом на равноправных условиях продолжать пользоваться всеми современными цифровыми услугами (шопинг, сотовая связь, финансы, гос. услуги транспорт и пр.)

Я пытался изо всех сил, но результат эксперимента оказался довольно плачевным, поскольку мне пришлось отказаться от:

  • Мобильного банка (вместо этого только веб-версия)
  • Онлайн-кабинета сотового оператора (приходилось сначала звонить в службу поддержки для отключения тех или иных услуг, а потом поменять оператора)
  • Оформления самозанятости онлайн (необходимость идти в налоговую пешком)
  • Каршеринга (во всех условиях была прописана возможность передачи данных третьим лицам с целью предоставления информационных и/или иных услуг)
  • Список продолжает пополняться

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

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

7. Последствия и меры

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

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

8. Что делать-то?

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

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

Поскольку изучение пользовательских соглашений это долгая и трудозатратная работа непосильная одному человеку, если вы не против принести пользу онлайн-сообществу и внести свой вклад в формирование цифрового равноправия, прочитайте пожалуйста внимательно пользовательское соглашение вашего любимого приложения или сервиса и пришлите краткую выдержку в формате аналогичном https://tosdr.org/ (что допускается и что ограничивается в условиях пользовательского соглашения) автору статьи любым доступным способом. А если у вас нет времени читать соглашение целиком, просто присылайте скриншоты наиболее нелепых и бессовестных условий в комментариях или личных сообщениях.

Вместе мы можем оценить уровень информационных аппетитов операторов различных ИТ-услуг и возможно помочь им пересмотреть свои политики по работе с персональными данными в лучшую сторону.

Всем удачной трудовой недели и безоблачного цифрового пространства!

  • Персональные данные
  • Цифровое равноправие
  • Информационная независимость

Сделали вывод

Заболеваемость, перепись населения, продажа автомобилей, банкротство, браки, научные открытия и поисковые запросы со словом «кот» — без анализа данных сегодня не принимается ни одного серьезного решения, будь то политика, экономика, медиа или наука. Статистическая информация может спасти исследование, а ее фальсификация — навсегда разрушить карьеру. Редакция N + 1 вместе с Росстатом вспоминает, когда верно собранные статистические данные приводили к положительным изменениям.

Научное направление, в основе которого лежит выявление закономерностей общественной жизни с помощью изучения информации о массовых явлениях, появилось в середине XVII века в Англии. И называлось оно «политическая арифметика».

Термин «статистика» ввел немецкий ученый Готфрид Ахенваль в 1746 году — он предложил заменить название курса «Государствоведение», который входил в образовательную программу университетов Германии, на «Статистику».

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

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

Мы вас всех посчитаем

Зачем нужна перепись населения

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

Перепись — это сбор данных, массовое анкетирование всех жителей страны — нечто вроде снимка населения в конкретный момент времени. Как правило, проводится она один раз в десять лет или чаще: например, в Канаде перепись проходит один раз в пять лет.

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

Так, например, благодаря переписи населения выяснилось, что люди в России, как и во всем мире, стали позже заключать брак и рожать первого ребенка. Если проанализировать эти данные, можно точнее спрогнозировать рождаемость. Именно результаты переписи населения 2002 года стали основным аргументом в пользу введения материнского капитала.

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

Перепись населения в США в 2020 году впервые показала, что белое население сократилось. А по данным переписей в Восточной и Южной Азии выяснилось, что рост населения Китая замедляется и по численности населения его обгонит Индия.

Время и деньги

Как статистика влияет на бизнес

Статистические исследования помогают бизнесу: благодаря им можно получить данные о реальном состоянии рынка, его структуре, векторах его развития и понять то, какие факторы оказывают влияние на отрасль. Например, метод «прогнозирование прибыли» объединяет бизнес-статистику и предугадывание увеличения доходов. Так сопоставляются пики продаж и происходящие в это время события, скажем, рост спроса на кондиционеры и мороженое объясняется сильной жарой.

Другой пример использования статистики в бизнесе — недавнее исследование Джузеппе Москарини (Giuseppe Moscarini) из Йельского университета, которое выявило, что низкий уровень безработицы плохо сказывается на экономике. Согласно полученным данным, американцы, которые часто меняют работу, в среднем зарабатывают на 4 процента больше тех, кто остается на прежнем месте. То есть чем чаще люди меняют работу, тем быстрее растут зарплаты. Главная причина здесь — конкуренция. Исследование Организации стран экономического сотрудничества и развития показало, что после финансового кризиса сотрудники стали переходить на новые места работы в разы реже.

Долго-долго жить

Как статистика используется в медицине

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

Благодаря статистике можно оценить уровень смертности, среднюю продолжительность жизни населения и другие важные показатели. По данным Всемирной ассоциации здравоохранения, ожидаемая продолжительность жизни в мире в период с 2000 по 2016 год увеличилась на 5,5 лет, с 66,5 до 72 лет. При этом по статистике женщины живут дольше мужчин.

Мужчины в целом реже обращаются за медицинской помощью. Кроме того, в странах с эпидемией ВИЧ женщины чаще сдают анализы на это заболевание и регулярно получают антиретровирусную терапию. Еще выяснилось, что в 2016 году уровень смертности от самоубийств среди мужчин в мире был на 75 процентов выше, чем среди женщин.

Исследования также выявили зависимость продолжительности жизни человека от уровня жизни в стране и материального достатка — в странах с низким уровнем жизни люди в среднем живут на 18 лет меньше.

«Все эти статистические данные подчеркивают необходимость в первую очередь уделять внимание медико-санитарной помощи для лечения неинфекционных заболеваний и ограничения факторов риска, — рассказала помощник генерального директора ВОЗ по данным, аналитике и доставке Самира Асма (Samira Asma). — Например, такая простая вещь, как контроль артериального давления, просто не осуществляется в необходимом масштабе, а употребление табака остается основной причиной преждевременной смерти».

Синтаксические связи

Как статистика помогает лингвистам

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

Всемирный день статистики проходит 20 октября по установке Статистической комиссии ООН. Дата отмечается раз в пять лет. В 2020 году день статистики прошел под девизом «Объединим мир при помощи данных, которым мы можем доверять».

База данных: что это такое и зачем она нужна

Рассказываем, как работают базы данных, почему их используют, какие они бывают и чем отличаются от СУБД.

Иллюстрация: Shutterstock / imgix / jms / Arina Bondar / Unsplash / Polina Vari для Skillbox Media

Дмитрий Зверев

Дмитрий Зверев

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.

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

Что такое база данных

В информатике базой данных называют совокупность данных, организованных по определённым правилам. Но мы дадим более простое определение.

База данных (БД) — это набор данных, который как-то структурирован. Например, можно взять сто картинок с котами и отсортировать их по цвету или по позе.

Обычно данные в БД записывают в виде таблицы — строк и столбцов. В такой архитектуре каждая строка — это новый элемент, у которого есть некоторые свойства — столбцы. Тех же котов можно отсортировать по множеству параметров — например, цвету, позе и весу.

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

Например, вы хотите найти элемент по индексу и решили написать программу, которая умеет это делать. А затем вам вдруг понадобилось отсортировать записи в БД по каким-то параметрам. И вы пишете ещё один скрипт, который уже умеет сортировать таблицы. Так вы продолжаете создавать всё новые и новые мини-программы для разных мини-задач.

В итоге у вас копится куча полезных скриптов на все случаи жизни и вы понимаете: «А зачем каждый раз писать что-то новое, объединю-ка я эти скрипты в одну программу и назову её системой управления базами данных, или СУБД». Так что СУБД позволяют просто манипулировать данными в БД — например, доставать элементы, добавлять новые и удалять ненужные, не отвлекаясь на код.

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

Для чего нужны базы данных

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

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

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

Теперь, когда у нас есть база данных со всеми товарами, мы должны понять, что именно мы будем с этими данными делать. Вот основные операции, которые пригодятся интернет-магазину:

  • Записать новые данные. Чтобы мы могли добавить новый инструмент, когда он приедет на склад.
  • Изменить старые данные. Чтобы изменить цену товара или его количество на складе.
  • Найти данные. Чтобы найти, например, все синтезаторы и показать клиенту.
  • Позволить читать данные только работникам, а всем остальным закрыть доступ. Чтобы клиенты сами не меняли цены товаров и не получали их бесплатно.
  • Поддерживать данные в порядке. Чтобы быть уверенным: в категории «Гитары» будут лежать именно гитары, а не барабаны.
  • Масштабировать базу данных. Чтобы добавлять новые данные и не переживать об ограничениях по объёму.
  • Ничего не потерять. Чтобы, даже если магазин сгорит, мы всегда могли восстановить базу данных.

Эти принципы применимы к любой базе данных, а не только к нашему примеру.

Чем управление базами данных отличается от управления электронными таблицами

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

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

Вот вы садитесь за работу, открываете эту таблицу и вносите в неё какие-то изменения. Параллельно с этим ваш коллега тоже открыл её и начал вносить изменения — причём в те же колонки или строки, в которых работаете вы. Вы доделали работу, сохранили файл и закрыли его. Данные перезаписались в таблицу. Но ваш коллега не увидит эти изменения, потому что он открыл файл раньше. Поэтому когда он сохранит свой файл, то перезапишет ваши данные своими, а ваши изменения пропадут.

С базой данных такой ситуации не произойдёт. Пусть у нас та же ситуация, но таблица — это база данных, которая управляется с помощью какой-то СУБД. Теперь каждый раз, когда вы вносите изменения, они отправляются в виде запросов в СУБД. И даже если ваш коллега будет работать с вами одновременно и тоже отправит запрос, то он встанет в очередь и будет ждать, пока не обработается предыдущий.

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

Типы баз данных

Базы данных разделяют на два основных типа: реляционные и нереляционные. Последние делятся ещё на два: сетевые и иерархические. Получается, существует три главных типа баз данных — реляционные, сетевые и иерархические.

Реляционные

Ещё их называют табличными — из-за того, что все данные они хранят в виде таблиц. Эти таблицы внутри связаны друг с другом, поэтому получается такая связная структура:

У нас есть две таблицы — с покупателями и товарами. Когда покупатель что-то покупает, данные добавляются в третью таблицу. Там находится информация о купленных товарах и ссылки на них.

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

Графовые

Их отличие от реляционных в том, что между таблицами и их записями может быть несколько разных связей. Каждая такая связь отвечает за что-то своё.

Сетевые базы данных применяют, например, в соцсетях:

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

Иерархические

Такая структура похожа на файловую систему в Windows. У каждого элемента есть вышестоящий элемент, а есть и подчинённый элемент — тот, что ниже. Поэтому по этой структуре легко перемещаться снизу вверх и сверху вниз.

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

Популярные СУБД

Базы данных особо не отличаются друг от друга. Они просто хранят информацию в файле. А вот то, что отличается, — это СУБД. И обычно, когда говорят про базы данных, имеют в виду СУБД. Давайте посмотрим, какие из них популярны. Если хотите подробнее прочитать о них — смотрите нашу статью о СУБД.

PostgreSQL

СУБД имеет большую функциональность и высокую производительность — например, она без проблем может работать с большими данными под высокой нагрузкой.

Язык запросов — SQL, но его можно поменять через расширения на PL/Python, PL/Java и PL/Perl. И ещё одно преимущество PostgreSQL — в ней нет лимита по размеру баз данных и числу записей в таблицах.

MySQL

Интерфейс программы позволяет работать с таблицами разных форматов. MySQL работает онлайн и вмещает до 50 миллионов элементов. По функциональности она уступает PostgreSQL. При этом её можно интегрировать с другими СУБД.

MySQL использовали для сайтов и интернет-магазинов такие компании, как Twitter, Alibaba, Meta, Wikipedia.

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

Скачать эту СУБД можно на официальном сайте.

Microsoft SQL Server

Эта СУБД добавляет автоматизацию задач — например, можно задать скрипт, который будет управлять памятью. Ещё Microsoft SQL Server позволяет удобно хранить сложные структуры данных и быстро искать их.

СУБД совместима с другими программами Microsoft — например, Excel и Access. С ними можно сделать интеграцию и выгружать данные оттуда, а также изменять их онлайн.

В качестве языка запросов Microsoft SQL Server использует язык SQL.

SQLite

SQLite очень компактная СУБД, которая не использует серверы и другие утилиты. Все данные хранятся на одном устройстве.

На SQLite можно написать простой сайт или приложение, у которого будет ограничен трафик и объём данных. СУБД работает на любых устройствах — смартфонах, компьютерах, ТВ и других, куда можно загрузить библиотеку. Она не нуждается в администрировании, а её язык запросов — C.

MongoDB

Главная особенность этой СУБД — данные представлены в виде текстовых документов, которые записаны в формате JSON. MongoDB — NoSQL-СУБД.

Вместо таблиц здесь данные в виде коллекций — групп документов. СУБД оптимизирована для распределённой работы, но также поддерживает локальное хранение данных.

MongoDB используют такие компании, как Meta, Google, Twitter, Forbes, IBM, а также многие интернет-магазины.

Redis

Redis можно использовать в облаке — полностью готовую к работе и оптимально настроенную. Она легко масштабируется и управляется.

В Redis можно перенести данные из другой базы данных с помощью автоматизированного сервиса.

Oracle Database

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

Oracle DB обеспечивает высокую безопасность и лёгкий доступ для пользователей. Ещё она позволяет снизить нагрузку на клиентские компьютеры. При этом сервер для СУБД должен быть помощнее.

Что запомнить

  • База данных — это набор элементов, которые сгруппированы по определённым правилам. Они бывают реляционными, графовыми и иерархическими.
  • СУБД — это инструменты, которые помогают управлять базами данных. Например, с их помощью можно удалять, изменять и находить элементы.
  • Популярные СУБД — PostgreSQL, MySQL, Microsoft SQL Server, SQLite, MongoDB, Redis, Oracle Database.
  • Базы данных отличаются от СУБД тем, что сами по себе представляют лишь файл на компьютере. Базы данных не умеют ничего делать с этими данными — только хранить. А вот СУБД уже предоставляют возможности по манипуляции ими.
  • Электронные таблицы очень похожи на базы данных, но имеют большой недостаток: если несколько пользователей будут использовать одну таблицу одновременно, есть риск перезаписать данные друг поверх друга и потерять их. С базами данных такого не случится, потому что они обрабатывают запросы по очереди.

* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности».

Читайте также:

  • Как ускорить работу базы данных
  • Задача про директора и график смен программистов
  • Система управления базами данных: что это такое и зачем она нужна

Зачем нужны базы данных

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

Данные

Вокруг нас всегда много разных данных, например:

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

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

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

Если это служба слежения за гражданами — фотография, имя, посещённые станции метро и улицы, место работы.

База данных и СУБД

Есть понятие базы данных — это набор данных, организованных каким-то способом. Например, если у вас в квартире есть гардеробная или кладовка, то всё это помещение со всем её содержимым может считаться базой (но не данных, а вещей или банок с огурцами, что не меняет сути).

Есть понятие системы управления базой данных (СУБД) — это когда семья села за стол и самого младшего отправляют в кладовку за огурцами, он приносит её и не разбивает по дороге. То есть СУБД — это какое-то средство для манипуляции данными в базе, например программа.

Для чего нужны

Вот основные задачи БД на примере гардеробной:

  • Сохранить наши данные по запросу — чтобы вы могли открыть дверь, повесить куртку, закрыть дверь и больше не думать ни о куртке, ни о гардеробной.
  • Изменить наши данные по запросу — чтобы можно было легко извлечь из гардеробной все дырявые носки и положить на их место целые.
  • Найти эти данные по запросу — чтобы быстро найти приличный пиджак или парный носок.
  • Не дать прочитать эти данные тем, кому не следует, а кому надо — дать. Например, младший брат может смотреть на ваши кроссовки, но не может их брать. А девушка (или парень) может положить свои вещи, но только на определённую полку.
  • Поддерживать порядок и не дать захламиться — если вам было лень и вы просто кинули толстовку куда попало, чтобы гардеробная либо сама нашла, куда эту толстовку правильно положить, либо сказала: «Э БРАТ ЗАЧЕМ ЗАХЛАМЛЯЕШЬ ПОЛОЖИ НОРМАЛЬНО ДАВАЙ»
  • Масштабироваться — чтобы вы могли просто вешать в гардеробную вещи и не думать об объёме полок.
  • Не потерять данные — если квартира будет гореть, приличная гардеробная не должна даже нагреться. Или, если она всё-таки горит, чтобы где-то в защищённом подземном гараже была точная копия этой гардеробной со всеми актуальными вещами.

В чём преимущества

Базы данных и их системы управления заточены на работу с большим объёмом данных и от лица большого числа пользователей. Сейчас вы поймёте.

�� Представьте, что у вас есть экселька со списком клиентов. Это не база данных, это просто таблица. Чтобы прочитать или записать что-то в эту эксельку, вам нужно её открыть, сделать дело, сохранить.

❌ Допустим, экселька с клиентами лежит на сетевом диске. Вы открыли её и ковыряетесь в данных, вносите изменения. Пока вы это делаете, ваш коллега тоже её открыл и тоже вносит изменения. Потом вы сохранились и закрыли эксельку. Экселька перезаписалась вашими данными. Но у вашего коллеги эти данные не отобразились, он-то открыл её раньше. Теперь, когда он сохранит свою эксельку, его данные перезапишутся поверх ваших, а ваши данные пропадут. Это полный ахтунг: вся ваша работа потеряна.

Зачем нужны базы данных

❌ Или у вас в компании правило: экселька всегда на одной флешке, работаем только с неё. Сейчас флешка в вашем компьютере, вы с ней работаете. А вашему коллеге нужно с ней тоже поработать. Он говорит: «Дай». Вы ему «Отстань». Ну и слово за слово…

Зачем нужны базы данных

✅ Но можно организовать своего рода СУБД. Один ответственный сотрудник назначается главным по эксельке. Она открыта на его компьютере, а вы ему говорите: «Петруха, добавь в клиента такого-то вот такие данные». «Петруха, а шо, когда дедлайн по поставке для этих ребят из Воронежа?», «Петруха, питерские отказались, поставь там отказ».

Зачем нужны базы данных

Петруха — ваша система управления базой данных. А экселька — это его база данных.

Понятно, что Петруха медленный и не всегда многозадачный, но хотя бы он избавляет от проблемы рассинхрона версий и потери данных.

Скорость — ещё одно преимущество базы данных. База данных устроена так, что она легко и быстро находит, записывает, переписывает и снова находит данные. Всё потому, что СУБД всегда знает, что где лежит и по какому критерию искать. Там не будет случайных данных в случайном месте.

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

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

  • Связывать одну единицу данных с множеством других. Например, если один человек совершил много заказов со множеством товаров внутри каждого, база данных способна хранить и обрабатывать такие связи.
  • База может хранить дерево данных — вроде того, о котором мы писали недавно. Попробуй в реальной жизни похранить дерево!
  • В базах могут жить ссылки на другие фрагменты и отделы базы.

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

База данных — это отдельный файл?

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

Но для пользователей нет разницы, как физически хранится база, это забота СУБД. Главное — уметь общаться с базой через СУБД.

Где их используют

Базы данных сейчас используются почти везде:

  • На сайтах, чтобы хранить контент для страниц. Все статьи в «Коде» на самом деле хранятся в базе данных и извлекаются оттуда по вашему запросу.
  • В смартфонах, чтобы хранить все ваши данные — фото, сообщения, заметки, контакты и музыку. Так как всего этого много, а доступ к этому должен быть молниеносный, используют разные виды СУБД.
  • В почтовых сервисах, чтобы можно было найти нужное письмо. Там строятся сложные индексные массивы, по которым ваш почтовый клиент ищет данные.
  • Везде, где есть личные кабинеты и регистрация, — чтобы запоминать пользователей и отличать их друг от друга.
  • В соцсетях и блогах почти всё хранится в базах данных.

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

Как это работает

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

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

Зачем нужны базы данных

В нашем примере у базы есть поля — Имя, Фамилия, Телефон и Фото, в которых могут храниться данные. Одна строчка — одна запись с данными.

Если пользователю нужно будет найти телефон Михаила Максимова по фамилии, происходит следующее:

Запрос от пользователя: Выдай мне из базы «Контакты» все записи, где поле «Фамилия» равно «Максимов»

Ответ от базы данных: ЛОЛ КЕК Ты кто такой

Запрос пользователя: Я хозяин этой базы Админ Админыч, пароль •••••. Выдай мне из базы «Контакты» все записи, где поле «Фамилия» равно «Максимов»

Ответ от базы данных: Найдена одна запись: [Михаил, Максимов, +79057362163, вот фото]

Разные базы — разные правила

Внутри каждой базы данных и её управляющей системы свои строгие правила:

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

Рабочая ситуация: допустим, вы работаете в банке и открыли карточку клиента, чтобы поменять ему кредитный лимит. В этот же момент другой сотрудник из соседнего офиса тоже хочет поменять лимит этому же клиенту, но уже на другую сумму. Как база отреагирует на такое? Должна ли она разрешать второму сотруднику открывать карточку или её нужно заблокировать, пока первый не закончит? А если она разрешит открыть карточку, то что будет, если двое сотрудников напишут там разный лимит — какой из них сохранять в итоге? СУБД задаёт эти правила и следит за их выполнением.

Что дальше

В следующей статье поговорим про MySQL — бурерождённую мать всех баз. Если разобраться, как она работает, то можно творить чудеса.

Текст и последняя схема

Редактура и остальные схемы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *