Обновить
64K+

SQL *

Формальный непроцедурный язык программирования

58,14
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Оптимизация запроса и запрос оптимизации

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели8.3K

Как не грабить память, не пытать диск, не мучать кластер. Или делать все это всего одним запросом на Impala к Hadoop.

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

Читать далее

Поисковик хрущёвок и районов в Москве где их нет

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.4K

Когда я ищу квартиру, для меня важно знать не типовой ли это дом "панелька" 60-90х. Одно время пожив в однокомнатной квартире в "Башне Вулыха" я проникся уважением к этим сериям домов советской эпохи по сравнению панельками. Затем пожил в монолитной новостройке с потолками 3.2м, но со слышимостью как в обычном панельном доме 70х.

Интересно было бы посмотреть на карте на застройку столицы определенной серией домов. Сказано - сделано! Добавил в данные карты на GitHub Pages тип проекта здания, чтобы поиск теперь работал и для типовых домов.

Читать далее

Как был создан потоковый SQL-движок

Время на прочтение10 мин
Охват и читатели10K

Возможно, вы как раз их тех, кто, просыпаясь каждое утро, задаёт себе три самых вечных жизненных вопроса: 1) как мне сделать потоковый SQL‑движок? 2) Что это такое — потоковый SQL‑движок? 3) Способен ли Господь наш сбрасывать те таблицы, коими владеет иной пользователь?

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

Так вот, где‑то год назад я (довольно смело, если «смелость» — это вообще про меня) снарядился как следует и пустился в долгий и тернистый путь, искать ответы на эти вопросы. Я шёл от монаха к пресвитеру, а от того — к жрецу макаронного монстра, и только в ужасе осознавал, сколь жалкие вопросы их занимают — например, каков смысл жизни, и как обрести мир с самим собой. Но, в конце концов, потерявшись в глубочайших расщелинах моего разума, я набрёл на часовенку, над входом которой значилось: «Epsio Labs». Тут я преисполнился откровения и вошёл в двери этого храма.

Друзья, сегодня я поделюсь с вами теми таинствами, которые познал там (за исключением тех, что подпадают под многочисленные NDA).

Читать далее

15 примеров задач по SQL на собеседовании по вакансии системного аналитика

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели104K

Привет, Хабр! Если вы читаете этот материал, скорее всего, вы готовитесь к собеседованию. Важным аспектом работы системного аналитика (СА) является умение эффективно работать с базами данных, и SQL — это ключевой инструмент для этого. Будьте готовы, что на техническом собеседовании вас могут попросить назвать операторы SQL, написать запросы для извлечения, обновления или удаления данных, создания новых таблиц и многого другого. Давайте посмотрим на некоторые примеры таких заданий.

Читать далее

Проблемы при переходе с MS SQL на PostgreSQL. Типы данных

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели14K

Исходя из того, что предыдущую статью не заминусовали и даже не сильно критиковали, попробую продолжить серию и поделиться с проблемами некоторых различий типов данных в MS SQL и PostgreSQL.

Читать далее

Деревья ltree в PostgreSQL – простым языком

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели20K

Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной.

Читать далее

Пишем свой QTableView (продолжение: кастомные стили)

Уровень сложностиСложный
Время на прочтение1 мин
Охват и читатели4.7K

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

Читать далее

Как жесткую программную систему превратить в гибкую

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели4.5K

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

 Подход с переносом логики управления в БД (включая перезапуск тестов и паузы) превратил SQL Server из простого хранилища в полноценный Оркестратор в SQL.

Обзор системы MES/industrial test platform

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели15K

Привет, Хабр!

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

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

SQL (Structured Query Language) и OLAP (Online Analytical Processing) – два важных инструмента, которые помогают осуществлять многомерный анализ данных. SQL – это стандартный язык запросов для работы с реляционными базами данных. Он позволяет выбирать, фильтровать, суммировать и агрегировать данные.

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

Читать далее

SQL-инъекция: разбор уязвимости на примере

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели20K

SQL-инъекция - это атака, которая может привести к компрометации конфиденциальных данных и даже полному захвату системы.

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

Читать далее

Иерархическая база данных (продолжение)

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели4.4K

