Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7   вперед  Ctrl      все
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

vvm
С производительностью. Чем больше ("левых") соединений - тем обычно она хуже.

Ну так EAV сводит количество таблиц к минимуму. Соответственно падает и число соединений.

Posted via ActualForum NNTP Server 1.5

3 фев 12, 23:03    [12030815]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Dimitry Sibiryakov
vvm
С производительностью. Чем больше ("левых") соединений - тем обычно она хуже.

Ну так EAV сводит количество таблиц к минимуму. Соответственно падает и число соединений.

Вообще-то, число соединений при EAV как раз возрастает, и, местами, очень даже неслабо
3 фев 12, 23:19    [12030863]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

locky
Вообще-то, число соединений при EAV как раз возрастает, и, местами, очень даже неслабо

Может возрастать. А может и не возрастать. Зависит от распределения работы между клиентом
и сервером.

Posted via ActualForum NNTP Server 1.5

3 фев 12, 23:30    [12030896]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Dimitry Sibiryakov
locky
Вообще-то, число соединений при EAV как раз возрастает, и, местами, очень даже неслабо

Может возрастать. А может и не возрастать. Зависит от распределения работы между клиентом
и сервером.

ну.... я апологет обработки данных всё-таки на стороне сервера
так что при моём подходе - таки возрастает
3 фев 12, 23:31    [12030899]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
locky
Вообще-то, число соединений при EAV как раз возрастает, и, местами, очень даже неслабо

Может возрастать. А может и не возрастать. Зависит от распределения работы между клиентом
и сервером.

Расскажи немного.
3 фев 12, 23:42    [12030938]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

locky
ну.... я апологет обработки данных всё-таки на стороне сервера

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

Posted via ActualForum NNTP Server 1.5

3 фев 12, 23:57    [12030998]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Dimitry Sibiryakov
locky
ну.... я апологет обработки данных всё-таки на стороне сервера

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

Хм. ни разу не получалось сэкономить на клиентской стороне, если честно

Можно пример?
4 фев 12, 00:35    [12031083]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
locky, ну пример, вовсе не обязательно сервер заставлять представлять данные в виде таблички.
4 фев 12, 00:41    [12031093]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
vvm
locky, ну пример, вовсе не обязательно сервер заставлять представлять данные в виде таблички.

э..... а зачем это надо-то?
Т.е. - кто это делает то?
Кому это надо? Серверу? зачем?
4 фев 12, 00:47    [12031106]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

locky
э..... а зачем это надо-то?
Т.е. - кто это делает то?

Ну например те, кто привык к классической модели. В ней получение атрибутов объекта
выглядит как
select a,b,c from o where id=:id

При прямой переделке в EAV это будет выглядеть как
 select a1.v as a, a2.v as b, a3.v as c
  from o left join a a1 on o.id=a1.id and a1.atr='a'
   left join  a a2 on o.id=a2.id and a2.atr='b'
   left join  a a3 on o.id=a3.id and a3.atr='c'
  where o.id=:id

А можно получать этот же набор атрибутов как
select atr,v from o left join a on o.id=a.id
  where o.id=:id

При этом клиентский код получается длиннее, но джоинов - меньше.

Posted via ActualForum NNTP Server 1.5

4 фев 12, 01:00    [12031140]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
locky, ну, все нужно клиенту, конечно.

Тебе вот какая разница, как выглядит транспортный протокол при пересылке итоговой выборки? Никакой. Главное, получить привычный тебе набор данных, пригодный для обработки.

Предположим, сервер должен вернуть выборку в виде из трех полей (А1, А2, А2), в выборке - 2 записи.
Какая юзеру разница, что перешлет вернет сервер - действительно два пакета ("записи") по три поля, или шесть пакетов по одному?
Юзеру - никакой, он хочет видеть три поля в гриде, а в гриде должно быть две строки.
4 фев 12, 01:03    [12031149]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Блин, ДС пишет в пять раз быстрее...
4 фев 12, 01:04    [12031155]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov
locky
э..... а зачем это надо-то?
Т.е. - кто это делает то?

Ну например те, кто привык к классической модели. В ней получение атрибутов объекта
выглядит как
select a,b,c from o where id=:id

При прямой переделке в EAV это будет выглядеть как
 select a1.v as a, a2.v as b, a3.v as c
  from o left join a a1 on o.id=a1.id and a1.atr='a'
   left join  a a2 on o.id=a2.id and a2.atr='b'
   left join  a a3 on o.id=a3.id and a3.atr='c'
  where o.id=:id

