Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 45 46 47 48 49 [50] 51 52 53 54   вперед  Ctrl
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Dimitry Sibiryakov,

Я имел в виду — есть, допустим, таблица с одним кластерным индексом. Если я напишу "размер таблицы = 100 Гб, размер индексов = 0" — то как-то непонятно, что это докажет/опровергнет. Или напишу "размер таблицы = 0, размер индекса = 100 Гб" — вообще какая-то глупость.
В общем, в придачу к такой таблице ещё DDL индексов будет нужен. Сделаю, когда доберусь домой.
13 ноя 13, 20:00    [15124332]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
iv_an_ru
Member

Откуда: Новосибирск
Сообщений: 20368
Dimitry Sibiryakov
Вот такую табличку Гость сумеет составить, чтобы доказать, что не слукавил, сгенерировав только записи в warehouse или "оставив за бортом" пару индексов?..
ТаблицазаписейРазмер gbselect countВремя создания индексаРазмер tmp файла gbРазмер индекса в БД gb
Это надо ещё иметь такую удивительную БД, которая для рутинного создания индекса вынуждена устраивать какие-то лишние вводы-выводы в какой-то левый tmp файл.
13 ноя 13, 20:00    [15124334]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov,

Ответь, пожалуйста, на вопрос, почему в табличке нет результата SELECT COUNT(*) по самым объемным таблицам?
13 ноя 13, 20:06    [15124355]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
iv_an_ru
Это надо ещё иметь такую удивительную БД, которая для рутинного создания индекса вынуждена устраивать какие-то лишние вводы-выводы в какой-то левый tmp файл.

А что тут удивительного? MSSQL умеет строить большие индексы с использованием базы tempdb (пусть это будет аналог tmp-файла). Но можно сортировать индекс и в текущей базе. Oracle для построения больших индексов использует temp tablespace. Про другие СУБД ничего не могу сказать.
В Виртуозе не так, что ли?
13 ноя 13, 20:19    [15124403]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
iv_an_ru
Member

Откуда: Новосибирск
Сообщений: 20368
Гость333,

Мне как-то больше встречалось немножко "жадное" поведение серверов: если временное пространство понадобилось, то оно возьмётся, но потом просто так отдаваться не будет. или будет, но не целиком или не сразу. Соответственно, disk footprint временного пространства и место, реально потребовавшееся для созданяи индекса, могут очень сильно различаться.
13 ноя 13, 20:30    [15124457]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov,

1.

К сообщению приложен файл. Размер - 90Kb
13 ноя 13, 21:32    [15124642]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov,

2.

К сообщению приложен файл. Размер - 40Kb
13 ноя 13, 21:35    [15124647]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov,

3.

К сообщению приложен файл. Размер - 39Kb
13 ноя 13, 21:37    [15124652]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov,

ЗЫ. Так что там на счет масштабируемости FB?
13 ноя 13, 21:38    [15124654]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
pkarklin
Ответь, пожалуйста, на вопрос, почему в табличке нет результата SELECT COUNT(*) по самым объемным таблицам?

в табличке есть количество записей в таблицах. Оно получено из собранной статистики - да, это проход по всей базе, по страницам данных и индексов.
select count() других данных не выдаст. Или вам нужно время выполнения select count? Или вы хотите сравнить select count по всем страницам таблицы с select count, который например в ms sql может выполняться по индексу? Т.е. не хотите ли вы апельсины с яблоками сравнить? :-)
13 ноя 13, 21:40    [15124660]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
pkarklin,

это от того что FB only index scan не умеет
13 ноя 13, 21:41    [15124662]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
kdv
Или вы хотите сравнить select count по всем страницам таблицы с select count, который например в ms sql может выполняться по индексу? Т.е. не хотите ли вы апельсины с яблоками сравнить? :-)


Ну, практически, Бинго! ;) Умеет ли FB сделать COUNT(*) не по данным, а по индексу, т.е. :

К сообщению приложен файл. Размер - 36Kb
13 ноя 13, 21:44    [15124669]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

pkarklin
Так что там на счет масштабируемости FB?

По-прежнему никто не жалуется.

Posted via ActualForum NNTP Server 1.5

13 ноя 13, 21:48    [15124674]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
iv_an_ru
Member

Откуда: Новосибирск
Сообщений: 20368
Интересно было бы закинуть эти 12400 варехаузов на кластерок клиенту. 200 пар нод, 2 квад ксеона на ноде, итого при работе на чтение на одно ядро придётся, условно, 3.875 варехауса, при записи --- 7.75 варехауса на ядро. Никто и не заметит ведь :)

