Как правильно выбрать базу данных для разработки: понимание моделей репликации

Выбор подходящей системы управления базами данных (СУБД) — важнейшая задача при проектировании программных систем. Разработчики и архитекторы учитывают множество факторов: модель данных (реляционная или NoSQL), поддержку транзакций, масштабируемость, требования к согласованности и многого другое. Одним из ключевых архитектурных аспектов, влияющих на эффективность и надежность системы, является модель репликации данных . Репликация означает поддержание копий одних и тех же данных на нескольких узлах (серверах), соединённых по сети​. Зачем это нужно? Репликация позволяет: во-первых, держать данные ближе к пользователям (уменьшая задержку при запросах); во-вторых, продолжать работу системы даже при сбое отдельных узлов (повышая доступность); в-третьих, масштабировать систему, увеличивая число узлов для обслуживания запросов на чтение (повышая пропускную способность)​. Однако реализация репликации сопряжена с серьёзными архитектурными компромиссами. Согласно теореме CAP, в распределённой системе невозможно одновременно гарантировать все три свойства: консистентность данных, доступность сервиса и устойчивость к разделению сети. При возникновении сетевых сбоев (разбиении на изолированные сегменты) системе приходится жертвовать либо мгновенной согласованностью данных, либо доступностью части узлов. Поэтому разные СУБД делают разные выборы в этих компромиссах. Архитектурная модель репликации , лежащая в основе СУБД, определяет, как база данных достигает (или не достигает) консистентности, доступности и отказоустойчивости. Понимание этих различий крайне важно для архитекторов и разработчиков: зная поведение репликации, вы сможете выбрать такую СУБД, которая лучше соответствует требованиям вашего проекта по масштабу, геораспределенности, допустимой задержке и устойчивости к сбоям.

https://habr.com/ru/articles/895544/

#sql #nosql #mongodb #postgresql #cassandra #web_scalability #базы_данных #разработка #сервисы #нагрузка_на_сервер

Как правильно выбрать базу данных для разработки: понимание моделей репликации

Введение Выбор подходящей системы управления базами данных (СУБД) — важнейшая задача при проектировании программных систем. Разработчики и архитекторы учитывают множество факторов: модель данных...

Хабр

Правильный инструмент для аналитики нагрузочного тестирования. Часть 2

Load-testing-hub : эволюция сервиса аналитики нагрузочного тестирования Ранее я рассказывал о load-testing-hub , инструменте для аналитики и агрегации данных по нагрузочным тестам. Тогда он находился в стадии MVP , а теперь прошел значительные улучшения. Что изменилось? — Добавлено больше информации и гибкости в настройках. — Расширены возможности сравнения результатов. — Реализованы детальные графики и аналитика по методам. — Оптимизирован процесс выявления аномалий в производительности сервисов. Один из практических кейсов — поиск по банковским операциям среди сотен миллионов записей. Load-testing-hub помог протестировать производительность, выявить узкие места и оптимизировать решение. Изменений настолько много, что проще рассказать о сервисе заново. В статье подробно разберу его новые возможности и кейсы использования.

https://habr.com/ru/articles/871154/

#нагрузочное_тестирование #нагрузка_на_сервер #python #performance_tests #performance_analysis #reporting #сервис_для_аналитики #locust #load_testing #metrics_server

Правильный инструмент для аналитики нагрузочного тестирования. Часть 2

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

Хабр

Правильный инструмент для аналитики нагрузочного тестирования

В данной статье хочу рассказать про сервис load-testing-hub , главная задача которого это сбор, агррегация, анализ и визуализация данных о нагрузочном тестировании Расскажу о том, какие проблемы решает сервис, как он помогает оценивать производительность выпускаемых релизов, а также поделюсь примерами его использования Рассмотрим основные возможности load-testing-hub , такие как создание наглядных графиков и отчетов, сравнение результатов нагрузочных тестов

https://habr.com/ru/articles/833598/

#нагрузочное_тестирование #нагрузка_на_сервер #python #performance_tests #performance_analysis #reporting #сервис_для_аналитики #locust #load_testing #metrics_server

Правильный инструмент для аналитики нагрузочного тестирования

Вступление В данной статье хочу рассказать про сервис load-testing-hub , главная задача которого это сбор, агрегация, анализ и визуализация данных о нагрузочном тестировании Расскажу о том, какие...

Хабр

Не все логи одинаковы полезны: 3 истории из жизни

Прочитав статью " Утечки памяти, которые не утечки ", я решил поделиться своим опытом поиска проблем, связанных с нагрузкой систем под управлением Windows. 2 проблемы были связаны с возросшей нагрузкой на ЦПУ и одна проблема связанна с утечкой памяти. В своей статье я расскажу, как выявить проблемы в ПО, не имеющего исходного кода и написанного не вами, а так же как минимальными средствами выяснить, что происходит у вас в системе. Данный текст подойдет администраторам, где по условиям работы всё запрещено, а так же инженерам АСУТП, где систему приходится эксплуатировать в жестких рамках ИБ. Подробнее далее

https://habr.com/ru/articles/790554/

#windows #wmi #acronis_backup #нагрузка_на_сервер #утечка_памяти #логирование #нагрузка_на_процессор

Не все логи одинаковы полезны: 3 истории из жизни

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

Хабр