Обновить
78.39

SQL *

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

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

Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое

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

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

Datalore Enterprise — это data science платформа для совместной работы с Jupyter-ноутбуками. Ее можно установить в частное облако или на приватный сервер компании.

Новая версия 2021.3 позволяет специалистам по анализу и обработке данных работать с базами данных и SQL-кодом внутри Jupyter-ноутбуков, а также легко делиться результатами работы с коллегами. Также мы интегрировали поддержку ноутбуков R и Scala, добавили новый реактивный режим, реализовали конструкторы графиков и множество других функций.

Читайте дальше, чтобы узнать о новых возможностях Datalore Enterprise 2021.3!

Читать далее

Что случилось с High Availability в Oracle 19c Standard Edition, что такое SE2HA и при чём тут репликация

Время на прочтение3 мин
Охват и читатели3.1K
Если вы уже используете Oracle Standard Edition (SE) или планируете перейти на эту редакцию, чтобы сократить расходы на Oracle, вы, наверняка, знаете, что там урезаны опции HA и DR. Поскольку DataGuard недоступен для Standard Edition, RAC — единственный вариант обеспечения высокой доступности без использования сторонних решений. Так было до тех пор, пока компания Oracle не убрала его поддержку в Oracle 19c и не объявила о новой опции под названием Standard Edition High Availability (SE2HA), которая при внимательном рассмотрении оказывается даунгрейдом с RAC.



В этой статье я расскажу об отличиях технологий SE2HA и RAC, а также расскажу как тут может пригодиться инструмент для репликации Quest Shareplex. Погнали!
Читать дальше →

Как Business Intelligence «купается» в озёрах данных: практика платформы «Форсайт»

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

Всем привет.

В этой публикации мы начнем рассказ о том, как наша BI-платформа «Форсайт» работает с данными. Как организовано взаимодействие платформы с СУБД и какие объемы информации мы можем эффективно обрабатывать. Что такое связка «BI+Data Lake» и как можно ее сформировать. Как в OLAP-кубах получать сведения из разных слоев данных: сырые/неструктурированные, детальные, консолидированные, валидированные, аналитические и т.п. Зачем для BI нужно деление на горячие, теплые и холодные данные. Ответы на все эти вопросы вы найдете в цикле наших статей.

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

Читать далее

Визуализация данных с помощью Oracle Apex

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

Oracle Apex – компонент для разработки конечных приложений, входящий в состав поставки СУБД Oracle, позволяющий быстро «доставать» данные из базы и доставлять их через веб-интерфейс конечному пользователю. Как правило, данные для просмотра и редактирования выдаются в табличном виде и Apex предоставляет богатые возможности для настраивания отчета: можно накладывать фильтры, делать сортировку и группировку, скрывать имеющиеся столбцы и добавлять расчетные новые, делать сводные отчеты, выгружать данные в формате csv, pdf и даже Excel. Каждый пользователь может сохранить предпочитаемые им настройки каждого отчета как индивидуально, так и для совместного использования. В таком формате Apex функционирует у большинства наших заказчиков.

Однако мало кто использует довольно широкие возможности Apex’а для построения графиков. Эта тема, на наш взгляд, довольно интересна и мало освещена в интернете.

В этой статье будем предполагать, что читатель имеет представление о разработке приложений с помощью Oracle Apex.

Читать далее

Применение Materialized Views в организации ETL-процессов

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

Приветствую! Меня зовут Жумабаев Султан, и в ПГК я работаю инженером данных на проекте «Цифровой вагон». Могу уверенно сказать, Oracle сегодня — одно из самых популярных и надежных хранилищ, хотя рынок и предлагает множество новых современных разработок. В этой статье я расскажу про использование Materialized Views для организации ETL-процессов в рамках проекта.

Читать далее

DataGrip 2021.3: Aggregate view в редакторе, табличное представление узлов дерева БД, новое окно сравнения БД и др

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

Привет! Сегодня расскажем, что нового в свежем релизе DataGrip 2021.3. Если вы работаете с базами данных в других IDE от JetBrains, то этот пост и для вас тоже.

Читать далее

Репликация Oracle с Quest Shareplex вместо Oracle GoldenGate в Oracle, PostgreSQL, Kafka и другие приёмники

Время на прочтение9 мин
Охват и читатели4.8K
Любопытное наблюдение: когда говоришь о репликации Oracle, тебе сразу говорят «да знаем мы про этот GoldenGate!». Конечно, знаете, ведь это решение предлагает непосредственный вендор объекта репликации. При этом за кадром остаются не менее интересные решения. Вендор Quest нам говорит, что в России о Shareplex больше известно в компаниях с иностранным участием, чем в исконно русских. Всё потому, что коллеги из за рубежа рассказали своим российским коллегам о том, что есть такой Shareplex и он очень даже хорош для репликации, а где-то даже превосходит решение от Oracle.



Начиная с Oracle 19c, RAC можно использовать только в версии Enterprise Edition (EE). Если вы решили обновиться до 19c, а у вас одна из предыдущих версий СУБД Oracle Standard Edition работает в режиме RAC, остается несколько вариантов:

  • Переход с SE на EE;
  • Переезд в облако;
  • Конвертация Oracle RAC в Standalone;
  • Использование SE с HA;
  • Репликация.

Возможно, кто-то уже решил для себя эту дилемму. Интересно услышать о принятом вами решении в комментариях. С версии 19c в Oracle также пропадает поддержка Oracle Streams — еще одного инструмента для репликации.

Другой кейс использования репликации — это т.н. ZeroImpact интеграция Oracle с внешними системами посредством чтения Redo/Archive логов. Например, в одном из банков был кейс репликации Oracle в Kafka для того, чтобы оперативно предлагать банковские продукты клиентам, оставившим свои данные на сайте.

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

В этой статье я познакомлю вас с возможностями Shareplex, расскажу о его преимуществах и предложу пилотный проект. Погнали!
Читать дальше →

PostgreSQL в «Тензоре» — публикации за год (#2)

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

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

Если не видели дайджест за первый год — время наверстать упущенное!

Читать далее

Как работает антифрод и в чем ценность управления метаданными

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

На очереди SQL-секция конференции ЮMoneyDay, и она очень мощная, потому что уже проверена осенним митапом про базы данных. Даже если были на нём — в докладах много нового.

Начнём с антифрода: как мы онлайн и офлайн обрабатываем транзакции, храним данные на Microsoft SQL Server и используем движок Business Rule Engine. Далее поделимся, зачем мы взялись за управление метаданными и почему продолжаем развивать это направление.

Заглядывайте под кат!

Смотреть кейсы по SQL

Любопытный случай взаимной блокировки транзакций в базе данных при использовании TransactionScope

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

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

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

Читать далее

Как реализовать полнотекстовый поиск и собрать значимые метрики тестирования

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

Тестировщики, вы здесь? Для вас два кейса с IT-конференции ЮMoneyDay.

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

Во втором докладе разбираем, когда для полнотекстового поиска стоит использовать PostgreSQL.

Смотреть доклады по тестированию

Часть. 2. Создание аналога Moodle. Реализация API для прототипа SPA. Межсайтовые запросы. Первые проблемы архитектуры

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

В первой части я рассказал про то, почему я пришел к необходимости создания собственной СДО. Итак, на текущий момент имеем: сайт, работающий на самописном PHP frameworke, отдельные скрипты JS, подключаемые на определённых страницах с соответствующим типом задания (тест, квест). Тип задания и необходимость загрузки скриптов определяется выполнением кода PHP на конкретной странице. JS работает локально (база данных используется только PHP).

Появилась задача взаимодействия JS с базой данных для расширения функционала интерактивных возможностей СДО. Так как ранее я работал с PHP, было принято решение передавать сведения, полученных PHP из базы данных в JS. Для хранения массивов в SQL сначала я использовал сериализацию и base64, но быстро отказался от такого подхода ввиду сложности понимания структуры данных, хранящихся в базе.

Читать далее

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 3

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

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

Читать далее

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

Аналог Moodle или как преподаватель-юрист создавал собственную систему дистанционного обучения. Часть 1. Начало

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

Дисклеймер: система дистанционного обучения (СДО) в настоящее время введена в эксплуатацию (продакшн), апробирована, протестирована и успешно работает. Система бесплатна, имеет открытый исходный код и выложена в репозитории GitHub. С точки зрения стека технологий она построена на фреймворке Laravel 8.0 (PHP 7.4) с использованием библиотек и иных пакетов (программ): React (redux+router), SocketIo, Docker, NodeJs, Rest API, WebRTC, Leaflet и т.д.

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

Читать далее

SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы)

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

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

Причем работа с графами - это не просто разминка для ума, а вполне себе прикладная задача. Например, в прошлой статье мы сделали "из мухи - слона" волновым алгоритмом Ли, аналогичным используемому у нас в СБИС при расчете себестоимости в многокомпонентных актах выпуска.

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

Читать далее

Обновление данных в ClickHouse

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

Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться прироста производительности.

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

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

Читать далее

Как мы переносили аналитику из PostgreSQL в ClickHouse

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

Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их решали. Посмотрим на примерах, как изменилась схема и запросы к БД и удалось ли получить прирост в производительности.

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

Изначально все эти данные хранились в PostgreSQL, и, пока их было немного, все работало достаточно быстро. Шли года, приходило все больше крупных пользователей, и постепенно наступила ситуация, что для построения какого-нибудь простого графика за две недели перестало хватать таймаута в 10 минут. Тут-то мы и поняли, что настало время что-то менять…

Читать далее

Kaggle titanic dataset. Анализ данных с помощью SQL запросов

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

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

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

Читать далее

Нулевой год в БД Oracle

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

Простая задача из экзамена по SQL в университете оказалась сложной. Нужно было всего лишь сгенерировать месяц, который указывает пользователь. Вывести день, год и день недели. Что может пойти не так? Давайте разбираться.

Читать далее

SQL HowTo: делаем из мухи слона (алгоритм Ли)

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

Правила игры очень просты: надо построить цепочку слов от начального (МУХА) до конечного (СЛОН), на каждом шаге меняя только одну букву. При этом могут использоваться только русские 4-буквенные нарицательные существительные в начальной форме: например, слова БАЗА, НОЧЬ, САНИ допускаются, а слова ЛИТЬ, ХОТЯ, РУКУ, НОЧИ, САНЯ, ОСЛО, АБВГ, ФЦНМ — нет.

Эта игра под названием «Дублеты» приобрела известность благодаря Льюису Кэрроллу — не только автору книг про Алису, но ещё и замечательному математику. В марте 1879 года он начал раз в неделю публиковать в журнале «Ярмарка тщеславия» по три задания в форме броских фраз: «Turn POOR into RICH» — «Преврати бедного в богатого», «Evolve MAN from APE» — «Выведи человека из обезьяны», «Make TEA HOT» — «Сделай чай горячим». В том же году он выпустил брошюру «Дублеты», подробно описал в ней правила и предложил читателям попрактиковаться на нескольких десятках примеров.

Александр Пиперски, "Из мухи — слона", «Квантик» №2, 2019 и №3, 2019

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

Читать далее