Информация

Последние записи

Теги


Блоги


Записи из всех блогов на Sql.ru


Oracle 12c и JSON немножечко...

Блог: Oracle SQL
немного про JSON и ORACLE 12
create table info_user_v (
  id number primary key -- иднтификатор уникальный
, name varchar2(50) -- наименование 
, json_data varchar2(4000) -- данные JSON 
);


в oracle 12 есть специальное ограничение, чтобы добавлять в поле только данные json формата, и чтобы исключить ошибки со структурой JSON
добавим его к нашей таблице
alter table info_user_v add constraint c_1_json_data check(json_data is json);


читать дальше...
автор: Myp3_u_K добавлено: 05 окт 17 просмотры: 3241, комментарии: 0



Конструкция KEEP FIRST/LAST в SQL за 5 минут, ясно и понятно

Блог: Oracle SQL
Конструкция KEEP FIRST/LAST используется в SQL Oracle для вычисления значения, первой или последней записи в заданной подгруппе, отcортированной по некоторому признаку
она так же позволяет найти результат агрегатной функции по сгруппированным данным, если таких значений несколько

Проще понять это на примере
создадим таблицу курсов валют

CREATE TABLE prices
( 
 ticker VARCHAR2(3), -- валюта сокращ
 pdate DATE, -- дата 
 price FLOAT -- курс валюты
);

заполним таблицу тестовыми данными
за каждый день в таблице может быть несколько курсов заданной валюты
читать дальше...
автор: Myp3_u_K добавлено: 02 окт 17 просмотры: 5205, комментарии: 0



Правильные отношения как залог успеха проекта

Системы бизнес - анализа в определенном смысле представляют собой вершину построения информационной архитектуры предприятия, поскольку с одной стороны консолидируют в себе данные из важнейших учетных систем, а с другой - являются ключевой точкой для переосмысления и развития ИТ-стратегии. Это означает, что в проекте по внедрению BI-решения ключевыми выгодоприобретателями будут первые лица руководства, и, как следствие, пристальное внимание и жесткий контроль над реализацией проекта со стороны заказчика. К сожалению, повышенное внимание со стороны руководства компании далеко не обязательно означает качественное управление и поддержку проекта. Более того, если руководитель проекта в компании заказчика не обладает должным авторитетом и достаточными волевыми характеристиками, это приводит к навязыванию решений, которые негативно сказываются на реализации проекта в целом.

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

читать дальше...
автор: Дмитрий Зиновьев добавлено: 01 сен 17 просмотры: 3047, комментарии: 3



Об индексах и о том какие индексы нужны для запросов

Блог: SQL Server
Для чего нужны индексы? У индексов таблиц в РСУБД два назначения – используются для эффективного поиска и для сортировки.

Сегодня хочу рассказать о том, каким образом устроены индексы в реляционных базах данных, в частности в Microsoft SQL Server. Сразу оговорюсь, что этот материал для начального уровня, здесь я не буду рассматривать структуру B-Tree и многие глубокие вещи. В этом обзоре предлагаю на начальном уровне разобраться с базовыми понятиями индексов. В обзоре будут примеры алгоритмов, поэтому у тебя, для понимания, ты должен знать, что такое сортировка, разница в поиске в сортированном и несортированном массивах. В этом обзоре я буду проводить ассоциации со структурами и массивами – как аналог таблиц в реляционных СУБД.

Итак – поехали.читать дальше...
автор: Алексей Куренков добавлено: 08 авг 17 просмотры: 4097, комментарии: 2



Сборка КБД

Блог: SQL Server
Постановка задачи

В фирме есть 80 филиалов в 80 городах по РФ с одинаковой по структуре базой данных. В базах данных филиалов порядка 150 таблиц с одинаковым названием, но с разным, своим наполнением, за исключением общих справочников. Все филиалы имеют индивидуальные 2-значные номера. Для каждого филиала выделен свой SQL Server 2008R2 Enterprise edition (x64). Базы данных в филиалах имеют одинаковое название. Филиалы различаются разными IP-адресами и доменными именами. Все сервера БД объединены в единую сеть и единый домен (Active Directory) предприятия. Данные в таблицах филиалов могут как добавляться, так и изменяться и удаляться, изменения могут происходить и за долгий срок от текущего момента времени.

Есть отдельный сервер, где реализована еженедельная сборка данных со всех филиалов в единую корпоративную базу данных (далее будем называть эту БД — ЕКБД по следующему алгоритму:

  • Из файла бэкапа восстанавливается пустая ЕКБД без индексов, но со всеми таблицами и процедурами.
  • С помощью bcp.exe и job SQL Server в ЕКБД загружаются данные в 8 параллельных потоков со всех филиалов.
  • Первичные ключи — идентификаторы в таблицах при загрузке преобразуются по принципу добавления номера филиала в начало. Например, на филиале 17 загружаем с ID = 177, этот ключ в ЕКБД будет — 1700000000177. Т.е. код филиала умножается на 10^N + ID.
  • После загрузки последнего job стартует построение необходимых индексов для работы.
  • Весь процесс загрузки выполняется порядка 1.5-2 суток, при этом ЕКБД во время сборки не доступна.
    читать дальше...
  • автор: Алексей Куренков добавлено: 16 июл 17 просмотры: 3486, комментарии: 1



    Остатки на складах - оптимизация, когда нужна и сортировка и поиск.

    Блог: SQL Server
    Остатки на складах

    Постановка задачи

    Задачу необходимо решить на SQL Server 2014 Enterprise Edition (x64).
    В фирме есть много складов. В каждом складе ежедневно по нескольку тысяч отгрузок и приемок продуктов. Есть таблица движений товаров на складе приход/расход. Необходимо реализовать:

    Расчет баланса на выбранную дату и время (с точностью до часа) по всем/любому складам по каждому продукту.
    Для аналитики необходимо создать объект (функцию, таблицу, представление) с помощью которого за выбранный диапазон дат вывести по всем складам и продуктам данные исходной таблицы и дополнительную расчетную колонку — остаток на складе позиции.читать дальше...
    автор: Алексей Куренков добавлено: 30 июн 17 просмотры: 4381, комментарии: 3



    Что нам скажет SQL Server ERRORLOG?!


    Что такое ERRORLOG?! Некоторые специалисты, которые сопровождают MS SQL Server первый раз слышат о нем или не подозревают, что он есть.
    ERRORLOG – это журнал MS SQL Server, физически это текстовый файл. По умолчанию он находится в каталоге установке SQL Server в папке Log, к примеру, в «C:\Program Files\Microsoft SQL Server\ MSSQL13.SQL2016\ MSSQL\Log». В нем регистрируются как информационные сообщения, ошибки различной серьезности, пользовательские ошибки информация по dump-ам sql server и другая полезная инфомарция, хотя бывает и не очень полезная.


    Журнал создается каждый раз при запуске службы SQL Server, количество их регулируется настройками в SQL Server, желательно указывать 10 или более на важных системах, т.к при установке обновлений, проблемах при нескольких попытках старта SQL Server, они перезаписываются и в итоге вы можете потерять важную информацию при диагностике сервера.
    Даже при установке обновлений SQL Server, происходит несколько рестартов служб, что так же создает новый журнал.
    В данный журнал записывается информация как об ошибках работы сервера, информация о sql дампах, безопасности, так и информация информационного характера.
    Журналы можно просмотреть несколькими способами:
    1.    
       Через SQL Server Management Studio, вкладка Management -> SQL Server Logs, дважды щелкнув на нужный файл.
    2.       Открыть текстовым любым текстовым редактором из каталог Log.

    Текущий всегда будет без ...
    читать дальше...
    автор: dbasimple добавлено: 30 июн 17 просмотры: 3231, комментарии: 0



    Комментарии в блоге queryprocessor.ru

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

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

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

    Спасибо всем читателям!
    автор: SomewhereSomehow добавлено: 18 май 17 просмотры: 3002, комментарии: 0



    SQL Server 2017: Adaptive Query Processing

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

    Эти методы объединяются под общим названием – Adaptive Query Processing, и состоят из трех основных компонентов:

    • Adaptive Memory Grant Feedback
    • Interleaved Execution
    • Adaptive Joins

    Далее мы рассмотрим каждый из этих методов, где они применяются и какой имеют эффект. Для демонстрации примеров я буду использовать SQL Server 2017 CTP 2.0 совместно с SQL Server Management Studio 17.0.

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


    SQL 2016 – It Just Runs Faster: Automatic Soft NUMA

    По материалам статьи: SQL 2016 – It Just Runs Faster: Automatic Soft NUMA
    30 марта 2016

    Автор: Nitin Verma – Principal SQL Server Developer, Bob Dorr – Principal SQL Server Escalation Engineer

    Мощности серверного оборудования растут из года в год, что обусловлено многолетним развитием технологий изготовления процессоров. Анализируя результаты наших исследований того, как работает SQL Server на современном оборудовании, и как наши клиенты достигают оптимального для себя масштабирования вычислительных ресурсов, мы выдвинули на передний план дальнейшего развития сервера баз данных необходимость улучшения возможностей секционирования обслуживания нагрузки. В настоящее время, именно основанный на секционировании дизайн является самым распространённым способом локализации обслуживания нагрузки и улучшения производительности и масштабируемости. Примером того, как SQL Server использует секционирование нагрузки является объект CMemThread.

    Читать статью полностью
    автор: Александр Гладченко добавлено: 17 май 17 просмотры: 2184, комментарии: 0


    предыдущие записи