ORM для реальных приложений не окупается
Идея упростить или абстрагировать код с помощью ORM, возможно, имеет очень ограниченный контекст применимости. По сути ORM хорош для приложений уровня простого CRUD, а дальше начинает только мешать. А CRUD-приложений в реальной жизни очень мало.
Перейти к статье | SQLpedia
Идея упростить или абстрагировать код с помощью ORM, возможно, имеет очень ограниченный контекст применимости. По сути ORM хорош для приложений уровня простого CRUD, а дальше начинает только мешать. А CRUD-приложений в реальной жизни очень мало.
Перейти к статье | SQLpedia
👍7
SQL JOIN: типы и примеры
Рассказали о команде JOIN в SQL, разобрали типы команды и рассмотрели её использование на практических примерах.
Перейти к статье | SQLpedia
Рассказали о команде JOIN в SQL, разобрали типы команды и рассмотрели её использование на практических примерах.
Перейти к статье | SQLpedia
👍2
Forwarded from BApedia | Бизнес-анализ
This media is not supported in your browser
VIEW IN TELEGRAM
Нынешняя ситуация в каждом рабочем чате
😁9
Немного про OR в SQL запросах
Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR.
Перейти к статье | SQLpedia
Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR.
Перейти к статье | SQLpedia
👍4
Производственный календарь в PostgreSQL
Новый Год уже совсем на носу, а значит нужен свежий производственный календарь в базе данных PostgreSQL.
Перейти к статье | SQLpedia
Новый Год уже совсем на носу, а значит нужен свежий производственный календарь в базе данных PostgreSQL.
Перейти к статье | SQLpedia
👍7
Вышел Firebird 5.0
11 января 2024 года, выпущен Firebird 5.0 — восьмой основной выпуск СУБД Firebird, разработка которого началась в мае 2021 года.
Перейти к статье | SQLpedia
11 января 2024 года, выпущен Firebird 5.0 — восьмой основной выпуск СУБД Firebird, разработка которого началась в мае 2021 года.
Перейти к статье | SQLpedia
❤1
Как оптимизировать медленные SQL запросы?
Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться проблемы с производительностью БД, отдельные части приложения начинают работать всё медленнее и медленнее по мере роста самого БД.
Перейти к статье | SQLpedia
Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться проблемы с производительностью БД, отдельные части приложения начинают работать всё медленнее и медленнее по мере роста самого БД.
Перейти к статье | SQLpedia
👍1
Организация SQL скриптов крупного проекта
Если проект использует реляционную СУБД обязательно возникнет вопрос — как организовать скрипты (миграции) для сохранения гибкости и уменьшения трудозатрат.
Перейти к статье | SQLpedia
Если проект использует реляционную СУБД обязательно возникнет вопрос — как организовать скрипты (миграции) для сохранения гибкости и уменьшения трудозатрат.
Перейти к статье | SQLpedia
GROUPING SETS
В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях.
Перейти к статье | SQLpedia
В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях.
Перейти к статье | SQLpedia
Распределенное управление конкурентностью
"Управление конкурентным доступом является очень важной концепцией в Системе Управления Базами Данных. Оно гарантирует, что одновременное выполнение запросов несколькими процессами или пользователями оставит данные в согласованном состоянии. Особое место занимает доступ к Базе Данных в распределенной системе с множеством конкурирующих за ресурс узлов."
Перейти к статье | SQLpedia
"Управление конкурентным доступом является очень важной концепцией в Системе Управления Базами Данных. Оно гарантирует, что одновременное выполнение запросов несколькими процессами или пользователями оставит данные в согласованном состоянии. Особое место занимает доступ к Базе Данных в распределенной системе с множеством конкурирующих за ресурс узлов."
Перейти к статье | SQLpedia
Построитель SQL запросов на основе мета-информации миграций БД
В век когда ORM шагает по планете обычный построитель запросов выглядит откатом назад. Однако тут есть нюанс — Sql Query Builder использует пакет версионирования shasoft/db-schema и владеет всей информацией о структуре базы данных.
Перейти к статье | SQLpedia
В век когда ORM шагает по планете обычный построитель запросов выглядит откатом назад. Однако тут есть нюанс — Sql Query Builder использует пакет версионирования shasoft/db-schema и владеет всей информацией о структуре базы данных.
Перейти к статье | SQLpedia
Join или не Join, вот в чем вопрос…
В процессе разработки программ с обращением к БД часто возникает проблема создания SQL запроса по большому количеству таблиц.
Перейти к статье | SQLpedia
В процессе разработки программ с обращением к БД часто возникает проблема создания SQL запроса по большому количеству таблиц.
Перейти к статье | SQLpedia
Самый старый код в MSSQL
Динозавры от IT, вероятно, помнят, что MS SQL - это форк Sybase, случившийся в 1993 году. Версии Sybase 4.2 и MSSQL 4.2 были, как я понимаю, полностью совместимыми. Более того, так как MSSQL опережала Sybase с развитием GUI, то Management Studio от MSSQL использовали для Sybase.
Перейти к статье | SQLpedia
Динозавры от IT, вероятно, помнят, что MS SQL - это форк Sybase, случившийся в 1993 году. Версии Sybase 4.2 и MSSQL 4.2 были, как я понимаю, полностью совместимыми. Более того, так как MSSQL опережала Sybase с развитием GUI, то Management Studio от MSSQL использовали для Sybase.
Перейти к статье | SQLpedia
Вебинар Tarantool «Строим кэши и витрины данных»
Когда: 8 февраля, 16:00 МСК
Где: онлайн
Узнайте, как быстро и удобно разрабатывать кэши и витрины данных на основе коробочной СУБД для ускорения ИТ-систем — регистрируйтесь и подключайтесь к вебинару 8 февраля в 16:00 МСК.
Поговорим о следующем:
• Как быстро «из коробки» запустить, настроить и наполнить данными кластерную базу данных. Покажем демо Tarantool DB.
• Как выполнять CRUD-операции с данными на языке бизнес-приложения.
• Как обеспечить сохранность данных при кэшировании.
• Как обеспечить горизонтальное масштабирование без ущерба для производительности.
Также рассмотрим опыт крупных банков и телекома в создании хранилищ сессий, витрин для платежных данных, валютных операций и т. д.
Спикеры:
• Руслан Галиев, менеджер продукта Tarantool DB
• Артем Дубинин, старший программист Tarantool
• Евгений Афанасьев, архитектор Tarantool
Вебинар будет полезен архитекторам, инженерам DevOps и разработчикам высоконагруженных систем.
Регистрация
Когда: 8 февраля, 16:00 МСК
Где: онлайн
Узнайте, как быстро и удобно разрабатывать кэши и витрины данных на основе коробочной СУБД для ускорения ИТ-систем — регистрируйтесь и подключайтесь к вебинару 8 февраля в 16:00 МСК.
Поговорим о следующем:
• Как быстро «из коробки» запустить, настроить и наполнить данными кластерную базу данных. Покажем демо Tarantool DB.
• Как выполнять CRUD-операции с данными на языке бизнес-приложения.
• Как обеспечить сохранность данных при кэшировании.
• Как обеспечить горизонтальное масштабирование без ущерба для производительности.
Также рассмотрим опыт крупных банков и телекома в создании хранилищ сессий, витрин для платежных данных, валютных операций и т. д.
Спикеры:
• Руслан Галиев, менеджер продукта Tarantool DB
• Артем Дубинин, старший программист Tarantool
• Евгений Афанасьев, архитектор Tarantool
Вебинар будет полезен архитекторам, инженерам DevOps и разработчикам высоконагруженных систем.
Регистрация
❤1👍1
Вопросы по SQL, которые часто задают на собеседовании
В статье автор обсудит 10 наиболее часто встречающихся вопросов, которые вам могут задать на собеседовании.
Перейти к статье | SQLpedia
В статье автор обсудит 10 наиболее часто встречающихся вопросов, которые вам могут задать на собеседовании.
Перейти к статье | SQLpedia
Forwarded from BApedia | Бизнес-анализ
Алоха, коллеги!
Сегодня дадим вам задачу на логику из нашей рубрики #fromInterviewWithLove
Представьте себе замкнутую по окружности железную дорогу. По ней едет поезд, последний вагон которого скреплён с первым так, что внутри можно свободно перемещаться между вагонами. Вы оказались в одном случайном вагоне и ваша задача — подсчитать их общее количество. В каждом вагоне можно включать или выключать свет, но начальное положение переключателей случайное и заранее неизвестно.
Все вагоны внутри выглядят строго одинаково, окна закрыты так, что невозможно посмотреть наружу, движение поезда равномерное. Помечать вагоны как-либо, кроме включения или выключения света, нельзя. Количество вагонов конечно.
В этой задаче есть 2 решения:
Решение 1
Вам нужно включить свет в начальном вагоне, в котором вы находитесь, если он ещё не горит. Затем пойти в одну любую сторону до тех пор, пока не встретите вагон с работающим освещением, при этом обязательно считать пройденные вагоны. Выключаете в найденном вагоне свет и идёте обратно к начальному. Если в нём свет всё ещё горит, то повторяете операцию. Если же нет, значит вы прошли полный круг и знаете ответ.
Решение2
С таким же успехом можно, например, ходить по сторонам от начального вагона на равные расстояния, постепенно их увеличивая, и инвертировать в них свет. То есть если считать, что сначала вы в вагоне с номером 0, то ходить надо в -1, 1, -2, 2, -3, 3 и так далее. Если при этом запоминать состояние самого дальнего вагона, то при повторном прохождении мимо него вы заметите изменившийся свет, если круг замкнётся. А зная длину пути в обе стороны, вы легко вычислите общее количество вагонов.
BApedia
Сегодня дадим вам задачу на логику из нашей рубрики #fromInterviewWithLove
Представьте себе замкнутую по окружности железную дорогу. По ней едет поезд, последний вагон которого скреплён с первым так, что внутри можно свободно перемещаться между вагонами. Вы оказались в одном случайном вагоне и ваша задача — подсчитать их общее количество. В каждом вагоне можно включать или выключать свет, но начальное положение переключателей случайное и заранее неизвестно.
Все вагоны внутри выглядят строго одинаково, окна закрыты так, что невозможно посмотреть наружу, движение поезда равномерное. Помечать вагоны как-либо, кроме включения или выключения света, нельзя. Количество вагонов конечно.
В этой задаче есть 2 решения:
Вам нужно включить свет в начальном вагоне, в котором вы находитесь, если он ещё не горит. Затем пойти в одну любую сторону до тех пор, пока не встретите вагон с работающим освещением, при этом обязательно считать пройденные вагоны. Выключаете в найденном вагоне свет и идёте обратно к начальному. Если в нём свет всё ещё горит, то повторяете операцию. Если же нет, значит вы прошли полный круг и знаете ответ.
Решение2
С таким же успехом можно, например, ходить по сторонам от начального вагона на равные расстояния, постепенно их увеличивая, и инвертировать в них свет. То есть если считать, что сначала вы в вагоне с номером 0, то ходить надо в -1, 1, -2, 2, -3, 3 и так далее. Если при этом запоминать состояние самого дальнего вагона, то при повторном прохождении мимо него вы заметите изменившийся свет, если круг замкнётся. А зная длину пути в обе стороны, вы легко вычислите общее количество вагонов.
BApedia
👍9🔥1