Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Не нагрузишь — не протестируешь: как мы выявляли проблемы с системой документооборота ВТБ

Блог компании ВТБ Высокая производительность *Тестирование IT-систем *ECM/СЭД *Финансы в IT
Недавно в ВТБ поменялись некоторые аппаратные и программные компоненты системы документооборота. Изменения были слишком существенными, чтобы продолжать работу без полномасштабного нагрузочного тестирования: любая проблема с системой документационного обеспечения (СДО) чревата огромными убытками. 



Специалисты компании «Интертраст» протестировали СДО ВТБ на оборудовании Huawei — комплексе из серверной фермы, сети передачи данных и СХД на базе твердотельных накопителей. Для тестов мы создали среду, которая воспроизводила реальные сценарии с максимально возможной нагрузкой. Результаты и выводы — под катом. 
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 4.4K
Комментарии 10

Открытый PostgreSQL Meetup UPD запись трансляции и презентации

Блог компании Райффайзенбанк PostgreSQL *Администрирование баз данных *Конференции
Приглашаем вас на открытый митап, организованный совместно Райффайзенбанком и компанией Postgres Professional. Ждем вас 8 октября в нашем офисе в Нагатино.


Всего голосов 17: ↑16 и ↓1 +15
Просмотры 2.9K
Комментарии 2
Ситуация, когда в IT-инфраструктуре работает множество монолитных систем сторонних вендоров, далеко не новая. И нередко при попытках подружить монолит с собственными решениями возникают проблемы. В посте рассказываем, как может помочь в решении этих проблем переход на микросервисы и как работать при этом с данными.
Подробности — под катом
Всего голосов 41: ↑28 и ↓13 +15
Просмотры 18K
Комментарии 14

PG12: Дюжина патчей от Postgres Professional

Блог компании Postgres Professional PostgreSQL *
Приятно видеть знакомые фамилии в списке Acknowledgments официального релиза PostgreSQL 12. Мы решили свести вместе попавшие в релиз новшества и некоторые багфиксы, над которыми трудились наши разработчики.

1. Поддержка JSONPath


Release Notes это звучит как Add support for the SQL/JSON path language (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova)

Сам этот патч, возможности JSONPath и история вопроса обсуждались в деталях в отдельной статье здесь на хабре. JSONPath — серьезное достижение Postgres Professional и одно из главных новшеств PostgreSQL 12 вообще.

В 2014 году А.Коротковым, О.Бартуновым и Ф.Сигаевым было разработано расширение jsquery, вошедшее в результате в версию Postgres Pro Standard 9.5 (и в более поздние версии Standard и Enterprise). Оно дает дополнительные, очень широкие возможности для работы с json(b).

Когда появился стандарт SQL:2016, оказалось, что его семантика не так уж сильно отличается от нашей в расширении jsquery. Не исключено, что авторы стандарта даже поглядывали на jsquery, изобретая JSONPath. Нашей команде пришлось реализовывать немного по-другому то, что у нас уже было и, конечно, много нового тоже.

Хотя специальный патч с функциями до сих пор не закоммичен, в патче JSONPath уже есть ключевые функции для работы с JSON(B), например:

jsonb_path_query('{"a": [1,2,3,4,5]}', '$.a[*] ? (@ > 2)') возвращает 3, 4, 5
jsonb_path_query('{"a": [1,2,3,4,5]}', '$.a[*] ? (@ > 5)') возвращает 0 записей

Кроме того, были оптимизированы и некоторые функции, которые уже работали с JSON раньше. Этим успешно занимался Никита Глухов.

Например, оператор #>>, соответствующий функциям jsonb_each_text() и jsonb_array_elements_text(), раньше достаточно быстро преобразовывал JsonbValue в text, но работал неторопливо с другими типами. Сейчас всё работает быстро.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 5.6K
Комментарии 6

Postgresso 18

Блог компании Postgres Professional PostgreSQL *


После паузы (отпуск), продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Не будем придерживаться здесь строго отображения всех релизов и событий, произошедших после последнего, еще октябрьского выпуска Postgresso #17, но важнейшее, произошедшее ещё в конце 2019 всё же постараемся упомянуть.

Релизы



PostgreSQL 12.2
А также 11.7, 10.12, 9.6.17, 9.5.21, и 9.4.26 увидели свет 13 февраля. Последняя в списке и есть последняя: 27-й уже не будет. В 12.2 исправлено огромное количество (более 70) багов, обнаруженных в 12.1. Из них многие в секционировании.

