Добрый день. Вы слушаете подкаст от дата центра MouseDC.ru. У микрофона Алексей Гуржиев.
Во первой части подкаста традиционно разберём присланные вопросы, которые получила наша техническая поддержка. Вопрос будет связан с правовыми документами: какие документы по закону должны быть на сайте и где должны стоять ссылки на них.
Во второй части мы обсудим тему использования баз данных на современных сайтах.
Правовые документы
Начнём с правовых документов. Если у вас на сайте только одна страница, нет никаких форм для ввода информации, вы ничего не продаёте на сайте и не собираете куки, то нет необходимости добавлять какие-то правовые документы.Если на сайте сделать форму обратной связи, то нужно разместить политику конфиденциальности. В которой будет описан порядок обработки данных из этой формы.
Если сделать на сайте функционал регистрации/авторизации, то понадобится пользовательское соглашение. В котором будет описание, что пользователь может сделать с системой.
Если вы продаёте что-то на сайте, то нужно добавить публичную оферту. Этот документ содержит описание условий продажи и другие юридически значимые нюансы.
Документы могут находиться где-угодно на сайте. Но как показывает практика (и гласит закон) ссылки на них должны быть на титульной странице.
Основная проблема с этими документами обычно связана с тем, что инспектор от Роскомнадзора не нашёл на сайте ссылку на них. Поэтому просто оставьте ссылки на все документы в подвале сайта, чтобы они были на привычном месте. Тогда надзорные органы вряд ли будут придираться.
Что же касается содержания документов, то сейчас можно найти большое количество заготовок в интернете. Даже существуют автоматические генераторы документов для сайтов, куда нужно только вставить адрес сайта и отметить нужные пункты.
Но не стоит тянуть с этим. Сайты без документов блокируются через две недели после подачи жалобы. Сделайте документы заранее.
Хранение данных в файлах и базе данных
Теперь разберём второй вопрос - базы данных.Редко какой многостраничный сайт обходится без базы данных. В базе хранится всё: от учётных записей пользователей до информации, введённой в форму обратной связи. И база данных MySQL выбирается как один из самых простых способов хранения информации, который есть практически на всех хостингах. А теперь, чтобы лучше понимать тему, давайте сравним способ хранения информации в обычных текстовых файлах и в базе данных. Так мы поймём области применения технологий.
Во-первых, нужно сравнить где находятся база и файлы. База данных работает в оперативной памяти сервера. И один раз в секунду (в зависимости от настроек) сохраняется на диск. Файлы же всегда находятся на диске. И тут кроется первое заблуждение о скорости чтения информации.
Если вам необходимо получить одну строку из базы, то скорость этой операции не будет выше, чем чтение с диска. Потому что сейчас 21 век и все наши веб серверы оснащены только твердотельными накопителями. У которых задержки на чтение информации почти равны задержкам оперативной памяти.
Преимущество базы в том, что она именно в оперативной памяти, которая устойчива к изменению информации. Перезапись не будет травмировать сервер. У файловой системы ситуация противоположная: в диске можно легко протереть дырку, если перезаписывать информацию с такой же скоростью, как и в оперативной памяти.
Второй различий способов хранения заключается в объёмах. В файлах легко можно хранить терабайты информации. Потому что диск большой. А оперативная память в сотни раз меньше, поэтому не стоит делать хранилище из базы данных.
К примеру, если вам нужно хранить несколько миллионов записей сессий пользователей, то очевидным выбором будет хранение в файлах. Данные сессий всегда читаются раздельно, для их чтения не нужна сортировка и группировка, а их количество может исчисляться десятками гигабайт. Если же данные сессий хранить в базе, то можно столкнуться с недостатком оперативной памяти и снижением производительности от непрерывных блокировок таблиц.
Отсюда появляется и третий пункт сравнения технологий. Файловая система работает без особых подводных камней: каждый файл отдельно блокируется на время изменения. И грубо говоря, во время блокировки большинство операций с файлом будут недоступны. А в базе данных MySQL всё будет намного сложнее. Здесь блокировки зависят от типа таблиц. О них мы расскажем подробнее в следующем подкасте. Но сразу скажем, что даже если вы будете использовать тип таблиц InnoDB, в которой блокировки делаются на уровне строк, то всё равно останется узкое место - это количество подключений к базе данных.
Подведём итоги. Если вам нужно хранить очень большой объём информации, в которой элементы не связаны друг с другом, то храните её в файлах. Но если же вам нужно получать различные выборки данных с сортировками и группировками, то используйте базу данных.
Это было поверхностное сравнение способов хранения информации на сайтах. Больше материала о базах данных и программировании можно найти в статьях на нашем сайте.
На этом завершаем наш подкаст от дата центра MouseDC.ru. Подписывайтесь на наши социальные сети и регистрируйтесь на хостинге. Обязательно отправляйте свои вопросы в нам техническую поддержку, через личный кабинет.
У микрофона был Алексей Гуржиев. До встречи в следующих выпусках.