uk
Feedback
SQL и Базы Данных

SQL и Базы Данных

Відкрити в Telegram

Задачи по базам данных и SQL Основы языка SQL, задачи и решения к ним. Админ: @anothertechrock

Показати більше
3 725
Підписники
Немає даних24 години
+47 днів
-1030 день
Архів дописів
SQL Server Автор: Дмитрий Короткевич Год издания: 2023 #sql #ru Скачать книгу
SQL Server Автор: Дмитрий Короткевич Год издания: 2023 #sql #ru Скачать книгу

Принципы организации распределенных баз данных Автор: М. Тамер Ёcy Год издания: 2021 #db #ru Скачать книгу
Принципы организации распределенных баз данных Автор: М. Тамер Ёcy Год издания: 2021 #db #ru Скачать книгу

🚗 Как найти кратчайший маршрут с помощью Apache Spark и GraphFrames Разбираем кейс на реальных данных из OpenStreetMap — ищем оптимальный маршрут 🔍 Что делаем 1. Загружаем граф дорог города с помощью OSMnx 2. Сохраняем вершины и ребра с координатами, скоростями и геометрией 3. Загружаем всё в Spark 4. Находим кратчайший путь с помощью GraphFrames 📍 1. Скачиваем карту и строим граф улиц
import osmnx as ox

# Загрузка данных о дорогах Москвы
G = ox.graph.graph_from_place("Moscow", network_type="drive")

# Отображение дорог на карте
moscow_gdf = ox.geocoder.geocode_to_gdf("Moscow")
fig, ax = ox.plot.plot_graph(G, show=False, close=False, bgcolor="#111111", edge_color="#ffcb00", edge_linewidth=0.3, node_size=0)
moscow_gdf.plot(ax=ax, fc="#444444", ec=None, lw=1, alpha=1, zorder=-1)

# Настройка границ карты
margin = 0.02
west, south, east, north = moscow_gdf.union_all().bounds
margin_ns = (north - south) * margin
margin_ew = (east - west) * margin
ax.set_ylim((south - margin_ns, north + margin_ns))
ax.set_xlim((west - margin_ew, east + margin_ew))
plt.show()
📁 2. Сохраняем геометрическое описание города в формате GeoJSON и данные о вершинах и рёбрах в формате CSV
with open('Moscow.geojson', 'w') as file:
    file.write(moscow_gdf.to_json())

nodes = G.nodes(data=True)
with open('nodes.csv', 'a') as file:
    file.write("id,lat,lonn")
    for (node, data) in nodes:
        file.write("%d,%f,%fn" % (node, data.get("y"), data.get("x")))

edges = G.edges(data=True)
def decode_maxspeed(maxspeed):
    match maxspeed:
        case str():
            match maxspeed.lower():
                case "ru:urban": return 60
                case "ru:rural": return 90
                case "ru:living_street": return 20
                case "ru:motorway": return 110
                case _: return int(maxspeed)
        case list(): return min(list(map(decode_maxspeed, maxspeed)))
        case _: return maxspeed

with open('edges.csv', 'a') as file:
    file.write("src,dst,maxspeed,length,geometryn")
    for (src, dst, data) in edges:
        maxspeed = decode_maxspeed(data.get("maxspeed", 999))
        length = float(data.get("length"))
        geometry = shapely.wkt.dumps(data.get("geometry"))
        file.write("%d,%d,%d,%f,%sn" % (src, dst, maxspeed, length, geometry))
3. Используем библиотеку GraphFrames для обработки графов на Apache Spark
from pyspark.sql import SparkSession

spark = SparkSession.builder 
    .config("spark.jars.packages", "graphframes:graphframes:0.8.4-spark3.5-s_2.12") 
    .master("local[*]") 
    .appName("GraphFrames") 
    .getOrCreate()

nodes = spark.read.options(header=True).csv("nodes.csv")
edges = spark.read.options(header=True).csv("edges.csv")

# Вычисление времени прохождения рёбер
edgesT = edges.withColumn("time", edges["length"] / edges["maxspeed"])

# Построение графа
from graphframes import *

g = GraphFrame(nodes, edgesT)
🧭 4. Ищем кратчайший путь по времени например, от Измайлово до ЖК Зиларт
src = "257601812"
dst = "5840593081"

paths = g.shortestPaths(landmarks=[dst])
paths.filter(F.col("id") == src).show(truncate=False)
💡 Результат: 40 шагов от точки A до точки B. Такой подход легко масштабируется на миллионы маршрутов. Используйте Spark и GraphFrames для построения логистических моделей, маршрутизации и городского планирования. 🚀 Хотите прокачаться в работе с Big Data? Изучайте Spark! Записывайтесь на курс Spark Developer от OTUS — учитесь на реальных данных и продвинутых кейсах: https://vk.cc/cNrOCj 🎁Пройдите тест, чтобы успеть воспользоваться 10% скидкой на курс и бонусным промокодом Spark_05. Предложение действует до 6 июля 2025 года.