Потом повторить с FB :)
13 ноя 13, 21:49    [15124676]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
pkarklin,

не умеет. И многое ещё чего не умеет. Но постепенно учится
13 ноя 13, 21:50    [15124678]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Симонов Денис
Но постепенно учится


Если честно, то я рад за него. Просто иногда некоторые выводы в статьях надо делать с некоторой осторожностью.
13 ноя 13, 21:53    [15124685]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

Симонов Денис
не умеет. И многое ещё чего не умеет. Но постепенно учится

Но раздувать индекс в три раза только ради редкой операции - смысла нет.

Posted via ActualForum NNTP Server 1.5

13 ноя 13, 21:54    [15124688]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30261
pkarklin
Ну, практически, Бинго! ;) Умеет ли FB сделать COUNT(*) не по данным, а по индексу,

не умеет, и понятно почему - в ключах индекса номера транзакций не хранятся, поэтому простой проход не может определить, ключ этот должен быть виден конкретной транзакции, или нет.
Если сравнивать, то MS SQL нужно перевести в режим версионности, и задать тот же самый вопрос, например, стартовав транзакцию1, потом транзакцию2 snapshot, в транзакции2 удалив все данные в таблице, и не делая коммит в транзакции2 сделать select count в транзакции1 и транзакции2.
Насколько я в курсе, в ФБ 3 не стали вводить номера транзакций в ключи, потому что это ухудшит производительность как минимум из-за сильного увеличения размера индекса.
13 ноя 13, 21:59    [15124697]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Dimitry Sibiryakov,

я говорил, что учится не про OIT. Пока методов доступа в FB гораздо меньше чем MS SQL.

Dimitry Sibiryakov
Но раздувать индекс в три раза только ради редкой операции - смысла нет.


Это должен решать разработчик. Если ему нужен такой индекс пусть и занимающий в трое больше места, то пусть делает. Другое дело когда возможности нет, нет и выбора.
13 ноя 13, 22:03    [15124708]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

Симонов Денис
Другое дело когда возможности нет, нет и выбора.

Выбор есть всегда, поскольку Firebird - не единственная существующая СУБД. Если
разработчику нужны быстрые count(*) при большом индексе - пусть берёт MS SQL. Там на
скриншотах видно сколько занимает тот индекс, чтение которого заняло две секунды. Чего там
не видно, так это fill factor 100%.

Posted via ActualForum NNTP Server 1.5

13 ноя 13, 22:10    [15124718]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
kdv
Насколько я в курсе, в ФБ 3 не стали вводить номера транзакций в ключи, потому что это ухудшит производительность как минимум из-за сильного увеличения размера индекса.


MS SQL не вводит дополнительные 14 байт под хранение VERSIONING_INFO в ключ, но таки да, каждая строка (что данных, что индекса) будет содержать (после первой модификации) эти 14 дополнительных байт (при включенном хотя бы одном из двух "режимов" версионности). Бесплатного сыра, как говорится, не бывает.
13 ноя 13, 22:16    [15124722]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
Dimitry Sibiryakov,

кстати у PostgreSQL версионность вроде похожа на FB, но ios они таки сделали https://wiki.postgresql.org/wiki/Index-only_scans
Правда там оговорка про то что таблицы не должны часто обновляться и про VACUUM, что огорчает.
13 ноя 13, 22:16    [15124723]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Dimitry Sibiryakov
Если разработчику нужны быстрые count(*) при большом индексе - пусть берёт MS SQL.


Дима!!! Результатом SELECT COUNT(*) начали меряться, если я не ошибаюсь, не разработчики, использующие MS SQL.
13 ноя 13, 22:24    [15124744]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Симонов Денис,

они сделали IOS возможным в ряде случаев, при редких изменениях и оперативной сборке мусора, т.е. фича зависит от характера страниц данных - может взлететь, а может и нет. У них индексы точно так же не содержат информацию о транзакциях, но за счет дополнительных телодвижений удалось достичь некоторого компромисса. В ФБ такое тоже возможно.
13 ноя 13, 22:31    [15124764]     Ответить | Цитировать Сообщить модератору
 Re: Зачем выбирать другие СУБД, если существует MS SQLServer?  [new]
Dimitry Sibiryakov
Member

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

pkarklin
Результатом SELECT COUNT(*) начали меряться, если я не ошибаюсь, не
разработчики, использующие MS SQL.

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

Posted via ActualForum NNTP Server 1.5

13 ноя 13, 22:32    [15124769]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 45 46 47 48 49 [50] 51 52 53 54   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить