Как стать автором
Обновить
95.07
Рейтинг

SQL *

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

Сначала показывать
Порог рейтинга

Построение DWH на основе Greenplum

Блог компании Southbridge PostgreSQL *SQL *IT-инфраструктура *Администрирование баз данных *

DBA в Southbridge Иван Чувашов подготовил статью о построении DWH на основе Greenplum. Слово Ивану.  

Привет, Хабр! Я администратор баз данных с 15-летним опытом. Сегодня хочу рассказать про Data Warehouse на основе Greenplum — как они устроены, как их поднимать и с какими проблемами и нюансами я лично сталкивался в своей практике.

Читать про Greenplum
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 696
Комментарии 1

Новости

«Ленивый сахар» PostgreSQL

Блог компании Тензор Высокая производительность *PostgreSQL *SQL *Администрирование баз данных *

SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.

Тем не менее, "синтаксический сахар" некоторых языковых конструкций позволяет не только писать меньше кода (учите матчасть!), но и добиться, что ваша база будет делать часть вычислений "лениво", только при фактической необходимости.

Читать далее
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 3.9K
Комментарии 5

ORM — отвратительный анти-паттерн

PostgreSQL *Java *SQL *IT-стандарты *ООП *
Перевод

От автора перевода: Написанный далее текст может не совпадать с мнением автора перевода. Все высказывания идут от лица оригинального автора, просьба воздержаться от неоправданных минусов. Оригинальная статья выпущена в 2014 году, поэтому некоторые фрагменты кода могут быть устаревшими или "нежелаемыми".

Содержание статьи:

В статье приведены доводы, которые ставят под вопрос правильность присутствия ORM в рамках ООП.

Читать далее
Всего голосов 78: ↑52 и ↓26 +26
Просмотры 41K
Комментарии 191

Do it yourself: JIT компиляция SQL в Tarantool

Блог компании VK SQL *Tarantool *

Привет, Хабр! Меня зовут Георгий Лебедев, я работаю в команде разработки ядра Tarantool. В 2021 году мы впервые участвовали в Google Summer of Code (GSoC): одним из предложенных студентам проектов была миграция SQL с VDBE на JIT-платформу — с неё и начался мой путь в Tarantool.

Имея за плечами год учебных проектов по разработке различных компонент toolchain’а и вооружившись поддержкой менторов (Никиты Петтика, Тимура Сафина и Игоря Мункина), я взялся за этот проект. Создавая летом, фактически с нуля, платформу для JIT- компиляции SQL- запросов в Tarantool, я наступил на некоторые грабли и приобрёл, на мой взгляд, интересный опыт и знания, которыми хочу поделиться. Статья будет, в первую очередь, интересна тем, кто захочет дальше развивать этот проект, а также тем, кто рассматривает возможность внедрения JIT-компиляции в свой собственный SQL.

Читать далее
Всего голосов 60: ↑59 и ↓1 +58
Просмотры 1.4K
Комментарии 3

Автоматическое масштабирование БД в Kubernetes для MongoDB, MySQL и PostgreSQL

Блог компании Конференции Олега Бунина (Онтико) PostgreSQL *SQL *MongoDB *Kubernetes *
Перевод

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

Это перевод статьи Дмитрия Костика и Миколы Моржан из Percona. С их помощью посмотрим, в какой степени можно автоматизировать горизонтальное масштабирование баз данных MongoDB, MySQL и PostgreSQL в Kubernetes и как это сделать?

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2.1K
Комментарии 0

Ускоряем dplyr: бекенды dtplyr, multidplyr и dbplyr (видео урок + конспект)

SQL *Data Mining *Big Data *R *Data Engineering *
Tutorial

dplyr один из наиболее популярных пакетов для языка R, основным преимуществом которого является удобочитаемый и понятный синтаксис. Из недостатков данного пакета можно отметить, что при работе с данными большого объёма он значительно уступает в скорости вычислений например data.table.