⚡️ Топ-10 наиболее популярных опенсорсных баз данных: на заметку разработчику 1️⃣ MySQL 2️⃣ PostgreSQL 3️⃣ MariaDB 4️⃣ Apache
⚡️ Топ-10 наиболее популярных опенсорсных баз данных: на заметку разработчику 1️⃣ MySQL 2️⃣ PostgreSQL 3️⃣ MariaDB 4️⃣ Apache Cassandra 5️⃣ Neo4j 6️⃣ SQLite 7️⃣ CockroachDB 8️⃣ Redis 9️⃣ MongoDB 🔟 Couchbase #инфографика

👨‍💻Гринатом в поиске системного аналитика! Вам предстоит разрабатывать спецификации на модули продукта, формировать бэклог команды и приоритизировать задачи, проектировать интеграционные взаимодействия, оценивать компоненты приложения на зависимость и устойчивость, а также анализировать баги. Наш идеальный кандидат обладает опытом проектирования, документирования и интеграций, работал системным аналитиком в ИТ не менее 3 лет, умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО и разработки Web-приложений, умеет работать с agile/scrum методологией, а также с BPMN, UML, SQL, OpenProject, Postman. Преимуществом будет опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM. 👉Откликнуться: https://spb.hh.ru/vacancy/121231998?hhtmFrom=employer_vacancies

Database-Driven Web Development Автор: Thomas Valentine Год издания: 2023 #db #en Скачать книгу
Database-Driven Web Development Автор: Thomas Valentine Год издания: 2023 #db #en Скачать книгу

⚡️Пошаговый план: как стать аналитиком данных в 2025 Хотите попасть в аналитику, но теряетесь в море информации и не понимает
⚡️Пошаговый план: как стать аналитиком данных в 2025 Хотите попасть в аналитику, но теряетесь в море информации и не понимаете, какие навыки действительно важны? Боитесь, что без опыта вас не возьмут на работу? И да, ещё один популярный вопрос — а что, если мне 30/40/50+ лет? Андрон Алексанян — эксперт по аналитике с 8-летним опытом и по совместительству CEO Simulative — покажет рабочие схемы и чёткий план, как устроиться в аналитику быстрее, даже если у вас нет опыта Что будет на вебинаре? 🟠 Разберёте полный роадмап: что учить, в каком порядке, до какого уровня; 🟠 Лайфхаки трудоустройства: — покажут реальные примеры, как оформить резюме и портфолио, чтобы привлекать внимание; — обсудите, какие отклики работают, а какие сразу отправляют в корзину; — изнанка найма: инсайдерский взгляд на процессы отбора 🟠 Практические техники для новичков: разберёте, как компенсировать недостаток опыта и быстро закрывать пробелы в знаниях 🕗 Важно досмотреть вебинар до конца, чтобы получить бонус от Simulative, который поможет бустануть карьеру 😶Зарегистрироваться на бесплатный вебинар

Learn PostgreSQL Автор: Luca Ferrari Год издания: 2023 #sql #en Скачать книгу
Learn PostgreSQL Автор: Luca Ferrari Год издания: 2023 #sql #en Скачать книгу

🚨 Не пропустите 02 июля в 20:00 бесплатный вебинар “SQL: Оконные функции — когда GROUP BY уже не хватает” от курса “SQL для
🚨 Не пропустите 02 июля в 20:00 бесплатный вебинар “SQL: Оконные функции — когда GROUP BY уже не хватает” от курса “SQL для аналитиков и разработчиков”. На вебинаре обсудим: ✅ Что такое оконные функции и чем они отличаются от агрегатных. ✅ Как с их помощью выполнять расчёты без группировки. ✅ Практические примеры: ранжирование, сравнение с предыдущей строкой, накопительные суммы и т.д. ✅ Что такое PARTITION BY и ORDER BY в контексте окон. ✅ Как оконные функции помогают упростить сложные подзапросы и JOIN-ы. После вебинара вы сможете: — Уверенно использовать оконные функции в повседневной работе. — Упрощать логику отчётов и аналитических расчётов. — Заменять сложные конструкции простыми и эффективными оконными выражениями. — Разрабатывать запросы, в которых используются ROW_NUMBER(), LAG(), LEAD(), SUM() OVER() и др. ⏰ Оставляйте заявку на бесплатный урок и получите запись прошлого вебинара: https://vk.cc/cNdrfv Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Modern Oracle Database Programming Автор: Alex Nuijten Год издания: 2023 #db #en Скачать книгу
Modern Oracle Database Programming Автор: Alex Nuijten Год издания: 2023 #db #en Скачать книгу

