Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
cross apply
Guest
Mnior
Но в целом с вами согласен, скалярки можно и фтопку как явление. А так они - ни рыба ни мясо.

в принципе они могли бы быть полезны, но мне не настолько в лом написать cross apply, чтобы с этим заморачиваться.
25 июн 13, 18:31    [14482232]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Александр Волок (def1983)
Но когда надо считать дистинкты на десятках милионов фактов... :)
Я конечно нуль в олапах, но меня это настораживает. Неужели нельзя как-то от этого избавится. В смысле чтоб не было такого, что 90% времени система повторяет свои же действия по тем же данным, каждый раз.
Действия можно транспонировать во времени и пространстве. Т.е. не сторить и после обрабатывать, а сразу обрабатывать, ну т.п.
25 июн 13, 18:31    [14482233]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
cross apply
это ни разу не "синтаксический сахар"
это только для нативных и только для работы с in-memory таблицами
Я в печали.
cross apply
в некоторых случаях (читай типах in-memory таблиц) это может вообще отключить локировки.
Этого я не понял. Не свойство ли это InMemory, а не Atomic.
25 июн 13, 18:34    [14482239]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
cross apply
Guest
Mnior
Александр Волок (def1983)
Но когда надо считать дистинкты на десятках милионов фактов... :)
Я конечно нуль в олапах, но меня это настораживает. Неужели нельзя как-то от этого избавится. В смысле чтоб не было такого, что 90% времени система повторяет свои же действия по тем же данным, каждый раз.
Действия можно транспонировать во времени и пространстве. Т.е. не сторить и после обрабатывать, а сразу обрабатывать, ну т.п.

вся проблема в том, что Distinct неадитивная мера.
Например, посчитанные заранее distinct item_id по каждому из покупателей никак не помогут при подсчете distinct item_id сразу по двум покупателям, или общего distinct item_id.
Если полей для группировки и фильтрации чуть больше 5 посчитать все возможные distinct тяжелей чем считать каждый раз на лету.
25 июн 13, 18:36    [14482247]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
cross apply
Guest
Mnior
Этого я не понял. Не свойство ли это InMemory, а не Atomic.

этот синтаксис применим только для native SP, а они работают только и in-memory таблицами, а они в свою очередь могут быть двух типов, и при одном из них в лог вообще ничего не пишется.
25 июн 13, 18:39    [14482253]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
cross apply
но мне не настолько в лом написать cross apply
Ну, таких как мы с вами считаю извращенцами.
"Правильно" надо так - писать много там где не нужно, а где нужно - не писать.
25 июн 13, 18:40    [14482259]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
cross apply
а они работают только и in-memory таблицами
Ну не скажи. Они могут и без таблиц. А нативная компиляция на циклах и сложной бизнес логики может быть у кого-то актуальна. Или я что-то упускаю?
cross apply
а они в свою очередь могут быть двух типов
Вы говорите хоть названия и комбину. А то мы ще не привыкли.

cross apply
лог вообще ничего не пишется.
Вот где собако, я немного очепятился.
Естественно что native - это никакого лога априори, поэтому я даже не подумал что вы про него подумали.
Локировки (от слова Lock).
Просто стратегия порядка и типа установки/снятия локов работает только в рамках команды. А транзакция - это вынужденное по тех причинам одна логическая команда разделённая на несколько физических команд, и тут оптимизация и правильная последовательность и тип локов уже непредсказуема (невычислима из-за отсутствия декларативности, TSQL императивен).

Короче мячты-мячты, что MS хоть что-то полезное делает.
25 июн 13, 18:49    [14482288]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
cross apply
в принципе они могли бы быть полезны, но мне не настолько в лом написать cross apply, чтобы с этим заморачиваться.

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

Кто-то уже пробовал устанавливать? Я пока только скачиваю. Прочитал, что есть проблемы с установкой в среду с более ранними версиями - Prepare a new VM for SQL Server 2014 CTP1?
25 июн 13, 18:54    [14482305]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
cross apply
Guest
Mnior
Локировки (от слова Lock).

а, вот оно что.