В этом видео уроке мы разберёмся с тем, как можно ускорить вычисления на dplyr, за счёт бекендов dtplyr и multidplyr, а так же узнаем о том, как и зачем можно использовать бекенд dbplyr, предназначенный для работы с базами данных.

Читать далее
Рейтинг 0
Просмотры 370
Комментарии 0

Oracle. Ещё один способ партиционирования больших и нагруженных таблиц

Блог компании «Ингосстрах» Oracle *SQL *Администрирование баз данных *
Tutorial

Всем привет! Меня зовут Ольга и я разработчик в Ингосстрахе. В этой статье-туториале хочу поделиться способом партиционирования оооочень большой таблицы в Oracle 12c. Итак, погнали.

В жизни любой давно функционирующей системы наступает момент, когда уже невозможно хранить все исторические данные без разбору и пора думать, что это надо как-то поделить. Старое отправить на архивный или отчетный сервер, а оперативный слой существенно проредить. И самый очевидный и распространенный путь – партиционировать таблицу, а старые секции перенести на другое хранилище.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 1.9K
Комментарии 6

Геймификация обучения в IT

CSS *SQL *Git *

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 5.9K
Комментарии 5

Посчитать запросы spring data jpa + hibernate на 1 rest запрос

Java *SQL *Kotlin *
Tutorial

Началось все с желания посчитать, сколько запросов в БД улетает на каждый rest запрос при использовании spring data jpa + hibernate.

Гугл выдал интересное видео про xrebel, но так же сообщил, что xrebel платный.
Дальнейший поиск привел к статье Counting Queries per Request with Hibernate and Spring.

Её и взял за основу для своего счетчика. Какого-то ещё примера не нашел, поэтому решил оставить эту заметку

Читать далее
Всего голосов 5: ↑1 и ↓4 -3
Просмотры 1.8K
Комментарии 10

PostgreSQL Antipatterns: когда мешает внешний ключ

Блог компании Тензор Высокая производительность *PostgreSQL *SQL *Администрирование баз данных *

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

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

Читать далее
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 5.4K
Комментарии 12

Оптимизация высоконагруженных конфигураций: от “всё пропало, мы все умрем” до комфортной работы без страха за жизнь

Высокая производительность *SQL *Проектирование и рефакторинг *Серверная оптимизация * *

Оптимизация высоконагруженных конфигураций: от “всё пропало, мы все умрем” до комфортной работы без страха за жизнь

Оптимизация высоконагруженных конфигураций
Всего голосов 8: ↑0 и ↓8 -8
Просмотры 1.8K
Комментарии 4

Как рисовать с помощью SQL?

Занимательные задачки MySQL *SQL *
Из песочницы

Видимо я сделала какое-то очень плохое зло, поэтому живу во время перемен. Справиться с эмоциями и повысить конкурентоспособность на рынке Data Enigneer’ов мне помогает сайт Hackerrank. На пути к решению вообще всех задач по SQL с этого сайта мне попалась задачка на нетривиальные запросы.

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

Порисуем с помощью SQL
Всего голосов 66: ↑62 и ↓4 +58
Просмотры 24K
Комментарии 29

Как изучить SQL за ночь или шпаргалка для системного аналитика

Анализ и проектирование систем *SQL *

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее
Всего голосов 62: ↑57 и ↓5 +52
Просмотры 36K
Комментарии 40

PostgreSQL Antipatterns: в этом плане кто-то лишний

Блог компании Тензор Высокая производительность *PostgreSQL *SQL *Администрирование баз данных *

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 5.2K
Комментарии 0

Оконные функции SQL простым языком с примерами

SQL *Администрирование баз данных *Data Engineering *
Recovery mode

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

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

Читать далее
Всего голосов 62: ↑59 и ↓3 +56
Просмотры 29K
Комментарии 12

Любопытные и неочевидные особенности при работе со Snowflake

