Кручу, верчу логи при помощи SQL — облегчаем анализ данных
https://tproger.ru/articles/kruchu-verchu-logi-pri-pomoshhi-sql-oblegchaem-analiz-dannyh/
@sqlhub
https://tproger.ru/articles/kruchu-verchu-logi-pri-pomoshhi-sql-oblegchaem-analiz-dannyh/
@sqlhub
Tproger
Облегчаем анализ логов при помощи SQL
Рассказываем в виде пошагового гайда, как облегчить работу с большими логами при помощи SQL-скриптов и баз данных.
SQL HowTo: наперегонки со временем
В PostgreSQL несложно написать запрос, который уйдет в глубокую рекурсию или просто будет выполняться гораздо дольше, чем нам хотелось бы. Как от этого защититься?
А чтобы еще и полезную работу сделать? Например, набрать следующий сегмент данных при постраничной навигации со сложным условием фильтрации.
Читать дальше
@sqlhub
В PostgreSQL несложно написать запрос, который уйдет в глубокую рекурсию или просто будет выполняться гораздо дольше, чем нам хотелось бы. Как от этого защититься?
А чтобы еще и полезную работу сделать? Например, набрать следующий сегмент данных при постраничной навигации со сложным условием фильтрации.
Читать дальше
@sqlhub
✔️ Использование хэш-ключей вместо строковых индексов
Вашему приложению может потребоваться индекс на основе длинной строки символов или, что еще хуже, конкатенации двух строк или строки и одного-двух целых чисел. Для небольшой таблицы вы можете не заметить какого-либо отрицательного влияния такого индекса. Но если предположить, что рассматриваемая таблица содержит 50 миллионов записей? Теперь вы не сможете не заметить воздействия, которое скажется как на требованиях к хранению, так и к производительности поиска.
Однако вам не обязательно так поступать. Есть очень простая альтернатива, использующая то, что еще известно под названием хэш-блоков или хэш-ключей.
Что такое хэширование?
Говоря коротко, хэширование – это целочисленный результат алгоритма (известного как хэш-функция), применяемого к заданной строке. Вы передаете в алгоритм строку, а на выходе получаете целое число. Если Вы используете эффективную хэш-функцию, то вероятность того, что две различных строки дадут одно и то же значение хэш-функции, будет невелика. Такой случай известен под названием коллизии хэширования. Предположим, что Вы применили к этой статье алгоритм хэширования, затем изменили один символ в статье и повторили алгоритм: он возвратил бы другое целое число.
Хэш-ключи в проекте базы данных
Читать дальше
@sqlhub
Вашему приложению может потребоваться индекс на основе длинной строки символов или, что еще хуже, конкатенации двух строк или строки и одного-двух целых чисел. Для небольшой таблицы вы можете не заметить какого-либо отрицательного влияния такого индекса. Но если предположить, что рассматриваемая таблица содержит 50 миллионов записей? Теперь вы не сможете не заметить воздействия, которое скажется как на требованиях к хранению, так и к производительности поиска.
Однако вам не обязательно так поступать. Есть очень простая альтернатива, использующая то, что еще известно под названием хэш-блоков или хэш-ключей.
Что такое хэширование?
Говоря коротко, хэширование – это целочисленный результат алгоритма (известного как хэш-функция), применяемого к заданной строке. Вы передаете в алгоритм строку, а на выходе получаете целое число. Если Вы используете эффективную хэш-функцию, то вероятность того, что две различных строки дадут одно и то же значение хэш-функции, будет невелика. Такой случай известен под названием коллизии хэширования. Предположим, что Вы применили к этой статье алгоритм хэширования, затем изменили один символ в статье и повторили алгоритм: он возвратил бы другое целое число.
Хэш-ключи в проекте базы данных
Читать дальше
@sqlhub
Как работает SQL Join: описание, методы, примеры
Поговорим о том, как работает Join в SQL-базах данных. Для чего нужна эта директива, какие возможности она открывает и как правильно ее использовать.
Что такое SQL Join?
SQL Join – одна из наиболее часто используемых команд в SQL-синтаксисе. Она используется для поиска информации в базах данных по заранее определенным критериям. В частности, Join отвечает за объединение нескольких групп данных в единый поток информации.
И это действительно необходимо, потому что в 100% случаев контент в реляционных базах данных с поддержкой SQL-синтаксиса делится на множество таблиц, фильтровать данные в которых можно с помощью специальных команд и запросом информации из общего пула таблиц.
SQL Join помогает настроить фильтр поиска в базе данных, опираясь на взаимосвязи между различными элементами БД и их отличительные черты (теги, ID, наименования и т.п.).
Читать дальше
@sqlhub
Поговорим о том, как работает Join в SQL-базах данных. Для чего нужна эта директива, какие возможности она открывает и как правильно ее использовать.
Что такое SQL Join?
SQL Join – одна из наиболее часто используемых команд в SQL-синтаксисе. Она используется для поиска информации в базах данных по заранее определенным критериям. В частности, Join отвечает за объединение нескольких групп данных в единый поток информации.
И это действительно необходимо, потому что в 100% случаев контент в реляционных базах данных с поддержкой SQL-синтаксиса делится на множество таблиц, фильтровать данные в которых можно с помощью специальных команд и запросом информации из общего пула таблиц.
SQL Join помогает настроить фильтр поиска в базе данных, опираясь на взаимосвязи между различными элементами БД и их отличительные черты (теги, ID, наименования и т.п.).
Читать дальше
@sqlhub
Как изучить SQL за ночь или шпаргалка для системного аналитика
Статья пригодится:
ИТ специалисту, которому необходимо быстро освоить минимальный уровень SQL для выполнения рабочих задач,
Системному аналитику, которому требуется освежить знания перед собеседованием или научиться, если раньше не было задач с SQL.
В статье есть:
Минимум теории для задач на работе или собеседовании (прим. операторов в SQL больше, но в своей работе использовала чаще всего эти);
Практические задания, которые можно выполнить у себя на ПК бесплатно, предварительно установив сервер баз данных.
Читать дальше
@sqlhub
Статья пригодится:
ИТ специалисту, которому необходимо быстро освоить минимальный уровень SQL для выполнения рабочих задач,
Системному аналитику, которому требуется освежить знания перед собеседованием или научиться, если раньше не было задач с SQL.
В статье есть:
Минимум теории для задач на работе или собеседовании (прим. операторов в SQL больше, но в своей работе использовала чаще всего эти);
Практические задания, которые можно выполнить у себя на ПК бесплатно, предварительно установив сервер баз данных.
Читать дальше
@sqlhub
Регистрация и авторизация в веб-приложении с помощью Spring WebFlux
https://tproger.ru/articles/registracija-i-avtorizacija-na-baze-postgresql-s-pomoshhju-spring-webflux/
@sqlhub
https://tproger.ru/articles/registracija-i-avtorizacija-na-baze-postgresql-s-pomoshhju-spring-webflux/
@sqlhub
Tproger
Регистрация и авторизация на PostgreSQL и Spring WebFlux
Подробно описали, как создать регистрацию и авторизацию пользователя при помощи PostgreSQL и Spring WebFlux.
Практический курс по SQL для начинающих
В этом видеокурсе автор разбирает основы SQL: вы узнаете что такое SQL, научитесь писать SQL-запросы различной сложности. Все эти знания будут легко применимы не только к PostgreSQL, но и к другим СУБД: MySQL, Microsoft SQL Server, Oracle.
0:00:00 Основные концепции: БД, СУБД
0:17:22 Реляционная модель и SQL
0:30:54 Почему стоит выбрать PostgreSQL?
0:36:04 Установка PostgreSQL
0:42:38 Обзор типов данных в PostgreSQL
0:56:48 Как создать базу данных
1:04:22 Как создать таблицу
1:16:03 Отношение "один ко многим"
1:35:18 Отношение "один к одному"
1:44:45 Отношение "многие ко многим"
1:59:12 Создаём БД Northwind
youtu.be/HVQNxdI6fqY
@sqlhub
В этом видеокурсе автор разбирает основы SQL: вы узнаете что такое SQL, научитесь писать SQL-запросы различной сложности. Все эти знания будут легко применимы не только к PostgreSQL, но и к другим СУБД: MySQL, Microsoft SQL Server, Oracle.
0:00:00 Основные концепции: БД, СУБД
0:17:22 Реляционная модель и SQL
0:30:54 Почему стоит выбрать PostgreSQL?
0:36:04 Установка PostgreSQL
0:42:38 Обзор типов данных в PostgreSQL
0:56:48 Как создать базу данных
1:04:22 Как создать таблицу
1:16:03 Отношение "один ко многим"
1:35:18 Отношение "один к одному"
1:44:45 Отношение "многие ко многим"
1:59:12 Создаём БД Northwind
youtu.be/HVQNxdI6fqY
@sqlhub
YouTube
Практический курс по SQL для начинающих - #1 Введение в PostgreSQL
Данный курс на YouTube - сильно укороченная (демо) версия полного курса, который вы можете приобрести на stepik (с карточкой из РФ) или Udemy (с карточкой не из РФ)
Купить полный курс на stepik:
https://www.engineerspock.com/buy-postgres-youtube-stepik …
Купить полный курс на stepik:
https://www.engineerspock.com/buy-postgres-youtube-stepik …
Как правильно добавить строку в таблицу? Какой запрос верный?
Anonymous Quiz
74%
INSERT INTO `SimpleTable` (`some_text`) VALUES ("my text");
16%
INSERT INTO `SimpleTable` SET `some_text`="my text";
3%
SET INTO `SimpleTable` VALUE `some_text`="my text";
7%
UPDATE INTO `SimpleTable` SET `some_text`="my text";
Data Science. SQL hub
Руководство по SQLite: настраиваем и учимся работать https://proglib.io/p/sqlite-tutorial @sqlhub
Обзор DBaaS: что нужно знать про базы данных в облаке, чтобы не ошибиться с выбором
Обозреваем 8 видов облачных БД. Рассказываем, какие базы данных доступны из облака и для каких задач больше подходит каждая из них.
https://tproger.ru/articles/obzor-dbaas-chto-nuzhno-znat-pro-bazy-dannyh-v-oblake-chtoby-ne-oshibitsja-s-vyborom/
@sqlhub
Обозреваем 8 видов облачных БД. Рассказываем, какие базы данных доступны из облака и для каких задач больше подходит каждая из них.
https://tproger.ru/articles/obzor-dbaas-chto-nuzhno-znat-pro-bazy-dannyh-v-oblake-chtoby-ne-oshibitsja-s-vyborom/
@sqlhub
Сравнение SQL и NoSQL: как выбрать систему хранения данных
https://mcs.mail.ru/blog/sravnenie-sql-i-nosql-kak-vybrat-sistemu-hraneniya-dannyh
@sqlhub
https://mcs.mail.ru/blog/sravnenie-sql-i-nosql-kak-vybrat-sistemu-hraneniya-dannyh
@sqlhub
Forwarded from Java
«SQL-блокнот» — web-приложение на Java + Spring Boot / MVC
В начале статьи расскажу о возможностях программы, а в конце будет ссылка на репозиторий. Программа запускается везде, где есть JVM (Java Virtual Machine), имеет простой и понятный интерфейс.
Итак, какую программу будем собирать? Ту, которая умеет:
Писать, хранить, редактировать SQL запросы;
Создавать подключения к различным СУБД;
Исполнять SQL запросы;
Выгружать результаты отработки запросов в Excel, обходя его ограничение в 1 млн строк (выборка автоматически разбивается по excel листам);
Разграничивать роли пользователей (пользователь/администратор);
Также программа имеет собственный механизм регистрации/авторизации, логирования действий пользователей;
Для примера я также приложил сервер СУБД Postgres, развернутый через Docker, чтобы описанная программа запускалась «из коробки».
Читать дальше
@javatg
В начале статьи расскажу о возможностях программы, а в конце будет ссылка на репозиторий. Программа запускается везде, где есть JVM (Java Virtual Machine), имеет простой и понятный интерфейс.
Итак, какую программу будем собирать? Ту, которая умеет:
Писать, хранить, редактировать SQL запросы;
Создавать подключения к различным СУБД;
Исполнять SQL запросы;
Выгружать результаты отработки запросов в Excel, обходя его ограничение в 1 млн строк (выборка автоматически разбивается по excel листам);
Разграничивать роли пользователей (пользователь/администратор);
Также программа имеет собственный механизм регистрации/авторизации, логирования действий пользователей;
Для примера я также приложил сервер СУБД Postgres, развернутый через Docker, чтобы описанная программа запускалась «из коробки».
Читать дальше
@javatg
Графовые таблицы в SQL Server
В последнее время значимость графовых БД в IT-области стремительно увеличивается, а использование привычных реляционных БД для работы с высокоуровневыми иерархиями является крайне неэффективным, поскольку увеличение уровней связей, а, следовательно, и соединений, что приводит к снижению производительности. Основное преимущество графовых базы данных – их направленность на взаимосвязи между сущностями, что исключает необходимость использования внешних ключей. Это позволяет строить сложные системы, используя только абстракции ребер и вершин.
Рекурсивные табличные выражения, которые позволяют работать с иерархиями, по сути, являются обходным путем. Что же делать, если мы хотим работать в SQL Server с несколькими уровнями данных, но не хотим терять производительность? Ответ прост – использовать графовые таблицы. Они позволяют просто и эффективно обрабатывать сложные иерархии, при этом значительно сокращая объем кода, но важно помнить, что они подходят для работы с данными, которые имеют четко определенные связи.
Рассмотрим применение таких таблиц на примере структуры организации с иерархией сотрудников (данные вымышлены). Ниже представлено создание таблицы сотрудников EMPLOYEES с идентификатором TABNUM и столбцом HEAD, которая будет ссылаться на линейного руководителя сотрудника.
Читать дальше
@sqlhub
В последнее время значимость графовых БД в IT-области стремительно увеличивается, а использование привычных реляционных БД для работы с высокоуровневыми иерархиями является крайне неэффективным, поскольку увеличение уровней связей, а, следовательно, и соединений, что приводит к снижению производительности. Основное преимущество графовых базы данных – их направленность на взаимосвязи между сущностями, что исключает необходимость использования внешних ключей. Это позволяет строить сложные системы, используя только абстракции ребер и вершин.
Рекурсивные табличные выражения, которые позволяют работать с иерархиями, по сути, являются обходным путем. Что же делать, если мы хотим работать в SQL Server с несколькими уровнями данных, но не хотим терять производительность? Ответ прост – использовать графовые таблицы. Они позволяют просто и эффективно обрабатывать сложные иерархии, при этом значительно сокращая объем кода, но важно помнить, что они подходят для работы с данными, которые имеют четко определенные связи.
Рассмотрим применение таких таблиц на примере структуры организации с иерархией сотрудников (данные вымышлены). Ниже представлено создание таблицы сотрудников EMPLOYEES с идентификатором TABNUM и столбцом HEAD, которая будет ссылаться на линейного руководителя сотрудника.
Читать дальше
@sqlhub
КАК ОЧИСТИТЬ ТАБЛИЦУ В MYSQL
В MySQL, как и в других СУБД можно очищать таблицы. Очистка таблицы позволяет удалять данные при этом не затрагивая саму структуру таблицы. В MySQL существует несколько способов очистки таблицы. В частности, можно выделить очистку таблицы при помощи команд DELETE и TRUNCATE.
Читать дальше
@sqlhub
В MySQL, как и в других СУБД можно очищать таблицы. Очистка таблицы позволяет удалять данные при этом не затрагивая саму структуру таблицы. В MySQL существует несколько способов очистки таблицы. В частности, можно выделить очистку таблицы при помощи команд DELETE и TRUNCATE.
Читать дальше
@sqlhub
Выгрузка SQL c правами на чтение
Если выборка небольшая, то все выгрузить поможет оператор IN (WHERE ID IN (список идентификаторов), но что делать если объем данных существенный? Можно вручную писать множество запросов и после их завершения выгружать данные на диск, но это долго. Для решения этой проблемы ИТ специалисты службы Аудита разработали программу на C#, позволяющую автоматизировать процесс выгрузки больших объемов данных с серверов с правами доступа только на чтение.
Читать дальше
@sqlhub
Если выборка небольшая, то все выгрузить поможет оператор IN (WHERE ID IN (список идентификаторов), но что делать если объем данных существенный? Можно вручную писать множество запросов и после их завершения выгружать данные на диск, но это долго. Для решения этой проблемы ИТ специалисты службы Аудита разработали программу на C#, позволяющую автоматизировать процесс выгрузки больших объемов данных с серверов с правами доступа только на чтение.
Читать дальше
@sqlhub
SQL и тайны коридоров Хогвартса
Практически невозможно найти двух людей, которые отформатировали бы даже самый простой SQL-запрос одинаково. Причем каждый будет абсолютно уверен, что именно его стиль наиболее понятный и правильный. Что приводит к спорам и баталиям на code review, а самое главное к трудностям при чтении чужих запросов. Не существует и какого-нибудь большого авторитетного style-guide для SQL, какие существуют для других языков. И все решается в основном делом вкуса, о котором как известно не спорят. Возможно проблема в отсутствии теоретической основы, некого физического обоснования почему стоит придерживаться каких либо определенных правил при оформлении SQL кода. Давайте попробуем разобраться.
https://habr.com/ru/amp/post/459779/
@sqlhub
Практически невозможно найти двух людей, которые отформатировали бы даже самый простой SQL-запрос одинаково. Причем каждый будет абсолютно уверен, что именно его стиль наиболее понятный и правильный. Что приводит к спорам и баталиям на code review, а самое главное к трудностям при чтении чужих запросов. Не существует и какого-нибудь большого авторитетного style-guide для SQL, какие существуют для других языков. И все решается в основном делом вкуса, о котором как известно не спорят. Возможно проблема в отсутствии теоретической основы, некого физического обоснования почему стоит придерживаться каких либо определенных правил при оформлении SQL кода. Давайте попробуем разобраться.
https://habr.com/ru/amp/post/459779/
@sqlhub