с локами в in_memory таблицах все еще веселее, их нет вообще .
если интересы подробности, читаем
SQL_Server_Hekaton_CTP1_White_Paper
25 июн 13, 18:56    [14482313]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
Mnior
Я конечно нуль в олапах, но меня это настораживает. Неужели нельзя как-то от этого избавится. В смысле чтоб не было такого, что 90% времени система повторяет свои же действия по тем же данным, каждый раз.
Тут 2 причины.
Во первых, считать на лету тяжело - для distinct нужно при поялении новых данных искать для каждой строки ранее сохранённые записи. Я боюсь представить, сколько такой поиск займёт, для малиарда записей в час, к примеру. А вот просканировать десяток террабайт достаточно легко, с columnstore будет ещё проще.

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

Загрузку делают не в реалтайме, а периодически, например, раз в сутки, и чисто организационно проще проще за(до)грузить период, потом посчитать.
25 июн 13, 18:58    [14482326]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
cross apply
с локами в in_memory таблицах все еще веселее, их нет вообще
Для in_memory сиквел стал только версионником, в то время как для обычных таблиц он является версионником или блокировочником по выбору.

Блокировок нет, а после завершения операции результат либо откатывается, либо подтверждается.
25 июн 13, 19:04    [14482344]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
cross apply
Guest
SomewhereSomehow
Вам писать не влом, а вот другим может быть влом читать. Это же нужно лезть в функцию, чтобы понять, что там, например, производится всего лишь расшифровка какого-нибудь статуса.

в случаях ограниченного числа участников проекта (читай нет большой текучки), это вполне решается именованием функции, ну например с префиксом scalar

SomewhereSomehow
В целом, я бы хотел чтобы появились скалярные функции инлайн, которые не имеют доступа к таблицам и не содержат в себе много-стейтментовых инструкций, а, например, прячут какие-то скалярные вычисления, формулы или расшифровки кодов.
.
я тоже за, я просто сказал, что если выбирать м/у in line scalar и in-memory, то я за второе.
25 июн 13, 19:05    [14482350]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
SomewhereSomehow
не в ущерб производительности, как это бывает с представлениями, которые часто лепят тут и там, а потом возникают такие темы
Ну, если бы MS решало траблы, то повышенная частота багов в трекере, вынудило бы вылизать оптимизатор до блеска.
А так ни то ни другое.
Кстати, ссори за дикую наглость, там многа букав - всё дело в "выпадении плана" (нехватка времени компиляции)?
Просто писать представления надо ещё и уметь.
25 июн 13, 19:07    [14482358]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
cross apply
я тоже за, я просто сказал, что если выбирать м/у in line scalar и in-memory, то я за второе.
А если не между in line scalar и in-memory, а между самым нужным десятком фичей Database Engine (из сотни предлагаемых из года в год) и in-memory? :-)
25 июн 13, 19:13    [14482374]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
cross apply
с локами в in_memory таблицах все еще веселее, их нет вообще .
если интересы подробности, читаем
SQL_Server_Hekaton_CTP1_White_Paper
Спасиб, но это тоже как бы подразумевалось (14482239).
А говорил я тогда именно о простых таблах. Если бы оно для них работало.
25 июн 13, 19:13    [14482378]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
cross apply
Guest
alexeyvg
cross apply
я тоже за, я просто сказал, что если выбирать м/у in line scalar и in-memory, то я за второе.
А если не между in line scalar и in-memory, а между самым нужным десятком фичей Database Engine (из сотни предлагаемых из года в год) и in-memory? :-)

зависит от
сам hekaton я еще "в раках не держал", он не тестировался в наших боевых условиях, и профит от его использования не ясен, но хочется верить? что он будет и очень может перевесит десяток фич в DBEngine.
25 июн 13, 19:20    [14482395]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
alexeyvg
Во первых, считать на лету тяжело - для distinct нужно при поялении новых данных искать для каждой строки ранее сохранённые записи. Я боюсь представить, сколько такой поиск займёт, для малиарда записей в час, к примеру. А вот просканировать десяток террабайт достаточно легко, с columnstore будет ещё проще.

Во вторых, это просто неудобно для разработки и эксплуатации ИС, потому что такой метод будет работать до первого сбоя или остановки. А такие ИС часто достаточно большие системы, это как завод, а разными подразделениями, персоналом, зонами ответственности.
Я понимаю к чему вы клоните. Но проблема именно в источнике данных.
Какого фига клиенты спамят базу неиндексируемыми данными. Пусть пишут не имя типа "товара", а его ID (это частный пример, на надо его опровергать конкретно, обобщите до максимума), заранее выявленный (а это не серверное время).
Надеюсь вы поняли о чём я. Поменьше бардака в системе.
Т.е. вам надо привести случай/пример когда бардак не автоматизируем. Или когда индексация не статична/постфактум. Оно?

