Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.2K subscribers
567 photos
468 videos
19 files
546 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Почему PostgreSQL признан самым лбимой бд по результатам опроса разработчиков Stackoverflow?

На диаграмме показано множество вариантов использования PostgreSQL - одной базы данных, которая включает в себя почти все функции необходимых разработчикам.

🔹OLTP (Online Transaction Processing)
Мы можем использовать PostgreSQL для CRUD-операций (Create-Read-Update-Delete).

🔹OLAP (Online Analytical Processing)
Мы можем использовать PostgreSQL для аналитической обработки. PostgreSQL основан на архитектуре 𝐇𝐓𝐀𝐏 (Hybrid transactional/analytical processing), поэтому он может хорошо работать как с OLTP, так и с OLAP.

🔹FDW (Foreign Data Wrapper)
FDW - это расширение, доступное в PostgreSQL, которое позволяет нам обращаться к таблице или схеме одной базы данных из другой.

🔹Streaming
PipelineDB - это расширение PostgreSQL для высокопроизводительной агрегации временных рядов, предназначенное для работы с отчетами и аналитическими приложениями в реальном времени.

🔹Geospatial
PostGIS - это расширитель базы данных для объектно-реляционной базы данных PostgreSQL. Он добавляет поддержку географических объектов, позволяя выполнять запросы на определение местоположения в SQL.

🔹Временные ряды
Timescale расширяет PostgreSQL для работы с временными рядами и аналитикой. Например, разработчики могут объединять непрерывные потоки финансовых и тиковых данных с другими бизнес-данными для создания новых приложений и получения уникальных знаний.

🔹Распределенные таблицы
CitusData масштабирует Postgres за счет распределения данных и запросов.

#db

👉 @database_info
👍4👎2
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.

У Карты гипотез нет ограничений по области применения или роли пользователя — она будет полезна в самых разных ситуациях, от личного планирования до планирования работы огромной компании. Автор надеется, что его метод, которому посвящена эта книга, послужит вашему благополучию во всех сферах жизни.

Ознакомиться с книгой
🤔2👍1🥴1
Media is too big
VIEW IN TELEGRAM
ACID на примере PostgreSQL

В этом видео мы рассмотрим свойства транзакций ACID на примере PostgreSQL

https://imvanich.notion.site/7cee1b18bf6446818d2cd8dd22493269

источник

#db

👉 @database_info
👍3
Как заменить null на 0 в SQL

Чтобы заменить значение NULL на 0 в SQL, можно использовать функцию COALESCE. Эта функция принимает несколько аргументов и возвращает первый не NULL аргумент.

Если все аргументы NULL, функция вернет NULL. Вот пример использования COALESCE для замены значений NULL на 0:

SELECT COALESCE(column_name, 0) FROM table_name;

В этом запросе column_name - имя столбца, значения которого нужно заменить, а table_name - имя таблицы, в которой находится столбец. Функция COALESCE заменит все значения NULL в столбце на 0. Если значение столбца не NULL, то функция вернет его без изменений.

Также можно использовать оператор IS NULL для проверки на NULL и замены его на 0. Вот пример:

SELECT CASE WHEN column_name IS NULL THEN 0 ELSE column_name END FROM table_name;

Этот запрос также заменит значения NULL на 0. Если значение столбца не NULL, то запрос вернет его без изменений.

#db

👉 @database_info
👍7
Шпаргалка по оконным функциям в SQL

#db

👉 @database_info
👍9
Миграции баз данных
Можно использовать CLI и Golang библиотеки


Поддерживаемые СУБД:
PostgreSQL
PGX v4
PGX v5
Redshift
Ql
Cassandra
SQLite
SQLite3
SQLCipher
MySQL/ MariaDB
Neo4j
MongoDB
CrateDB
Shell
Google Cloud Spanner
CockroachDB
YugabyteDB
ClickHouse
Firebird
MS SQL Server

https://github.com/golang-migrate/migrate

#db

👉 @database_info
👍3🤮1
PostgreSQL под капотом

Часть 0. Старт программы
https://habr.com/ru/articles/701284/

Часть 1. Цикл сервера
https://habr.com/ru/articles/704618/

Часть 2. Подготовка бэкэнда
https://habr.com/ru/articles/707950/

Часть 3. Инициализация бэкэнда
https://habr.com/ru/articles/709404/

Часть 4. Цикл бэкэнда
https://habr.com/ru/articles/714840/

Часть 5. Простой SELECT запрос
https://habr.com/ru/articles/723668/

Часть 6. Сложный SELECT запрос
https://habr.com/ru/articles/736154/

#db

👉 @database_info
👍8
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux


https://news.1rj.ru/str/tikon_1 Новости высоких технологий, науки и техники💡
https://news.1rj.ru/str/mir_teh Мир технологий (Technology World)

https://news.1rj.ru/str/rust_lib Полезный контент по программированию на Rust
https://news.1rj.ru/str/golang_lib Библиотека Go (Golang) разработчика

https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT.
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике

https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста

1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus

Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр

Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT

Чат программистов📌
https://news.1rj.ru/str/developers_ru

Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
https://news.1rj.ru/str/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров

Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля

Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике

Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
👍6
Вопрос с собеседования Microsoft

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

ms_user_dimension

user_id:int
acc_id:int
ms_acc_dimension

acc_id:int
paying_customer:varchar
ms_download_facts

date:datetime
user_id:int
downloads:int


Ответ

with out AS(select date
, Sum (downloads) Filter(Where paying_customer = 'no') as non_paying
, Sum (downloads) Filter(Where paying_customer = 'yes') as paying
From ms_download_facts fact
Left Join ms_user_dimension a
on fact.user_id = a.user_id
Join ms_acc_dimension acc
on a.acc_id = acc.acc_id
Group by date
order by date)
Select date , non_paying , paying
From out
Where non_paying > paying


#db

👉 @database_info
👍4👎1
Стартуем без транзакции. Альтернативный вариант вопросов на собеседовании «по SQL»

Меня зовут Иван, я занимаюсь программированием на T‑SQL и не только. Собеседования на позицию разработчика баз данных не только проходил, но и проводил. Предлагаю потенциальным кандидатам на аналогичную позицию познакомиться с вариантом проведения собеседования, который применяется не только мной. «ТОП-100» вопросов насобирать не получится, тут бы с одним разобраться.

Вынужден предупредить: статья отличается от некоторых других и вместо «загадок» перечень «отгадок» не предоставляет. Решение сформулированных задачек остаётся на вашей стороне, надеюсь, найдете среди них полезные.

Специфика статьи:

диалект — Transact SQL
СУБД — Microsoft Sql Server
позиция кандидата — разработчик баз данных
грейд — перспективный джун или крепкий мидл

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

#db

👉 @database_info
👍4🔥31
Media is too big
VIEW IN TELEGRAM
Вся база SQL для начинающих за 1 час

00:00:00 — Приветствие
00:01:45 — БД и SQL
00:07:58 — Таблицы
00:11:52 — Создание таблиц
00:21:48 — INSERT/UPDATE/DELETE
00:34:26 — SELECT
00:39:50 — FOREIGN KEY
00:46:22 — JOIN
01:01:00 — Агрегатные функции, GROUP BY
01:09:20 — HAVING
01:13:09 — Изменение таблиц

источник

#db

👉 @database_info
👍53
Media is too big
VIEW IN TELEGRAM
Поиск медленных SQL запросов

Сегодня мы более подробно познакомимся с инструментами, которые позволят вам найти проблемы в запросах, и как искать сами проблемные запросы.

Я покажу, как я нахожу медленные запросы и как можно получить подробную информацию о том, как MS SQL Server выполняет запрос, что очень часто позволяет понять, почему именно тормозит SQL.

источник

#db

👉 @database_info
👍2
Как переписать SQL-запросы на Python с помощью Pandas

В этой статье June Tao Ching рассказал, как с помощью Pandas добиться на Python такого же результата, как в SQL-запросах.

Rus https://habr.com/ru/companies/plarium/articles/513316/

Eng https://towardsdatascience.com/how-to-rewrite-your-sql-queries-in-python-with-pandas-8d5b01ab8e31#--responses

#db

👉 @database_info
👍6
Media is too big
VIEW IN TELEGRAM
Базы данных SQL уроки для начинающих. SELECT, JOINS, GROUP BY, INSERT, UPDATE, WHERE

00:00 - План на урок
00:50 - Виды баз данных
02:53 - О реляционных БД
03:15 - 1 нормальная форма
03:45 - 2 нормальная форма
04:50 - Связи между таблицами
06:12 - Начало работы с MySQL
06:47 - SHOW DATABASES
07:00 - CREATE DATABASE
07:16 - DROP DATABASE
07:40 - SHOW TABLES
07:55 - CREATE TABLE
08:50 - SHOW COLUMNS
10:10 - INSERT INTO
10:45 - SELECT *
11:15 - SELECT id, surname
11:40 - DISTINCT
12:10 - WHERE
12:45 - LIMIT
13:07 - AS
13:30 - ORDER BY
14:04 - ALTER TABLE
14:40 - UPDATE SET
15:30 - LIKE
16:20 - where AND OR
17:25 - BETWEEN
17:45 - DELETE
18:10 - Multiple INSERT
19:10 - Объединение таблиц \ JOINS
20:05 - INNER JOIN
21:00 - LEFT OUTER JOIN
21:15 - RIGHT OUTER JOIN
21:30 - UNION
22:04 - Агрегатные функции
23:10 - GROUP BY

#sql

👉 @database_info
👍8🔥2
ClickHouse: теоретические основы работы

ClickHouse — это open-source OLAP база данных, ориентированная на колонки.
Пётр, DevOps-инженер компании Nixys, пишет серию статей, в которой разбирает все нюансы работы с этой БД. В первой части он погрузит вас в теорию: расскажет о строчных и колоночных архитектурах СУБД, через призму теоремы CAP объяснит особенности ClickHouse и покажет его преимущества. Также автор затронет тему табличных движков, среди которых уделит особое внимание семейству MergeTree.

#db

👉 @database_info
👍4
Управляйте базой данных лучше

Легко управляйте таблицами, просматривайте данные, пишите SQL и выполняйте запросы.

Поддерживаемые базы данных

Cloudflare D1
CockroachDB
libSQL
MariaDB
MySQL
PostgreSQL
Rqlite
SQLCipher
SQLite
SQL Server


https://dataflare.app/

#db

👉 @database_info
👍4💩1