Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
566 photos
468 videos
19 files
545 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Уроки по SQL для начинающих | Обучение

Урок #1 - реляционные базы данных. Первичные ключи | sql для начинающих
Урок #2 - создание таблиц. Изменение. Удаление | sql для начинающих
Урок #3 - извлечение данных из базы. Select. Distinct | sql для начинающих
Урок #4 - реляционные и булевы операторы | sql для начинающих
Урок #5 - операторы in, between, like, null | sql для начинающих
Урок #6 - агрегатные функции. Group by. Having | sql для начинающих
Урок #7 - подзапросы | sql для начинающих
Урок #8 - join | sql для начинающих
Урок #9 - insert | sql для начинающих
Урок #10 - экранирование. Приоритет | sql для начинающих

источник

#db

👉 @database_info
👍3
Совет по работе с базой данных ⚡️

Иногда требуется получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять n+1 запросов в коде, что очень медленно!

Но с помощью lateral joins можно сделать циклическое соединение for-each в SQL


MySQL / PostgreSQL

SELECT customers.*, recent_sales.*
FROM customers
LEFT JOIN LATERAL (
SELECT *
FROM sales
WHERE sales.customer_id = customers.customer_id
ORDER BY created_at DESC
LIMIT 3
) AS recent_sales ON true;


https://sqlfordevs.com/for-each-loop-lateral-join

#db

👉 @database_info
👍9
Как получить id вставленной записи в mysql?

Вы можете использовать LAST_INSERT_ID() чтобы получить id последней вставленной записи в MySQL, ниже пример запроса на MySQL:

# INSERT INTO your_table (col1, col2,...) VALUES ('val1', 'val2'...);
SELECT LAST_INSERT_ID();


#db

👉 @database_info
👍6
Основные команды SQL

#db

👉 @database_info
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
SQL

С помощью всего нескольких базовых команд можно решить 80% повседневных задач, связанных с данными.
Сосредоточьтесь на понимании JOIN, SELECT, UPDATE, DELETE и некоторых других фундаментальных команд.

#db

👉 @database_info
11👍4
Это база: нюансы работы с Redis. Часть 1

Cерия статей про неочевидные нюансы работы с Redis.

В первой части Петр, DevOps-инженер компании Nixys, подробно рассказал об основных концепциях и понятиях этой БД и подготовил чек-лист, который может помочь вам в оптимизации этого NoSQL решения.

Приятного чтения!
🔥2
Облачная нативная база данных на основе PostgreSQL, разработанная компанией Alibaba Cloud.

PolarDB for PostgreSQL (далее PolarDB) - это сервис облачных баз данных, разработанный компанией Alibaba Cloud. Этот сервис на 100% совместим с PostgreSQL и использует архитектуру с общим хранилищем, в которой вычисления отделены от хранения данных. Этот сервис отличается гибкой масштабируемостью, задержками на уровне миллисекунд и возможностями гибридной транзакционной/аналитической обработки (HTAP).

https://github.com/ApsaraDB/PolarDB-for-PostgreSQL

#db

👉 @database_info
👍5
Media is too big
VIEW IN TELEGRAM
SQL. Решаем ТЕСТОВЫЕ ЗАДАНИЯ из AMAZON и FACEBOOK (подробный разбор)

00:00 - Где искать задачи с собеседований IT-компаний?
00:53 - Решаем задачу из Amazon
09:36 - Решаем задачу из Facebook
20:44 - Задача со звездочкой из моей работы. Пишите ваши решения в комментарии!

источник

#db

👉 @database_info
👍10
Новое в SQL Server 2022: Обзор использования Intel QuickAssist

В SQL Server 2008 Enterprise Edition в команду резервного копирования T-SQL была добавлена опция сжатия резервных копий, в команде для этого нужно прописать WITH COMPRESSION. Эта опция обеспечивает возможность сжатия для всех типов потокового резервного копирования SQL Server — полного, разностного и копий журнала транзакций. Инструкция RESTORE распаковывает сжатые файлы резервной копии используя метаданные в заголовке файла копии. Сжатие данных в резервных копиях выгодно по двум причинам: во-первых, файлы резервных копий будут занимать меньше места, а во-вторых, поскольку передается меньше байтов, резервное копирование выполняется быстрее, чем для несжатых резервных копий. По умолчанию в SQL Server резервные копии не сжимаются, но многие меняют это значение по умолчанию сразу глобально, используя sp_configure.

Rus https://habr.com/ru/articles/773564/

Eng https://cloudblogs.microsoft.com/sqlserver/2023/03/09/sql-server-2022-intel-quickassist-technology-overview/

#db

👉 @database_info
👍2
Типы баз данных

#db

👉 @database_info
👍11
Ключевые понятия для понимания разделения баз данных

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


Подходы, позволяющие отложить шардинг

Вертикальное масштабирование: Использование более мощных отдельных серверов баз данных - больше процессоров, памяти, хранилищ и пропускной способности каналов ввода-вывода. Это гораздо проще в управлении, чем шардинг, и при этом позволяет значительно расширить систему.

Оптимизация SQL: Настройка SQL-запросов и схемы базы данных для достижения максимальной производительности на одном сервере. Требуются соответствующие индексы, эффективный SQL и т.д.

Кэширование: использование кэшей in-memory, например Redis, для снижения нагрузки на базу данных за счет отсутствия необходимости обращаться к ней при каждом запросе.

Реплики чтения + балансировщик нагрузки: Добавляет горизонтальную масштабируемость чтения без полной сложности шардинга. Направляет чтение между репликами.

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

#db

👉 @database_info
👍6