🔥 Научитесь работать с базами данных и анализировать данные на новом уровне! Курс «SQL для разработчиков и аналитиков» подхо
🔥 Научитесь работать с базами данных и анализировать данные на новом уровне! Курс «SQL для разработчиков и аналитиков» подходит как для новичков, так и для опытных специалистов. ✅ Вы изучите основы реляционных БД, научитесь создавать сложные SQL-запросы, работать с различными СУБД (PostgreSQL, MySQL, SQL Server) и оптимизировать запросы для повышения производительности. ✅ Вы освоите как базовый, так и продвинутый синтаксис SQL. Применяйте эти навыки для решения реальных задач. ⏰ Набор скоро закроется, не упустите шанс прокачать свои навыки и открыть новые перспективы для карьерного роста. Пройдите тест и получите скидку на обучение: https://vk.cc/cN90LP Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Learn SQL Database Programming Автор: Josephine Bush Год издания: 2020 #sql #en Скачать книгу
Learn SQL Database Programming Автор: Josephine Bush Год издания: 2020 #sql #en Скачать книгу

🚨 Не пропустите 19 июня в 20:00 бесплатный вебинар “SQL: Расширяем понимание индексов в PostgreSQL и MS SQL Server” от курса
🚨 Не пропустите 19 июня в 20:00 бесплатный вебинар “SQL: Расширяем понимание индексов в PostgreSQL и MS SQL Server” от курса “SQL для аналитиков и разработчиков”. На вебинаре обсудим: ✅ Какие ещё типы индексов существуют помимо классического B-Tree. ✅ Как разные СУБД реализуют поддержку дополнительных индексов. ✅ Где могут быть полезны GIN, GiST, BRIN, Columnstore и другие варианты. ✅ Как подходить к выбору типа индекса под конкретную задачу. В результате вебинара вы сможете: — Лучше ориентироваться в возможностях индексирования в PostgreSQL и MS SQL Server. — Понимать, какой тип индекса подходит для разных типов данных и запросов. — Использовать дополнительные индексы там, где это действительно имеет смысл. — Повысить эффективность работы с БД за счёт грамотного выбора индексации. ⏰ Оставляйте заявку на бесплатный урок и получите запись прошлого вебинара: https://vk.cc/cMWnUU Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

SQL All-in-One Автор: Allen G. Taylor Год издания: 2024 #sql #en Скачать книгу
SQL All-in-One Автор: Allen G. Taylor Год издания: 2024 #sql #en Скачать книгу

PostgreSQL 14 изнутри Автор: Егор Рогов Год издания: 2022 #postgresql #ru Скачать книгу
PostgreSQL 14 изнутри Автор: Егор Рогов Год издания: 2022 #postgresql #ru Скачать книгу

Антипаттерны SQL Автор: Билл Карвин Год издания: 2024 #sql #ru Скачать книгу
Антипаттерны SQL Автор: Билл Карвин Год издания: 2024 #sql #ru Скачать книгу

Мониторинг PostgreSQL Автор: Алексей Лесовский Год издания: 2024 #postgresql #ru Скачать книгу
Мониторинг PostgreSQL Автор: Алексей Лесовский Год издания: 2024 #postgresql #ru Скачать книгу

Путеводитель по базам данных Автор: Владимир Комаров Год издания: 2024 #db #ru Скачать книгу
Путеводитель по базам данных Автор: Владимир Комаров Год издания: 2024 #db #ru Скачать книгу

Mastering PostgreSQL 15 Автор: Hans-Jürgen Schönig Год издания: 2023 #postgresql #en Скачать книгу
Mastering PostgreSQL 15 Автор: Hans-Jürgen Schönig Год издания: 2023 #postgresql #en Скачать книгу

🤫 Хотите узнать как сделать связку разработчик+аналитик SQL еще эффективнее? 🔥 Открыт набор на онлайн-курс “SQL для аналити
🤫 Хотите узнать как сделать связку разработчик+аналитик SQL еще эффективнее? 🔥 Открыт набор на онлайн-курс “SQL для аналитиков и разработчиков”, где мы научим вас продвинутым аспектам работы с реляционными базами данных, улучшить навыки работы с SQL-запросами, понять принципы нормализации баз данных. Оставляйте заявку на курс: https://vk.cc/cMl5Pw Что будет на курсе? — Основы реляционных баз данных, включая ER-диаграммы и компоненты БД — Практику работы с несколькими популярными СУБД (PostgreSQL, SQL Server, MySQL, Oracle, SQLite) — Базовый и продвинутый синтаксис SQL-запросов, включая SELECT, JOIN, агрегатные функции, оконные функции и другие — Практику с применением индексов, триггеров, хранимых процедур и функций для оптимизации работы с данными — Знание принципов транзакций и их роли в обеспечении целостности данных — Практику оптимизации производительности запросов и управление большими объемами данных — Знания особенностей работы с JSON, геоданными и полнотекстовым поиском в разных СУБД. 📈 Присоединяйтесь на курс и повысьте свой уровень в знании SQL: https://vk.cc/cMl5Pw Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru