Как стать автором
Обновить
51.54

SQL *

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

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

Мартовский Python Meetup: Python VS Erlang и возможности PostgreSQL

Время на прочтение1 мин
Количество просмотров12K
Всем привет!
После долгого перерыва блудный Python Meetup снова с нами. На долгожданной мартовской встрече сообщества любителей и профессионалов языка программирования Python обсуждались животрепещущие темы: противостояние Python и Erlang, а также дополнительные возможности PostgreSQL.
Видеозаписи выступлений под катом. Приятного просмотра!

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

Объясняя необъяснимое. Часть 5

Время на прочтение13 мин
Количество просмотров26K
Мы продолжаем готовиться к PG Day’16 и знакомить вас с интересными возможностями PostgreSQL.

В предыдущих постах этой серии я говорил о том, как читать вывод EXPLAIN и что означает каждая строка (операция/узел).

В заключительном посте я постараюсь объяснить, почему Постгрес выбирает «Операцию X», а не «Операцию Y».


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

Вышел Firebird 3.0

Время на прочтение1 мин
Количество просмотров53K
Firebird 3

Сегодня вышел Firebird 3.0 — шестой основной релиз СУБД Firebird, и он же — самый значительный по масштабу изменений с момента выхода 1-й версии в 2002 году,.
Архитектура Firebird 3.0 была переработана и теперь полностью поддерживает многопоточность с масштабированием до сотен ядер, эффективно поддерживается большое количество RAM. Согласно результатам нагрузочных тестов OLTP, имитирующим интенсивные вставки и изменения, скорость работы в сценариях с сотнями пользователей у Firebird 3.0 по сравнению с 2.5 возросла в ~5 раз.
Помимо масштабирования и производительности, релиз Firebird 3.0 включает в себя возможности шифрование БД, трафика, и более 100 новшеств в области SQL и безопасности — они подробно описаны в release notes и документации по языку SQL (на русском языке).

Самые важные ссылки по Firebird 3:
Читать дальше →

Data Lake – от теории к практике. Методы интеграции данных Hadoop и корпоративного DWH

Время на прочтение6 мин
Количество просмотров24K
В этой статье я хочу рассказать про важную задачу, о которой нужно думать и нужно уметь решать, если в аналитической платформе для работы с данными появляется такой важный компонент как Hadoop — задача интеграции данных Hadoop и данных корпоративного DWH. В Data Lake в Тинькофф Банке мы научились эффективно решать эту задачу и дальше в статье я расскажу, как мы это сделали.



Данная статья является продолжением цикла статей про Data Lake в Тинькофф Банке (предыдущая статья Data Lake – от теории к практике. Сказ про то, как мы строим ETL на Hadoop).

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

Объясняя необъяснимое. Часть 4

Время на прочтение8 мин
Количество просмотров23K
Конференция PG Day’16 с каждым днем всё ближе, а мы продолжаем публиковать серию статей Hubert Lubaczewski об анализе explain и его основных операциях.

В этом, надеюсь, предпоследнем посте серии я расскажу об оставшихся наиболее распространенных операциях, которые вы можете встретить в выводе explain.


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

Секция ServerSide на DUMP-2016

Время на прочтение5 мин
Количество просмотров1.9K
Каждый раз, продумывая программу DUMP, нам приходится решать одну и ту же задачу: как сделать так, чтобы как можно больше докладов оказалось интересно как можно большему числу участников конференции. Ведь они такие разные!

И каждый раз мы находим новые решения для этой задачи. Например, в этом году технический трек будет представлен аж в четырех специализированных секциях: FrontTalks, DevOps, Mobile и ServerSide. Каждая из них будет насыщенной и интересной, можете убедиться сами (обзор секций Mobile и DevOps на Хабре, программа FrontTalks).

Из всего многообразия интересных тем для бэкенд-разработчиков надо было выбрать всего 9 лучших. Как мы решили эту задачу и что в итоге получилось, читайте под катом.
Читать дальше →

Полезные трюки PostgreSQL

Время на прочтение3 мин
Количество просмотров203K


В мануале есть всё. Но чтобы его целиком прочитать и осознать, можно потратить годы. Поэтому один из самых эффективных методов обучения новым возможностям Postgres — это посмотреть, как делают коллеги. На конкретных примерах. Эта статья может быть интересна тем, кто хочет глубже использовать возможности postgres или рассматривает переход на эту СУБД.
Читать дальше →

SQL Server 2014 Developer Edition теперь бесплатный

Время на прочтение1 мин
Количество просмотров66K
Первого апреля принято начинать новость с очередной «правдивой» истории. Утром я уже читал обзор инженерного образца AMD Zen. Но в случае с SQL Server, все действительно является правдой.

31 марта Tiffany Wissner (Senior Director of Data Platform Marketing) анонсировала, что теперь SQL Server 2014 Developer Edition является полностью бесплатным в рамках программы Visual Studio Dev Essentials. От всех желающих требуется только регистрация.

К слову будет сказано, что раньше Developer Edition стоил 59.95$ на одного разработчика.

Что дает бесплатность? Теперь не нужно мудрить с количеством лицензий, который выдаются на компанию в рамках программы партнёрства. Забыть про головную боль по переустановке Evaluation каждые 180 дней.
Подробнее

Изменение исходников ( DDL ) на лету

Время на прочтение13 мин
Количество просмотров15K
При сопровождении ERP систем иногда возникает необходимость массового изменения кода процедур, функций, триггеров или пакетов. Например для замены вызова одной процедуры на вызов другой.
Если надо поменять пару процедур, то можно сделать это в ручную, но когда надо изменить несколько сотен объектов, то приходиться задуматься об автоматизации процесса. В статье описан пример автоматизации для СУБД ORACLE 11g.
Читать дальше →

Масштабирование до 100 миллионов пользователей. Кэшировать или не кэшировать?

Время на прочтение4 мин
Количество просмотров15K
Это вторая часть цикла «Масштабирование Wix до 100 миллионов пользователей». Вступление читайте тут.

Когда мы только запускали Wix, был использован стек Tomcat, Hibernate и Ehcache c базой данных MySQL и фронтендом на Flash. Почему мы выбрали этот стек? Да просто потому, что у нашего первого бэкенд-разработчика уже был опыт работы с ним. Частью этой архитектуры был Ehcache – отличная кэш-библиотека для Hibernate и JVM, которая создавала абстракцию в виде карты для кэша памяти и которая могла также быть сконфигурирована как распределенный кэш. Ehcache, в отличие от Memcached, запускается как процесс в JVM и в точности реплицирует состояние кэша для всех узлов кластера. Обратим внимание, что в то время (около 2006–2008 гг.) Encache все еще был независимым open source проектом и не был частью Terracotta (в рамках Terracotta модель репликации и дистрибуции может быть иной, но для данной статьи это не столь важно).

Аспекты использования кэша




Поскольку у нас уже были реальные клиенты, мы установили два сервера Tomcat для обеспечения дополнительной надежности. Следуя правилам выстраивания архитектуры, мы установили распределенный Ehcache-кластер между серверами. Мы исходили из того, что MySQL работает медленно (как и любая другая SQL-система), а значит кэш оперативной памяти обеспечит гораздо более высокую скорость чтения и снизит нагрузку на базу данных.
Читать дальше →

Визуализация инструментов обработки данных с Github

Время на прочтение3 мин
Количество просмотров7.6K
В своей работе вы используете MySQL, Postgres или Mongo, а может даже Apache Spark? Хотите знать с чего начинались эти проекты и куда они движутся сейчас? В этой статье я представлю соответствующую визуализацию



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

Интерфейс работы с таблицей: быстро/неудобно — медленно/удобно

Время на прочтение8 мин
Количество просмотров15K
Есть вопросы, которые, казалось бы, не могут быть не решены. Слишком часто мы с ними встречаемся в повседневной жизни. Но посмотришь внимательно — и оказывается, нет, не решены. Все делают по-разному. И не всегда хорошо. Одним из таких вопросов является взаимодействие пользовательского интерфейса работы с таблицей и системы управления базами данных (СУБД).



Требования понятны. Данные должны отображаться быстро, создавать минимальную нагрузку на СУБД и работа с ними должна быть удобна пользователю. Решения вроде тоже все есть. Но все равно даже в очень успешных проектах применены технологии, которые заставляют предположить, что разработчики решили еще раз придумать “самое лучшее” решение.

Хотелось бы рассмотреть современные подходы к решению этой задачи и подумать, есть ли наилучший вариант. И, если нет, когда что лучше использовать.
Читать дальше →

24 Hours of PASS 2016

Время на прочтение6 мин
Количество просмотров6.6K
Март выдался на удивление богатым на события. Не успел выйти SQL Server 2016 RC0, как уже доступен для загрузки RC1. Нововведений в последнем не сильно много, поэтому интересного обзора увы не получится.

Тем не менее, чтобы с пользой скоротать время, в ожидании релиза SQL Server 2016, предлагаю ознакомиться с докладами 24 Hours of PASS, которая прошла 16-17 марта.

Для тех, кто слышит про 24 Hours of PASS впервые… это ежегодная онлайн-конференция, посвященная SQL Server и длящаяся 24 часа. Докладчики из разных частей света сменяют друг друга и рассказывают много интересного про SQL Server. Существует несколько версий 24HOP. Русскоязычная версия данного мероприятия уже не первый год проводится усилиями Андрея Коршикова.

Чтобы не томить в ожидании, список видео-докладов, которые доступны под катом:

  • SQL Server Transaction log. Внутреннее устройство и решение проблем (Андрей Завадский)
  • XML, XQuery и трюки с производительностью (Сергей Сыроватченко)
  • Azure ML. Определение наиболее эффективного классификационного алгоритма для выбранного источника данных (Константин Хомяков)
  • SQL Server In-Memory OLTP: Нестандартные сценарии использования (Дмитрий Короткевич)
  • SQL Server Extended Properties как простейший способ документирования баз данных (Вячеслав Миругин)
  • SQL Server 2016 Reporting Services. Быстрый старт (Андрей Коршиков)
  • Поддержка больших БД на MS SQL Server (Кирилл Панов)
  • SQL Server 2016. Temporal Tables (Алексей Князев)
  • 1+1=10. Использование битовых масок в базах данных (Елена Смоляк)
  • SSAS Tabular 2016 (Евгений Полоничко)
  • Внутри оптимизатора запросов: Query Store (в 2-х частях) (Дмитрий Пилюгин)
  • PowerBI: Визуализация данных в реальном времени (Сергей Лунякин)
  • Анализ производительности Windows приложений на примере SQL Server с использованием стандартного функционала операционной системы (Михаил Комаров)
Подробнее

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

Строим надёжный процессинг данных — лямбда архитектура внутри Google BigQuery

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

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

В последствии данные обрабатываются до состояния пригодного к употреблению разнообразными пользователями. Это могут быть внутренние дашборды; отчёты партнёрам; результаты, которые идут в продакшн и влияют на поведение продукта. Эти операции могут быть довольно сложными и включать несколько источников данных. Но по большей части мы с этим справляется внутри BigQuery с помощью SQL+UDF. Результаты сохраняются в отдельные таблицы там же.
Читать дальше →

Объясняя необъяснимое. Часть 3

Время на прочтение16 мин
Количество просмотров53K
В рамках подготовки к конференции PG Day’16 мы продолжаем знакомить вас с интересными аспектами PostgreSQL. И сегодня предлагаем вам перевод третьей статьи из серии об explain.

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

Сегодня мы перейдем к более сложным операциям.


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

SQL Server 2016 RC0

Время на прочтение9 мин
Количество просмотров53K


На глаза попалась уже вторая новость на Хабре о том, что скоро Microsoft «подружит» SQL Server и Linux. Но ни слова не сказано про SQL Server 2016 Release Candidate, который стал доступен для загрузки буквально на днях.

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

Не пропустите подробности о новом SQL Server 2016 и поддержке Linux, смотрите онлайн мероприятие 10 марта в 18:00 (MCK)

Время на прочтение1 мин
Количество просмотров4.2K
Подключайтесь к прямой трансляции из Нью-Йорка «Презентация платформы управления данными на базе SQL Server 2016»



Добавьте мероприятие в календарь.

По нашей ссылке на трансляцию будет доступен синхронный перевод на русский язык.

Когда: 10 марта 2016
Начало трансляции: 18:00 (МСК)
Немного подробностей

Microsoft портирует SQL Server на Linux

Время на прочтение2 мин
Количество просмотров4.3K
SQL Server, флагманский продукт компании Microsoft в области реляционных СУБД, теперь доступен для Linux в виде ранней приватной превью версии. Выпуск финальной версии намечен на середину 2017 г.
Читать дальше →

Microsoft анонсировала Linux версию SQL Server

Время на прочтение1 мин
Количество просмотров51K
image
Компания Microsoft анонсировала поддержку операционных систем семейства Linux в следующей версии SQL Server.

Это очередной шаг по выходу на рынок Linux систем после заключения партнерского соглашения с RedHat.

Также, анонс прокомментировал Марк Шаттлворт, основатель компании Canonical:
“Мы рады работать с Microsoft, когда они приносят SQL Server на Linux. Заказчики уже используют сервисы Azure Data Lake на Ubuntu, а теперь разработчики будут иметь возможность строить новые приложения со всеми возможностями промышленного SQL Server'а.”

На сайте SQL Server также уже появилась информация относительно новых возможностей СУБД.

Релиз версии ожидается в середине 2017 года.

История про хитрожо… индуса, encrypted procedures, DAC и «режим Бога»

Время на прочтение7 мин
Количество просмотров43K
На той неделе пришлось разбираться в логике работы одного бесплатного тула. Почти детективная история вышла с ее автором, который впоследствии оказался индусом канадского происхождения проживающим в Южной Америке.

Конечно же, практическая ценность была не в биографии автора, а в запросах, которые отправлялись приложением на сервер.

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

SELECT
    LogTruncations = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Truncations'
    ),
    LogShrinks = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Shrinks'
    ),
    LogGrowths = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Growths'
    ),
    ...

Поскольку их можно написать на порядок проще и сократить логические чтения из таблицы:

SELECT
    LogTruncations = SUM(CASE WHEN counter_name = 'Log Truncations' THEN cntr_value END),
    LogShrinks = SUM(CASE WHEN counter_name = 'Log Shrinks' THEN cntr_value END),
    LogGrowths = SUM(CASE WHEN counter_name = 'Log Growths' THEN cntr_value END),
    ...
FROM ##tbl_cnt

На этом можно было бы и закончить… Но практически под конец я увидел, что приложение вызывает пользовательские хранимые процедуры из tempdb. Поймал себя на мысли: «Когда приложение успело их создать… и главное зачем?»
Подробнее

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