Решили проблемы с правами в конструкции ALTER… DEPENDS ON EXTENSION. В 12.1 обладатели прав на DROP EXTENSION могли расправляться с объектами, зависимыми от этого расширения.

Улучшили производительность parallel hash join для процессоров с большим количеством ядер и для hash join с очень большими таблицами.

Postgres Pro Standard 12.1.1

Эта версия вышла в конце декабре 2019 и основана, соответственно, на PostgreSQL 12.1. Об особенностях этой версии можно прочитать в этой статье. Там подробно и с примерами рассматриваются:
— проверка версий ICU;
— оптимизация блокировок, джойнов и GROUP BY;
— поддержка PTRACK;
— WaitLSN;
и многое другое.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 7.1K
Комментарии 4

Покрывающие индексы для GiST

Блог компании Postgres Professional PostgreSQL *
«Покрывающий индекс» не просто еще одна фича, которая может пригодиться. Это вещь сугубо практичная. Без них Index Only Scan может не дать выигрыша. Хотя и покрывающий индекс в разных ситуациях эффективен по-разному.

Речь здесь будет не совсем о покрывающих индексах: строго говоря, в Postgres появились так называемые инклюзивные индексы. Но, по-порядку: покрывающий индекс — это индекс, который содержит все значения столбцов, необходимые запросу; при этом обращение к самой таблице уже не требуется. Почти. О «почти» и других нюансах можно прочитать в статье Егора Рогова, входящей в его индексный сериал из 10 (!) частей. А инклюзивный индекс создается специально для поиска по типичным запросам: к поисковому индексу добавляются значения полей, по которым искать нельзя, они нужны только для того, чтобы не обращаться лишний раз к таблице. Такие индексы формируются с ключевым словом INCLUDE.

Анастасия Лубенникова (Postgres Professional) доработала метод btree так, чтобы в индекс можно было включать дополнительные столбцы. Этот патч вошел в версию PostgreSQL 11. Но патчи для методов доступа GiST/SP-GiST не успели созреть до выхода этой версии. К 12-й GiST дозрел.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.2K
Комментарии 0

Хотите немного СУБД из первых рук? Открытой встрече в Нижнем Новгороде — быть

MySQL *Администрирование баз данных *Конференции
На Хабре есть дайджесты анонсов для Москвы и Санкт-Петербурга, а для Нижнего Новгорода пока почему-то нет, хотя здесь и IT-компаний много (очень много!), и событий хватает всех форматов и для любого стека, и читателей Хабра ого-го. Я для дайджестов слишком ленива занята, но отдельные события удивляют своей крутизной и скромностью освещения. Например, встреча с Петром Зайцевым, посвящённая СУБД. Что ж, будем исправляться.



Кстати, только-только отгремит очередной HighLoad++, так что у Петра можно спросить немного инсайтов по теме
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 3.2K
Комментарии 9

DIY: как мы автоматизируем мониторинг склада

Блог компании X5 Group IT-инфраструктура *Администрирование баз данных *
Под управлением Х5 находится 43 распределительных центра и 4 029 собственных грузовых автомобиля, они обеспечивают бесперебойную поставку продуктов в 15 752 магазина. В статье поделюсь опытом создания с нуля интерактивной системы мониторинга событий склада. Информация будет полезна логистам торговых компаний с несколькими десятками распределительных центров, управляющих широким товарным ассортиментом.


Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 5.6K
Комментарии 1

Postgres-вторник №5: «PostgreSQL и Kubernetes. CI/CD. Автоматизация тестирования»

Блог компании Флант PostgreSQL *Администрирование баз данных *DevOps *Kubernetes *


В конце минувшего года состоялся очередной прямой эфир российского PostgreSQL-сообщества #RuPostgres, в рамках которого его сооснователь Николай Самохвалов поговорил с техническим директором «Фланта» Дмитрием Столяровым про эту СУБД в контексте Kubernetes.

Мы публикуем стенограмму основной части этой дискуссии, а на YouTube-канале сообщества опубликована полная видеозапись:
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 9.1K
Комментарии 1

Вышла Postgres Pro Standard 12.1

Блог компании Postgres Professional PostgreSQL *
СУБД Postgres Pro Standard придумана для того, чтобы доставлять наши разработки пользователям быстрее, чем мы можем это сделать через PostgreSQL. Те фичи, которые еще не вошли в PostgreSQL, но находятся на твердом пути туда, мы включаем в Postgres Pro Standard. Также в Postgres Pro Standard входят некоторые расширения, которые востребованы нашими клиентами, но отсутствуют в обычной поставке PostgreSQL.

Иногда бывают исключения, когда в Postgres Pro Standard по просьбам юзеров и для их удовлетворения включаются и менее тривиальные фичи, которым по-хорошему место только в Postgres Pro Enterprise. В частности, это PTRACK, о нём ниже.

Не все, но изрядная доля дополнительных расширений и утилит, входящих в Standard, разработана в Postgres Professional. Все патчи Postgres Pro придуманы и реализованы нашими силами. Начнем с улучшений, потребовавших вмешательства в ядро СУБД.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 10K
Комментарии 12

Гендир Postgres Professional Олег Бартунов рассказывает Фариде Рословец о PostgreSQL и бизнесе в России

Open source *PostgreSQL *Администрирование баз данных *Развитие стартапа Бизнес-модели

Как построить бизнес в России на основе открытого ПО?
Рассказывает Олег Бартунов — сооснователь и CEO Postgres Professional, профессиональный астроном.


Поговорили немного об астрономии в России, кто такой астроном и чем он занимается, про интеграцию IT-технологий и науки, о том, как выиграть в конкурсе деньги и не получить их от государства, что такое СУБДстроение, и о том, как они с Крюковым и Лысаковым Rambler делали на базе Астронета.

Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 3.9K
Комментарии 22

«Про, да не кластер» или как мы СУБД импортозамещали

Системное администрирование *Администрирование баз данных *
image

(ц) Яндекс.Картинки

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

У нас есть немалый опыт перевода информационных систем с логикой в БД из одной СУБД в другую. В разрезе постановления правительства №1236 от 16.11.2016, часто это перевод с Oracle на Postgresql. Как организовать процесс максимально эффективно и безболезненно — мы можем рассказать отдельно, сегодня мы расскажем об особенностях использования кластера и с какими проблемами можно столкнуться при построении высоконагруженных распределённых систем со сложной логикой в процедурах и функциях.
Читать дальше →
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 6K
Комментарии 3

Логические поля в базах данных, есть ли противоядие

Поисковые технологии *Анализ и проектирование систем *Алгоритмы *C *

Часто в таблицах содержится большое количество логических полей, проиндексировать все из них нет возможности, да и эффективность такой индексации низка. Тем не менее, для работы с произвольными логическими выражениями в SQL пригоден механизм многомерной индексации о чем и пойдёт речь под катом.
Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 11K
Комментарии 28

Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB

Блог компании ua-hosting.company IT-инфраструктура *Серверная оптимизация *Администрирование баз данных *Big Data *
Перевод
Tutorial
Clickhouse — это колоночная система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших объемов данных (вставка тысяч строк в секунду или петабайты данных, хранящихся на диске).

В обычной, «строковой» СУБД, примерами которых служат MySQL, Postgres, MS SQL Server, данные хранятся в таком порядке:



При этом значения, относящиеся к одной строке, физически хранятся рядом. В столбцовых СУБД значения из разных столбцов хранятся отдельно, а данные одного столбца – вместе:

Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 17K
Комментарии 9

HighLoad++, Юрий Насретдинов (ВКонтакте): как VK вставляет данные в ClickHouse с десятков тысяч серверов

Блог компании ua-hosting.company IT-инфраструктура *Серверная оптимизация *Администрирование баз данных *Big Data *
Tutorial
HighLoad++ Moscow 2018, зал «Конгресс-холл». 9 ноября, 15:00

Тезисы и презентация: http://www.highload.ru/moscow/2018/abstracts/4066

Юрий Насретдинов (ВКонтакте): в докладе будет рассказано об опыте внедрения ClickHouse в нашей компании – для чего он нам нужен, сколько мы храним данных, как их пишем и так далее.



Дополнительные материалы: использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 7.4K
Комментарии 6

Массивно-параллельная база данных Greenplum — короткий ликбез

Блог компании КРОК IT-инфраструктура *Хранение данных *Облачные сервисы


Для Hadoop и Greenplum есть возможность получить готовый SaaS. И если Хадуп — известная штука, то Greenplum (он лежит в основе продукта АrenadataDB, про который далее пойдёт речь) — интересная, но уже менее «на слуху».

Arenadata DB — это распределённая СУБД на базе опенсорсного Greenplum. Как и у других решений MPP (параллельной обработки данных), для массивно-параллельных систем архитектура облака далека от оптимальной. Это может снижать производительность аж до 30 % (обычно меньше). Но, тем не менее, эту проблему можно нивелировать (о чём речь пойдёт ниже). Кроме того, стоит покупать такую услугу из облака, часто это удобно и выгодно в сравнении с развёртыванием собственного кластера.

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

Если у вас есть хранилище данных больше 1 ТБ и транзакционные системы — не ваш профиль по нагрузке, то ниже — рассказ, что можно сделать как вариант. Почему 1 ТБ? Начиная с этого объёма использование MPP эффективнее по соотношению производительность/стоимость, если сравнивать с классическими СУБД.
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 7.1K
Комментарии 7

SSO на микросервисной архитектуре. Используем Keycloak. Часть №1

Блог компании X5 Group IT-инфраструктура *Администрирование баз данных *Микросервисы *
В любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость использования единого сервера Single-Sing-On (SSO). Но как быть, когда такие идентификационные провайдеры как AD или иные, не обладающие дополнительными атрибутами, уже используются в различных проектах. На помощь придет класс систем под названием «идентификационные брокеры». Наиболее функциональными являются его представители, такие как Keycloak, Gravitee Access management и пр. Чаще всего сценарии использования могут быть различны: машинное взаимодействие, участие пользователей и пр. Решение должно поддерживать гибкий и масштабируемый функционал, способный объединить все требования в одном, и такие решением в нашей компании сейчас является индикационный брокер – Keycloak.


Всего голосов 16: ↑16 и ↓0 +16
Просмотры 59K
Комментарии 27

Как масштабироваться с 1 до 100 000 пользователей

Блог компании Дата-центр «Миран» Хостинг Разработка веб-сайтов *Серверное администрирование *Облачные сервисы
Перевод
Tutorial
Через такое прошли многие стартапы: каждый день регистрируются толпы новых пользователей, а команда разработчиков изо всех сил пытается поддержать работу сервиса.

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

Попытаемся отфильтровать информацию и записать основную формулу. Мы собираемся пошагово масштабировать наш новый сайт для обмена фотографиями Graminsta с 1 до 100 000 пользователей.

Запишем, какие конкретные действия необходимо сделать при увеличении аудитории до 10, 100, 1000, 10 000 и 100 000 человек.
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 17K
Комментарии 25

Postgresso 19

Блог компании Postgres Professional PostgreSQL *

Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL.

Релизы


Postgres Pro Enterprise 11.17.1 и Postgres Pro Standard 11.17.1

В Postgres Pro Enterprise 11.17.1 исправлены недостатки, на которые указали пользователи. Серьезные доработки сделаны в расширении multimaster:
— теперь рекомендуется использовать его в конфигурации с тремя узлами, один из которых голосующий. Подробнее здесь;
— устранена проблема раздувания WAL путём очистки точек синхронизации удалённого узла и исправления расчёта минимального требующегося LSN. Ранее раздувание WAL иногда случалось при удалении узла из кластера;
— устранена проблема с возвращением узла в кластер после длительного отключения этого узла;
исправлена ошибка в точке синхронизации при инициализации модуля multimaster, возникавшая в случае сбоя до первой синхронизации.
Кроме этого усовершенствован механизм встроенного пула соединений. По сравнению с предыдущей версией, в нём появились следующие новшества:
— параметр dedicated_users, позволяющий задать список пользователей, для которых в режиме пула соединений будут использоваться выделенные обслуживающие процессы;
— отдельные обслуживающие процессы теперь могут принимать подключения разных пользователей, так что все подключения к одной базе данных будут относиться к одному общему пулу.
Есть доработки, общие для Postgres Pro Enterprise 11.17.1 и Postgres Pro Standard 11.17.1. Например, утилита pg_probackup обновлена до версии 2.2.7, а mamonsu — до версии 2.4.4.
Об этих и других новшествах релиза есть в главке Замечания к выпуску из документации по PPE и PPS.

Postgres Pro Standard 12.2.1

Отличия этой версии от PostgreSQL 12 и от Postgres Pro Standard 11.17.1 можно проследить по соответствующим Замечаниям к выпуску.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.3K
Комментарии 0

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

Блог компании Техносерв Информационная безопасность *Хранение данных *


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

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

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

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

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

То есть прежде чем всё это обезличить, сначала надо разобраться в базе данных.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 16K
Комментарии 24