А можно получать этот же набор атрибутов как
select atr,v from o left join a on o.id=a.id
  where o.id=:id

При этом клиентский код получается длиннее, но джоинов - меньше.

А ты сравнивал производительность того и другого вариантов? На нашем любимом FB?

Я когда-то на первом варианте зациклился, ничего хорошего не вышло (вернее, тормоза быстро появлялись), стали использовать комбинацию EAV + разреженные таблицы.
4 фев 12, 01:08    [12031169]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

vvm
А ты сравнивал производительность того и другого вариантов? На нашем любимом FB?

Я никогда даже не пытался воспользоваться первым вариантом. На четвёрке три левых джоина в
запросе срывали оптимизатору крышу и вгоняли сервер практически в ступор.

Posted via ActualForum NNTP Server 1.5

4 фев 12, 01:11    [12031179]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Dimitry Sibiryakov
locky
э..... а зачем это надо-то?
Т.е. - кто это делает то?

Ну например те, кто привык к классической модели. В ней получение атрибутов объекта
выглядит как
select a,b,c from o where id=:id

При прямой переделке в EAV это будет выглядеть как
 select a1.v as a, a2.v as b, a3.v as c
  from o left join a a1 on o.id=a1.id and a1.atr='a'
   left join  a a2 on o.id=a2.id and a2.atr='b'
   left join  a a3 on o.id=a3.id and a3.atr='c'
  where o.id=:id

А можно получать этот же набор атрибутов как
select atr,v from o left join a on o.id=a.id
  where o.id=:id

При этом клиентский код получается длиннее, но джоинов - меньше.

А, в этом смысле.....
Ну да, в принципе, можно сэкономить "нас спичках".
4 фев 12, 01:12    [12031183]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
А я с FB 2.0 (бетой) тестировал. Жить какое-то время можно было, но в итоге не выжили бы: сейчас есть клиенты, у которых больше сотни разных атрибутов.

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

А сейчас бы по пути второго варианта пошел: кодить запросы проще.

О... тут бы триггеры "на поле" появились... :)
4 фев 12, 01:19    [12031201]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
locky
...
Ну да, в принципе, можно сэкономить "нас спичках".

Ну-ну.
4 фев 12, 01:20    [12031204]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
vvm
locky
...
Ну да, в принципе, можно сэкономить "нас спичках".

Ну-ну.

ну да. Выборка данных для отображению клиенту это не наиболее частая операция, и, как правило, использует крайне простые планы.
Я не могу говорить о том, как это происходит в огнептице, скажем, но для скуля это вполне тривиальный и очень быстрый и нересурсоемкий запрос. Особенно если пнуть оптимизатор в нужную сторону :)
4 фев 12, 01:24    [12031207]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
Dimitry Sibiryakov, а ты с разными типами данных как разбираешься?
Ну, физически ты их как хранишь, например, в отдельных табличках для каждого типа или еще как?
4 фев 12, 01:27    [12031212]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
locky
vvm
пропущено...

Ну-ну.

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

Не, для птички много левых джонов == постепенное удушение.
4 фев 12, 01:30    [12031225]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
vvm
locky
пропущено...

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

Не, для птички много левых джонов == постепенное удушение.

а что нить типа force order + loop join поставить можно?
4 фев 12, 01:40    [12031270]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
locky
vvm
пропущено...

Не, для птички много левых джонов == постепенное удушение.

а что нить типа force order + loop join поставить можно?

Кое-как рулить оптимизатором запросов можно.
4 фев 12, 01:48    [12031311]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
vvm
locky
пропущено...

а что нить типа force order + loop join поставить можно?

Кое-как рулить оптимизатором запросов можно.

Значит - и нужно.
4 фев 12, 01:51    [12031324]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
vvm
Member

Откуда: Не помню
Сообщений: 9968
locky
vvm
пропущено...

Кое-как рулить оптимизатором запросов можно.

Значит - и нужно.


Исполать тебе, Локи, за совет ценный да своевременный.
4 фев 12, 01:54    [12031336]     Ответить | Цитировать Сообщить модератору
 Re: А может ну его нафиг MS SQL и да здравствуют базы No SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

locky
а что нить типа force order + loop join поставить можно?

Не нужно. Это дефолтный план для джоинов. От него труднее избавиться.

Posted via ActualForum NNTP Server 1.5

4 фев 12, 01:58    [12031351]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить