Shell-скрипт, который удалил базу данных, и история о том, как ShellCheck мог бы помочь это предотвратить
- Перевод
Эта статья является конспектом книги «Designing Data-Intensive Applications».
В суровой реальности информационных систем очень многое может пойти не так - программное или аппаратное обеспечение базы данных может отказать в любой момент; в любой момент может произойти фатальный сбой приложения; разрывы сети могут неожиданно отрезать приложение от базы данных или один узел базы от другого; состояния гонки между клиентами могут привести к неожиданным ошибкам.
Транзакции в течение десятилетий считались предпочтительным механизмом решения этих проблем. Транзакция — способ группировки приложением нескольких операций записи и чтения в одну логическую единицу. По сути, все операции записи и чтения в ней выполняются как одна: вся транзакция или целиком выполняется успешно (с фиксацией изменений), или целиком завершается неудачно (с прерыванием и откатом). Транзакции значительно упрощают для приложения обработку ошибок, поскольку нет нужды заботиться о частичных отказах.
В этом конспекте рассмотрим примеры возможных проблем и изучим алгоритмы, которые используют БД для их предотвращения. Рассмотрим вопрос управления конкурентным доступом, обсудим различные виды возникающих состояний гонки, а также реализацию в базах различных уровней изоляции.
Когда человечество вовсю вело первую мясорубочную войну в 1918 году, люди задумались о том, как бы спасти раненого солдата (и тем более лиц, более высоких по званию/значению) лучшим образом, нежели на лошади тыгыдыкать по кочкам до близлежащего госпиталя. Тогда и пришли к идее, что можно для этого использовать самую быструю и прямолинейную среду передвижения — воздух. Самолет ведь, если его снабдить соответствующим снаряжением, сможет и сесть в поле в сотне метров от пострадавшего, и довезти его назад на удивительной скорости, и по пути не вытрясти из него что угодно. Сплошной профит. Эти идеи и привели к созданию сферы авиации под названием «Санитарная авиация».
open()
(и использовать ABI вызова C-функций). К сожалению, не так всё просто, так как очень часто фрагменты обычного API C-библиотеки, на самом деле, реализованы в препроцессоре C. Из-за этого API C-библиотеки нельзя надёжно использовать для решения обычных задач без написания собственного связующего кода на C.Иногда можно наткнуться на такое поведение по умолчанию, обнаружение и понимание которого требует определённой медитации. Для меня одной из таких особенностей была команда “bgp redistribute-internal”. Первоначально назначение этой функции не вызывало у меня каких-либо вопросов, как и то, что её использование может привести к петлям маршрутизации; раз знающие люди написали, что может, значит, так оно и есть. Однако спустя неопределённое время в голове начало скрестись желание получить наглядный пример такой петли. Беглый поиск, впрочем, не дал ничего конкретного.
Привет! Это вторая часть статьи, в которой мы будем разбирать практическое применение платформы Graylog.
В первой части мы разобрали как платформу установить и произвести ее базовую настройку, а сегодня дадим пару примеров применения ее возможностей на практике.
В частности, разберем настройку сбора логов с сервера и возможность визуализировать полученные данные.
Возможно этот случай заслужит отдельной заметки. Как оказалось, не все так однозначно, с pg_dump
Не факт, что решение получилось максимально эффективным и не будет изменено/улучшено. Но как этюд на тему использования возможностей PostgreSQL, идея показалась как минимум интересной.
Несмотря на то, что у нас так много внутренних и внешних угроз для баз данных, в этом учебнике мы рассмотрим лишь некоторые из них.
30 апреля мы запустили стажерскую программу по направлению DevOps. Сегодня рассказываем, как проходит стажировка, кто участвует, чего ожидают от программы стажёры и будет ли второй поток.
Как повысить эффективность управления карточками товаров и грамотно работать с остатками на маркетплейсах? Этими вопросами задается каждый второй продавец, который хочет занять верхние строчки в поисковой выдаче и увеличить продажи. Разбираемся, какие особенности бывают при работе с карточками товаров, и как их решает RDV Маркет.
На Хабре часто пишут о квартирной вентиляции и её автоматизации. Такие кейсы интересны необходимостью достигать результатов, используя достаточно простые и не затратные компоненты. А в данной статье хотелось бы рассказать о другом конце спектра климатики и автоматизации - построении системы отопления в сильно-историческом здании. Работе, которая начиналась даже не с проектирования, а с мат. моделирования...
Собор "Спас на крови" имеет тяжелую судьбу. И хотя после окончания долгой реставрации, воспетой в песнях, его жизнь наладилась, но время шло. А так как собор - это не только стены, но и различные системы жизнеобеспечения, то смонтированные во время реставрации инженерные системы ветшали и постепенно заменялись на современные. Так пришло время замены и системы отопления.
Софт с открытым кодом незаменим при внедрении технологий искусственного интеллекта и больших данных. IT-стартапы уже не используют проприетарные решения. От государства проектам Open Source Software (OSS) нужна грантовая поддержка, универсальная платформа и грамотная политика в сфере подготовки кадров. В России вопросы развития этого направления в 2021 году включены во второй пакет мер поддержки IT-отрасли.
Про Solid Project за 5 лет его существования было написано множество статей с громкими заголовками и захватывающими воображение картинами будущего, где связанные данные свободны, а пользователи не боятся бана в твиттере. В таких материалах подробно рассказывается какие изменения несет Solid, но весьма поверхностно затрагивается вопрос, что же это такое, из чего он состоит, какие в нем есть технические проблемы и подводные камни.
Мне понравились принципы, заложенные в Solid, и я захотел написать веб приложение для этой платформы - многоуровневый список задач. В процессе разработки я ознакомился с некоторыми существующими библиотеками и реализациями серверной части, прочитал некоторые спецификации. В данной статье я хочу изложить полученный опыт.
Приветствую всех в четвертой статье, посвященной Континент 4. В данной статье рассмотрим защиту от вредоносных веб-сайтов. Разберем работу SSL-инспекции, создадим профиль для работы с веб-фильтрами и настроим портал аутентификации.
В Континент 4.1 предусмотрен механизм усиленной фильтрации, который может анализировать и обрабатывать сетевой трафик на уровне прикладных протоколов HTTP(S), FTP. Для защиты от вредоносных веб-сайтов используются Web/FTP-фильтры. Фильтры объединяются в группы. Каждый фильтр описывается следующими параметрами:
Автоматизация является критически важным компонентом цифровой трансформации, поскольку именно автоматизация задач с помощью приложений находится в центре внимания первого этапа бизнес-процесса, известного как цифровая трансформация.
Автоматизация рабочих процессов требует внимания на втором этапе цифровой трансформации — с расширением цифрового присутствия бизнеса и накапливанием знаний и опыта.
Автоматизация играет центральную роль и в создании и реализации практических идей с использованием техник искусственного интеллекта для управления ИТ (AIOps). И далее, на последующих этапах, с использованием искусственного интеллекта.