alexeyvg
Загрузку делают не в реалтайме, а периодически, например, раз в сутки, и чисто организационно проще проще за(до)грузить период, потом посчитать.
Как я понимаю это расширение "справочника" (дименшиона), и тут как раз что эти лярды новых данных на 90% как раз уже состоят из "старых" значений.
Может банально нет механизма автоматического расширения дименшиона и никакой distinct в опу, не нужен аще?
25 июн 13, 19:24    [14482405]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Mnior
Кстати, ссори за дикую наглость, там многа букав - всё дело в "выпадении плана" (нехватка времени компиляции)?

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

Mnior
Просто писать представления надо ещё и уметь.

+1.
25 июн 13, 19:29    [14482427]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
alexeyvg
cross apply
я тоже за, я просто сказал, что если выбирать м/у in line scalar и in-memory, то я за второе.
А если не между in line scalar и in-memory, а между самым нужным десятком фичей Database Engine (из сотни предлагаемых из года в год) и in-memory? :-)

Присоединяюсь.

Вообще, был бы интересен опрос. Насколько много у нас (в России) проектов, которые используют MSSQL и где есть такая нагрузка, что уперлись в латчи/локи и традиционный способ выполнения запросов? Я могу назвать две-три штуки публичных известных компаний по впечатлениям и отзывам, но интересно сколько их всего? Интересно будет, если кто-то отпишется.

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

Все имхо.
25 июн 13, 19:51    [14482496]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
SomewhereSomehow
соединения по столбцам разных типов с неявным преобразованием
Фтопку. Тут скуль должен даже немножечко портить.
Бардак, с ним надо бороться. Вечно. До последней капли крови.
25 июн 13, 19:57    [14482515]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
Mnior
alexeyvg
Загрузку делают не в реалтайме, а периодически, например, раз в сутки, и чисто организационно проще проще за(до)грузить период, потом посчитать.
Как я понимаю это расширение "справочника" (дименшиона), и тут как раз что эти лярды новых данных на 90% как раз уже состоят из "старых" значений.
Может банально нет механизма автоматического расширения дименшиона и никакой distinct в опу, не нужен аще?
Нет, не про справочник.

Вот у вас идёт поток записей о телефонных звонках.
Вас интересует статистика по периодам:
- количество звонков
- количество уникальных пользователей (номеров), которые звонили
- всё это по измерениям - регионам, типам соединений (голос, передача данных) и т.п.

Если бы просто было суммирование счётчиков, это ещё куда не шло, можно на лету раскидивать, но distinct...
Mnior
Какого фига клиенты спамят базу неиндексируемыми данными. Пусть пишут не имя типа "товара", а его ID (это частный пример, на надо его опровергать конкретно, обобщите до максимума), заранее выявленный (а это не серверное время).
Надеюсь вы поняли о чём я. Поменьше бардака в системе.
Они и пишут ИД, а не название, только это их ИД. Причём этих ИД для одного "товара" у них тоже много, потому что у них много поставщиков софта и железа.
Между системами должен быть общий интерфейс, некое согласование. Вот это согласование нужно где то делать. Почему "бардак" - это когда согласование делается на вашей стороне, а не на стороне поставщика данных???

"Поменьше бардака" - это молодые горячие умы так воспринимают реальность. Реальность - это унаследованные системы, это десятки лет инвестиций в хранение и переработку информации. Глупо призывать всё "переписать", в том числе используемые на тысячах предприятий тиражные системы.
Даже не то, что невозможно, а именно глупо. Проектируя автомобиль, нужно его проектировать для существующих дорог, топлива и водителей, а если появляются новаторские идеи, то они дополняют существующую инфраструктуру, а не требуют её уничтожения.
25 июн 13, 20:39    [14482624]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
SomewhereSomehow
Насколько много у нас (в России) проектов, которые используют MSSQL и где есть такая нагрузка, что уперлись в латчи/локи и традиционный способ выполнения запросов? Я могу назвать две-три штуки публичных известных компаний по впечатлениям и отзывам, но интересно сколько их всего?
Вообще говоря, маленькая скорость выполнения T-SQL многим мешает, но тут шире проблема получается. Логику на T-SQL мало пишут не из за скорости, а из за его плохой приспособленности к этому (по сравнению например с PL/SQL). Так что тут как раз непонятно, где должен быть приоритет, может быть и в расширении T-SQL.
25 июн 13, 20:42    [14482629]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
alexeyvg
Вообще говоря, маленькая скорость выполнения T-SQL многим мешает

Вы имеете ввиду процедурную логику какую-то или сами запросы?
И определение "многим" - возвращает к вопросу заданному в предыдущем посте, насколько "многим"? Хотелось бы услышать объективные (с данными, io, cpu и планами) где уперлись в это программное ограничение (не ограничение оборудования, опять же). Я думаю, такие проекты, были бы интересны многим, в том числе и мне, если думать, куда устроиться работать в перспективе =)
25 июн 13, 21:16    [14482709]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
SomewhereSomehow
alexeyvg
Вообще говоря, маленькая скорость выполнения T-SQL многим мешает

Вы имеете ввиду процедурную логику какую-то или сами запросы?
И определение "многим" - возвращает к вопросу заданному в предыдущем посте, насколько "многим"? Хотелось бы услышать объективные (с данными, io, cpu и планами) где уперлись в это программное ограничение (не ограничение оборудования, опять же). Я думаю, такие проекты, были бы интересны многим, в том числе и мне, если думать, куда устроиться работать в перспективе =)

Система с которой я работаю именно такая. Уперлись в скорость TSQL. Планы все простые, везде используется либо поиск/обновление/вставка по первичному ключу (чаще всего) или поиск/обновление 1-2 записей по избирательному индексу. Дисковая система на SSD, RamSANы. Процы в среднем загружены на 5%, при более 5000 одновременных пользователей и при многих тысячах транзакций в секунду. Сервера недавно в очередной раз поменяли на более современные, с более быстрыми процессорами. На SQL 2012 не переходили, не вижу смысла, а стоит дорого. На SQL 2014 думаю перейдем, именно из за возможности использовать более быстрый TSQL. Сейчас у нас на одну транзакцию в базе в среднем уходит почти 2 мс, хочется сделать как можно меньше.
Система soft real time, финансы.
25 июн 13, 23:02    [14483009]     Ответить | Цитировать Сообщить модератору
 Re: Доступен для скачивания Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
alexeyvg
Вот у вас идёт поток записей о телефонных звонках.
Вас интересует статистика по периодам:
- количество звонков
- количество уникальных пользователей (номеров), которые звонили
- всё это по измерениям - регионам, типам соединений (голос, передача данных) и т.п.
Если бы просто было суммирование счётчиков, это ещё куда не шло, можно на лету раскидивать, но distinct...
Можно заморачиваться на этом примере, или он не точен?
Ок. Давайте сосредоточимся на всей цепочке.
Идёт поток данных большой интенсивности. Как он сохраняется? Построчно или поколоночно?
Т.е. не происходит ли неминуемое поднятие всех данных при перегонке, при котором итак уже можно сразу всё пащитать (или залить в куб).
Где происходит экономия (distinct)? Ибо имеется межколоночное связывание: звонок->абонент->регион(голос/данные).
Т.е. это дело OLAP, не?
Вот как раз InMemory можно воспользоваться для счётчиков/дистинктов (да ещё и "реал тайм"). Не?
Дистинкт можно свести к счётчикам.

alexeyvg
Реальность - это унаследованные системы, это десятки лет инвестиций в хранение и переработку информации. Глупо призывать всё "переписать", в том числе используемые на тысячах предприятий тиражные системы.
Даже не то, что невозможно, а именно глупо. Проектируя автомобиль, нужно его проектировать для существующих дорог, топлива и водителей, а если появляются новаторские идеи, то они дополняют существующую инфраструктуру, а не требуют её уничтожения.
Кхм. Какое нафиг уничтожение? Вот я никак не понимаю откуда тупая привычка осознания что надо "переписать всё с нуля"? Это вы так к императивной молодёжи обращайтесь. Воощето я адепт эволюции микроизменений.
Так вот, изначально ставился вопрос о правильном направлении развития самих инструментов.
Вместо того чтобы развивать инструменты адаптации систем, ани внедряют нанотех ColumnStore и InMemory. Лечят синдромы а не причину.
OnLine Constraint-ы, распределённые системы, анализ структуры предприятий и т.п., горячая замена протокола ... (ссори за плохие примеры)
Т.е. вместо того чтобы делать систему более гибкой - ани делают её более требовательной и неподвижной.
(Кстати, в теории эволюции скорость изменений очень благоприятный фактор, поэтому гены напичканы разными механизмами мутации)
26 июн 13, 00:28    [14483316]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить