METANIT.COM
6.24K subscribers
1.79K photos
86 videos
10 files
1.26K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Основные стратегии для улучшения производительности базы данных:

1 - Индексация базы данных
Индексы важны для ускорения запросов к базе данных за счет сокращения объема сканируемых данных. Кроме того, выбор правильного типа индекса имеет решающее значение

2 - Шардинг и разбиение на разделы
Разделите данные на более мелкие, более управляемые фрагменты, известные как шарды. Каждый шард также хранится на отдельном сервере

3 - Денормализация
Денормализация объединяет данные в меньшее количество таблиц, чтобы сократить накладные расходы на соединения и повысить производительность чтения

4 - Репликация базы данных
Репликация подразумевает поддержание нескольких копий одной и той же базы данных, как правило, с основным узлом для записи (и критических чтений) и дополнительными узлами для большинства операций чтения.

5 - Методы блокировки базы данных
Используйте методы блокировки, такие как пессимистическая и оптимистическая блокировка, для управления уровнями параллелизма и конкуренцией за ресурсы
🔥7
В Positive Technologies начались массовые сокращения ИТ-шников
По сообщениям сотрудников Positive Technologies, с конца 2024 г. года в компании идут массовые увольнения. ИТ-шникам предлагают уйти по собственному желанию, несогласным выплачивают оклады. Кулуарно происходящее объясняют недостижением показателей. При этом по итогам 2023 г. выручка компании достигла 22,2 млрд руб.
Увольнения касаются разработчиков, программистов, тестировщиков и других специалистов. «В первую очередь убирают мидлов, и тех, чьи проекты закрываются или объединяются», - пояснили сотрудники.
https://www.cnews.ru/news/top/2025-02-02_v_krupnoj_ib-kompanii_s_milliardnoj
😱5👍3
Шпаргалка по веб-серверу Nginx #nginx
11👏2🥰1
Советы по повышению производительности интерфейса:

1 - Сжатие
Сжимайте файлы и минимизируйте размер данных перед передачей, чтобы снизить нагрузку на сеть

2 - Выборочный рендеринг
Отображайте только видимые элементы для оптимизации производительности рендеринга. Например, в динамическом списке отображайте только видимые элементы

3 — Модульная архитектура с разделением кода
Разделите большие файлы на несколько меньших файлов для эффективной загрузки

4 - Загрузка на основе приоритета
Отдайте приоритет важным ресурсам и контенту в области видимости

5 - Предварительная загрузка
Для повышения скорости загрузки извлекайте ресурсы, до того, как они будут запрошены

6 - Tree Shaking (удаление неиспользуемого кода)
Оптимизируйте набор файлов JS, удалив не используемый код

7 - Предварительная выборка
Заранее извлекайте или кэшируйте ресурсы, которые понадобятся позже

8 - Динамический импорт
Динамическая загрузка модулей на основе действий пользователя для оптимизации начального времени загрузки
👍4🥰1👏1
План запроса — это последовательность шагов для доступа к данным в базе данных SQL. Каждый SQL-запрос, отправляемый в базу данных, преобразуется в план запроса.
Процесс выглядит примерно следующим образом:

• Анализ SQL
• Оптимизация SQL
• Выходной план запроса

Важнейшим компонентом этого процесса является оптимизатор запросов. Он отвечает за поиск в возможном пространстве плана запроса и нахождение оптимального плана запроса.
В оптимизаторе запросов, основанном на стоимости, каждый план запроса имеет соответствующую стоимость. Лучший план запроса — это тот, который имеет наименьшую стоимость.
Еще одна оптимизация, которую выполняют SQL-движки, — кэширование часто используемых планов запросов. Важно писать запросы так, чтобы их можно было кэшировать. Например, запрос с параметрами можно кэшировать, а план запроса использовать повторно.
#sql
👍142🔥2
Наиболее применяемые команды Git для повседневного использования #git
🙏13👏4🔥3
5 распространенных стратегий кэширования:

1. 𝐑𝐞𝐚𝐝 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 : Приложение всегда сначала запрашивает кэш. Если данные отсутствуют в кэше, кэш сам извлекает их из базы данных и сохраняет для будущих запросов

2. 𝐂𝐚𝐜𝐡𝐞 𝐀𝐬𝐢𝐝𝐞 ( 𝐋𝐚𝐳𝐲 𝐋𝐨𝐚𝐝𝐢𝐧𝐠): Приложение сначала проверяет кэш. Если данные не найдены в кэше, извлекает данные из БД и сохраняет в кэше для последующих запросов.

3. 𝐖𝐫𝐢𝐭𝐞 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 : Каждая операция записи сначала сохраняется в кэше, а затем немедленно записывается в БД

4. 𝐖𝐫𝐢𝐭𝐞 𝐀𝐫𝐨𝐮𝐧𝐝 : Приложение напрямую пишет в базу данных, минуя кэш. Кэш обновляется только при запросе на чтение.

5. 𝐖𝐫𝐢𝐭𝐞 𝐁𝐚𝐜𝐤 : Данные сначала записываются в кэш, а кэш асинхронно обновляет БД в фоновом режиме

Какую стратегию использовать?
- Если чтения происходят чаще → Read-Through / Cache-Aside
- Если записи должны быть последовательными → Write-Through
- Если надо минимизировать ненужное кэширование → Write-Around
- Если нужна сверхбыстрая запись → Write-Back
👍5🔥1👏1
8 концепций языка Python, которые могут запутать/сбить с толку разработчика #python
👍7🥰1👏1🤮1
Компания Azul опубликовал свой отчет о состоянии Java за 2025 год. Отчет основан на ответах 2039 специалистов Java из компаний всех размеров
Согласно отчету, довольно много респондентов до сих пор используют древние версии Java. Так, Java 8, вышедшая в 2014 году, до сих пор применяется 23%, хотя в прошлом году этот показатель составлял 40%. Наиболее используемой версией является Java 17 LTS (выпущенная в 2021 году), за которой следует Java 21 LTS 2023 года.
Уязвимость Log4Shell в популярной библиотеке журналирования Log4j, обнаруженная в 2021 году, продолжает оставаться проблемой: 49 процентов респондентов заявили, что они по-прежнему сталкиваются с уязвимостями безопасности Log4j.
Spring Boot остается самой популярной средой микросервисов, но не намного. В 2023 году Spring Boot пользовался 61 процентом использования, но в текущем опросе он составил 42%, немного опережая Micronaut с 39%.
https://devclass.com/2025/01/30/state-of-java-report-shows-strong-migration-from-java-8-rise-of-apache-spark/
👍2🔥1👏1
Память, пропускная способность и задержки
👍12🔥2👏2