Эта статья посвящена реально работающей информационной системе (ИС), основанной на иерархической модели данных. Скажу точнее - это не просто ИС - это инструмент разработки ИС любого уровня сложности, включая ERP, CRM, PPM и т.д., обладающий полным набором средств разработки (инструментом описания структуры данных, встроенным процедурным языком и языком запросов, инструментом разработки экранных форм, инструментом написания программного кода и т.д).

Во 2-ой части статьи описывается внутреннее устройство ИС.

Читать далее

Как расширить компетенции аналитиков при работе с Big Data

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.6K

В данной статье мы решили рассмотреть вопрос повышения эффективности работы единого хранилища данных компании. Хотим поделиться опытом: как повышение экспертизы аналитиков ЕХД влияет на процесс взаимодействия с хранилищем, и как применять современные тренды в данном процессе. Статья будет полезна командам, которые используют возможности ЕХД больших компаний и занимаются их проектированием. 

Читать далее

Иерархическая база данных

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели19K

Эта статья посвящена реально работающей информационной системе (ИС), основанной на иерархической модели данных. Скажу точнее - это не просто ИС - это инструмент разработки ИС любого уровня сложности, включая ERP, CRM, PPM и т.д., обладающий полным набором средств разработки (инструментом описания структуры данных, встроенным процедурным языком и языком запросов, инструментом разработки экранных форм, инструментом написания программного кода и т.д).

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

Читать далее

Ближайшие события

PostgreSQL Antipatterns: ходим по JSON-граблям

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели20K

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

множество чтений из CTE (хоть и единственной записи, но все же);

извлечение по каждому ключу текста с раскастовкой в jsonb;

извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

"ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?

Читать далее

SQLx: raw SQL в Rust

Время на прочтение9 мин
Охват и читатели18K

Когда речь заходит об использовании SQL, экосистеме Rust есть что нам предложить: к счастью, нам доступны несколько отличных готовых к использованию решений. SQLx — это чисто асинхронный, независящий от рантайма SQL-крейт, позволяющий использовать проверяемые во время компиляции запросы без какого-либо DSL.

Читать далее

Пишем свой QTableView с нуля

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели16K

Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других.

Искал, искал чел готовый пример в интернете и не находил. И вот однажды подумал он посмотреть как сделан внутри сам QTableView и стало плохо ему от количества строк кода, не одна тысяча там.

Читать далее

PostgreSQL 17: Часть 2 или Коммитфест 2023-09

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.8K


Продолжаем следить за новинками 17-й версии PostgreSQL. На этот раз поговорим о том, чем запомнился сентябрьский коммитфест.


Самое интересное об июльском коммитфесте ― в предыдущей статье серии: 2023-07.

Читать дальше →

LLM'ы в преобразовании запроса на естественном языке в SQL (text2sql)

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели15K

Привет, Хабр! На связи участница профессионального сообщества NTA Марина Коробова.

Данные занимают центральное место в информационном обществе. Именно информация является основой для принятия решений, развития бизнеса и научных исследований. Многие организации инвестируют огромные средства в системы, способные хранить, обрабатывать и анализировать данные.

Одной из главных проблем, с которыми сталкиваются компании, это непосредственная работа с базами данных с помощью языка SQL (Structured Query Language). Не все знают этот язык, и не у всех есть время изучать его. Поэтому на рынке появляются инструменты, позволяющие писать запрос на естественном языке и получать ответ на языке запросов.

В посте познакомлю вас с двумя AI-инструментами для генерации SQL-запросов: SQLCoder Defog и SQLthroughAI.

Читать далее

Построение OLAP-запросов с использованием аналитических функций

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели14K

Привет, уважаемые читатели Хабра! Сегодня мы вас познакомим с OLAP и аналитическими функциями.

OLAP, или Online Analytical Processing, представляет собой технологию для анализа и извлечения данных из больших наборов информации. Это позволяет производить сложные агрегации, расчеты, фильтрации и срезы данных, что особенно полезно при работе с огромными объемами информации. В отличие от OLTP (Online Transaction Processing), который ориентирован на операции с данными, OLAP нацелен на поддержку бизнес-аналитики, многомерного анализа и принятия решений.

Читать далее

Отправка и обработка HTTP запросов в PostgreSQL

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели34K

Эта статья о том как отправлять и обрабатывать HTTP-запросы непосредственно из/в PostgreSQL. Автор расскажет о том, что такое асинхронное уведомление в PostgreSQL, и наглядно продемонстрирует, как с его помощью можно взаимодействовать с внешними системами из самой СУБД.

Читать далее