Рубрика «база данных»

Транзакционное юнит-тестирование приложений с БД - 1

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

В этой статье я хочу провести обзор разных способов юнит-тестирования приложения с БД и рассказать о способе, который я не видел в русскоязычном сегменте интернета. Статья будет посвящена Python 3, pytest и ORM-фреймворку SQLAlchemy, но методы переносимы на другие инструменты.
Читать полностью »

История очень простая: есть большая продуктовая база данных. Она нужна пяти-шести командам разработки, тестировщикам и другим командам. Можно сделать штук 10 разных инстансов + БД, но обычно это дорого и долго. Гораздо лучше взять одну мастер-базу и хранить её инкременты для тех команд, которые с ней работают. Для этого есть специальные утилиты. Если лет пять назад они только начинали распространяться в России, то теперь их использование — абсолютно нормальная практика.

Давайте посмотрим, как это работает, на примере Actifio:

image
Слева — Shapshots, на их основе можно создавать виртуальные БД (VDB).

Итак, берём продуктовую базу и начинаем её клонировать. Нужно это для того, чтобы, в частности, получать тестовую базу за 15 минут, а не за две недели (а бывает и дольше), как обычно в крупных компаниях. Читать полностью »

Всем привет. На связи Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. В преддверии старта нового потока курса «Архитектор высоких нагрузок» я решил написать небольшой авторский материал, которым хочу поделиться с вами.

Почему может понадобится полусинхронная репликация? - 1


Введение

Из-за того, что на HDD может выполняться лишь порядка 400-700 операций в секунду (что несравнимо с типичными rps'ами, приходящимися на высоконагруженную систему), классическая дисковая база данных является узким горлышком архитектуры. Поэтому необходимо уделить отдельное внимание паттернам масштабирования данного хранилища.

На текущий момент имеются 2 паттерна масштабирования базы: репликация и шардирование. Шардирование позволяет масштабировать операцию записи, и, как следствие, снижать rps на запись, приходящийся на один сервер вашего кластера. Репликация позволяет делать тоже самое, но с операциями чтения. Именно этому паттерну и посвящена данная статья.Читать полностью »

Обезл***вание д***ных — это не просто рандомизация - 1

В банке есть проблема: нужно давать доступ к базе данных разработчикам и тестировщикам. Есть куча клиентских данных, которые по PCI DSS требованиям Центробанка и законам о персональных данных вообще нельзя использовать для раскрытия на отделы разработки и тестирования.

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

Так вот, не будет.

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

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

То есть прежде чем всё это обезличить, сначала надо разобраться в базе данных. Читать полностью »

В Сбербанке снова утечка данных — новая информация о клиентах банка выставлена на продажу - 1

Согласно информации издания «Известия», с 12 февраля 2020 года в даркнете появились новые объявления о продаже базы данных, в каждой строке содержащих такую информацию о клиентах Сбербанка: название банковского подразделения, полное ФИО, номер счета, паспортные данные, дата рождения и номер телефона.
Читать полностью »

Глава Сбербанка назвал себя виноватым в утечке данных клиентов - 1

Президент, председатель правления Сбербанка Герман Греф, Фото: Сергей Фадеичев/ТАСС

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

По информации издания «Коммерсантъ», на одном из теневых ресурсов 13 октября 2019 года появилось объявление о продаже персональных данных клиентов Сбербанка на миллион строк, накопленных с 2015 года. В объявлении утверждалось, что база содержит полные данные клиентов банка, имеющих кредиты или кредитные карты: паспорт, прописка, адреса проживания, телефоны, счета, сумма остатка или задолженности. Правда теперь, помимо данных о кредитных картах, к продаже предлагалась еще дополнительная информация о клиентах — выгрузка последнего звонка клиента в банк, причем продавец предлагает покупателю именно запись разговора клиентов с колл-центром финансового учреждения.
Читать полностью »

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

Обновление [на 6.10.19]: добавлена информация о ходе расследования в Сбербанке.
Читать полностью »

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

В последнее время возникает ощущение, будто деньги растут на деревьях.

image

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

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

Репозитории правил для бизнеса и соответствующих блоков кода, которые встраиваются в продакшн - 1

Вкратце напомню: BRMS, или Business Rule Management System, — это «тяжёлые» системы для крупных и очень крупных компаний, которые содержат все те вещи, которые часто меняются в ИТ. Например, в банке в BRMS лежат чаще всего правила оценки по кредиту и параметры вкладов, в сотовом операторе — тарифы и нюансы вычисления всех списаний, в страховой компании — коэффициенты страхования, поправочные коэффициенты, параметры новых продуктов.

Разница между «вобьём руками» и «вобьём через BRMS» примерно такая: парни из одной страховой компании, где мы внедряли BRMS, оказались одними из немногих по итогам прошлого года, кто показал возможность работать очень гибко и быстро. Обычно внедрение коэффициента со всеми проверками занимает в среднем 2 недели. Здесь же это делается максимум за 2 дня, минимум — за считанные часы. У них есть данные статистики, на которые крайне быстро можно реагировать и перепроверять разные показатели сотни и тысячи раз. В страховании это означает возможность очень детально подстраиваться под текущую ситуацию (регион, банки) и получать куда больше прибыли.

Мы используем BRMS для оценки стоимости ИТ-проекта — она рассчитывается на основе правил вроде «работают сетевики либо программисты» и десятков переменных вроде стоимости часа специалиста.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js