SQL *Администрирование баз данных *Big Data *Data Engineering *

Без долгих вступлений, сразу к делу.

Знаете ли вы, что в Snowflake можно создавать объекты с пустыми именами? Например: CREATE DATABASE ""; CREATE SCHEMA ""."";

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

Более интересные и практичные советы под катом.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 2K
Комментарии 9

Переход с 1С: УПП на 1C:ERP: Переделываем интеграции с SQL-запросами к СУБД (на примере УПП — QlikView — ERP)

SQL *SQLite *Промышленное программирование *Управление проектами * *
Из песочницы
Tutorial

Для тех, кто не читал предыдущую статью, расскажу о сути проекта. В 2020-2021 году я участвовал в роли руководителя команды разработчиков Внедренческого центра "Раздолье" в проекте Управление продажами в международной компании на базе "1С:ERP" (ссылка на сайт 1c.ru). Проект был выбран победителем международного конкурса «1С:Проекта года» в номинации «Лучший проект с использованием технологии "Дистанционное внедрение"».

Суть проекта заключалась в переводе Заказчика с 1С:УПП на 1С:ERP. На его примере кратко опишу, какой была организационная структура и какие программы мы использовали при взаимодействии в команде и с пользователями.

Практически весь проект выполнялся удалённо. Многие сотрудники Заказчика, участвующие в проекте, в условиях карантинов и локдаунов были переведены на удалённую работу. Многие сотрудники нашей компании тоже работали удалённо, с командировками в этот период были большие проблемы. Сам Заказчик работает в режиме 24х7 и является одним из крупнейших предприятий в России по производству кофе. На начало проекта в качестве основы корпоративной системы у Заказчика была программа 1С:УПП редакции 1.2 (даже не 1.3). По завершению проекта в 2021-м перешли на ERP 2.5. К слову, когда начинали работу, в 2020-м году, когда 2.5. была ещё в бета-версии, но мы решили прислушаться к рекомендациям "Фирмы 1С" запускать новые проекты на ней, а не на 1С:ERP 2.4.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 4.9K
Комментарии 16

Псс, парень… индекс нужен?

Блог компании Тензор Высокая производительность *PostgreSQL *SQL *Администрирование баз данных *

Самый больной вопрос для любого разработчика, которому приходится вычитывать данные из базы: "Как сделать мой запрос быстрее?". Классический ответ - необходимо создать подходящий индекс. Но куда именно его стоит "накатывать", да и как вообще он должен выглядеть?..

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

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 11K
Комментарии 24

Типовые запросы в SQL для всех. Плюсы и минусы

SQL *Учебный процесс в IT Лайфхаки для гиков

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

Однажды я стала раздавать его всем желающим...

Читать далее
Всего голосов 12: ↑2 и ↓10 -8
Просмотры 3.9K
Комментарии 10

Как работает оптимизатор PostgreSQL при большом количестве таблиц в запросе

Блог компании Postgres Professional PostgreSQL *SQL *Администрирование баз данных *
SQL — это декларативный язык программирования, используемый для создания и манипулирования объектами в реляционных СУБД. Этот язык описывает что должно быть получено, но не описывает как это получить. Программист пишет запрос и (чаще всего) хочет получить результат от СУБД максимально быстро.

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

Поэтому оптимизатор — это ключевая часть СУБД, один из самых сложных элементов всей системы.

Для демонстрации работы оптимизатора практически во всех наших (и чужих) примерах на эту тему используются довольно скромные параметры: две-три таблицы, пара JOIN-ов, миллисекунды на выполнение запросов. А что будет, если загрузить оптимизатор десятками таблиц за раз? Как разные конфигурационные параметры влияют на производительность запросов с сотней JOIN-ов? И переживет ли это среднестатистический рабочий ноутбук? Ответы на эти вопросы — со схемами и графиками — вы найдете под катом!
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 9.9K
Комментарии 4

Вклад авторов