Big Data: Backup делать нельзя работать без него

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

Недавно перед нами была поставлена задача – разработать процедуру резервного копирования хранилища данных размером в 20 Терабайт. Используя наработанные практики резервного копирования, я попытался разработать такую процедуру и уложиться в то же время в рамки RPO (recovery point objective) и RTO (recovery time objective). Обе эти характеристики измеряются во времени и представляют собой следующее: RPO – допустимый объем возможных потерь данных, RTO – допустимое время простоя или за какое время база данных должна восстановиться. Вот тут-то и началось самое интересное – как бы я не прикидывал и не рассчитывал, но разработанная процедура резервного копирования никак не желала укладываться в эти рамки – слишком большой объем данных надо было забэкапить. В самом лучшем случае, с многочисленными оговорками и условиями база данных восстанавливалась за несколько часов, а такого бизнес себе позволить не мог. Хотя, у Сбербанка на этот счет несколько иное мнение и они считают, что клиенты могут и подождать. Но тут был не Сбербанк. В обычной же ситуации, когда на базу данных не налагались серьезные ограничения и условия, восстановление заняло бы несколько дней. Это усугублялось тем, что невозможно «снять» бэкап за приемлемое время – это также занимало несколько дней и создавало большую нагрузку на базу данных. Сразу оговорюсь, что эта база данных не поддерживает инкрементальный бэкап в текущей версии. Возможно, если бы мы могли получить инкрементальность, то игра и стоила бы свеч, и традиционная процедура резервного копирования имела бы право на жизнь в этом случае.

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

Инкрементальность

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

Репликация

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

«Двойной» ETL

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

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

Оригинал: [здесь]

Инфарктобезопасная БРС

«От сессии до сессии живут студенты весело»— теперь не так! БРС!
Традиционный бред очередного предсессионного периода

 
 
Как известно, сессия — это, прежде всего, оценки, т.е. числовое выражение академических достижений студентов. До недавних времён все было просто, понятно и ясно: «1 — плохо», «2 — неудовлетворительно», «3 — посредственно», «4 — хорошо», «5 — отлично». Конечно, это старорежимное толкование академических достижений. В Уставе любого современного отечественного университета в обязательном порядке записаны иные оценки, например, в Уставе МГУ:
Читайте, читайте — не пожалеете…

Йоттабайт и йобибайт — это круто

Йобибайт. Прочитали — О чем подумали? А Вы знаете,  что в соответствии со стандартами МЭК есть такая единица измерения информации? Посмотрите на табличку в Википедии или в конце этой заметки!

Читать далее «Йоттабайт и йобибайт — это круто»

Как изменяются любимые сайты

Со времени появления интернета в 90-х годах Web-дизайн прошел долгий путь. Только горстка веб-безопасных шрифтов, рудиментарные CSS и таблицы для макетирования — дизайнеры были очень скромны в своих возможностях. Перенесемся в сегодня и ситуация совершенно иная. Мульти-мегабайтные страницы с большой фотографии на обложке — норма, у нас на выбор множество рамок, иконок и шрифтов.
Интересно посмотреть, как популярные веб-сайты выглядели много лет назад. Благодаря волшебству Way back machine мы собрали винтажные хронологические скриншоты к вашему удовольствию.

Читать далее «Как изменяются любимые сайты»

Государство

1

Из совокупности
Избытков, скоростей,
Машин и жадности
Возникло государство.
Гражданство было крепостью, мечом,
Законом и согласьем. Государство
Явилось средоточьем
Кустарного, рассеянного зла:
Огромным бронированным желудком,
В котором люди выполняют роль
Пищеварительных бактерий. Здесь
Все строится на выгоде и пользе,
На выживанье приспособленных,
На силе.
Его мораль — здоровый эгоизм.
Цель бытия — процесс пищеварения.
Мерило же культуры — чистота
Отхожих мест и емкость испражнений.

2

Древнейшая
Из государственных регалий
Есть производство крови.
Судья, как выполнитель Каиновых функций,
Непогрешим и неприкосновенен.
Убийца без патента не преступник,
А конкурент:
Ему пощады нет.
Кустарный промысел недопустим
В пределах монопольного хозяйства.

3

Из всех насилий,
Творимых человеком над людьми,
Убийство — наименьшее,
Тягчайшее же — воспитанье.
Правители не могут
Убить своих наследников, но каждый
Стремится исковеркать их судьбу:
В ребенке с детства зреет узурпатор,
Который должен быть
Заране укрощен.
Смысл воспитания —
Самозащита взрослых от детей.
Поэтому за рангом палачей
Идет ученый Комитет
Компрачикосов,
Искусных в производстве
Обеззараженных
Кастрированных граждан.

4

Фиск есть грабеж, а собственность есть кража,
Затем, что кража есть
Единственная форма
Законного приобретенья.
Государство
Имеет монополию
На производство
Фальшивых денег.
Профиль на монете
И на кредитном знаке герб страны
Есть то же самое, что оттиск пальцев
На антропометрическом листке:
Расписка в преступленьи.
Только руки
Грабителей достаточно глубоки,
Чтоб удержать награбленное.
Воры,
Бандиты и разбойники — одни
Достойны быть
Родоначальниками
Правящих династий
И предками владетельных домов.

5

А в наши дни, когда необходимо
Всеобщим, равным, тайным и прямым
Избрать достойного —
Единственный критерий
Для выборов:
Искусство кандидата
Оклеветать противника
И доказать
Свою способность к лжи и преступленью.
Поэтому парламентским вождем
Является всегда наинаглейший
И наиадвокатнейший из всех.
Политика есть дело грязное —
Ей надо
Людей практических,
Не брезгающих кровью,
Торговлей трупами
И скупкой нечистот…
Но избиратели доселе верят
В возможность из трех сотен негодяев
Построить честное
Правительство стране.

6

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

7

В нормальном государстве вне закона
Находятся два класса:
Уголовный
И правящий.
Во время революций
Они меняются местами,
В чем,
По существу, нет разницы.
Но каждый
Дорвавшийся до власти сознает
Себя державной осью государства
И злоупотребляет правом грабежа,
Насилий, пропаганды и расстрела.
Чтоб довести кровавый самогон
Гражданских войн, расправ и самосудов
До выгонки нормального суда,
Революционное правительство должно
Активом террора
Покрыть пассив убийц,
Так революция,
Перетряхая классы,
Усугубляет государственность:
При каждой
Мятежной спазме одичалых масс
Железное огорлие гаротты
Сжимает туже шейные хрящи.
Благонадежность, шпионаж, цензура,
Проскрипции, доносы и террор —
Вот достижения
И гений революций!


Максимилиан Волошин
13 апреля 1922, Коктебель

ПЕСНЯ О ДУРИВЕСТНИКЕ-2

Позабытый, безработный после мерзостей известных
По-над площадью Болотной распластался Буревестник.
Покрывает телом пыльным всё болотное пространство.
Рядом пляшет глупый пингвин: «Обосрался! Обосрался!»

А какие были страсти. Вождь Немцов, Навальный-витязь
Обещали смену власти. Получите, распишитесь!
Где там «Марши миллионов», те что летом предрекали?
«Слили всё! — вопит Лимонов. — Надо было баррикады».

«Власть падёт в течение года», революцией пугали.
«Вы не знаете народа, — стонут вещие гагары. —
Наподдать ему, нахалу! Он же с левыми в союзе».
Это наше ноу-хау — бить за крах своих иллюзий.

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

Оперение седое, кучка рваных сухожилий.
Да, такая наша доля. Мы другой не заслужили.
Чем надёжней, тем бескрылей, как ведётся на Востоке.
Мы же сами говорили, что не выйдет, — мы в восторге.

Ничего не весит Слово — ни прозренья, ни цитаты.
И теперь надолго снова мы ни в чём не виноваты.
Вот и всё, как говорится. Только сумрак и ухабы.
Буревестник — горе-птица, но ведь он летал хотя бы.

Да, давайте вытрем ноги о загадочную птицу,
Обманувшую в итоге и Москву и заграницу.
Всё отечество привыкнет жить во злобе, брови хмуря.
И никто уже не вскрикнет: «Буря! Скоро грянет буря!»

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

Из проекта «Гражданин Хороший»

Песня о дуривестнике («Гражданин Поэт»)

Оригинал