Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
Добрый день,
предлагается некое самодельное ядро СУБД. Есть нижеследующий тест вставки и запросов.
Может кто-нибудь оценить, как эти результаты соотносятся с производительностью стандартных БД?

Structure of testing table::
11 columns, 11 indexes:
char 11, long, char 33, char 3, double, char 111, long, long, char 11, long, double
Random data generation.

Time per record inclusive update of all indexes. Inserting with 1000 records-chunks.
Fully clearing all buffers after storage of every records-chunk.

0 - 700.000 records 0.2 - 5,5 ms
700.000 - 1.922.567 records 5,5 - 9,8 ms

Adding 100.000 recs to table with 2.234.011 recs - average time 10,1 ms/rec
Table with 2.334.011 records - total file(s) size 850 MB. Raw data size of this table is 201*2.234.011 = approx. 428 MB.
Table with ~ 11 Mio records - inserting time ~38 ms/rec.

Query execution ~5 Mio recs.
Query:
column generated data-span filter
0 (a - f), (k - r)
1 0 - 10 (0 - 4) (6 - 8)
2 (bababab - rarar), (sa - x)
6 0 - 300000000 (0 - 30000), (77777 - 9999999)
7 0 - 1000 (0 - 500)

Time till all rec-ids retrieved: 4,5 sec
12 май 11, 14:42    [10641814]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
Как бэ в теме
Guest
TJ7 явно выигрывает. Так что, незачет.
12 май 11, 15:01    [10642005]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
dsrsman, вот тут винчестер тестировали, тоже очень неплохая производительность была
12 май 11, 16:04    [10642647]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
SergSuper,

все смеетесь..
все равно на флешку медленно..
12 май 11, 16:10    [10642707]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
dsrsman, ну а кому нужна СУБД без тщательного тестирования? одно дело какую игрушку написать, а тут вещь таки серьезная и даже если дикая производительность, но нет уверенности в надежности - мало кого заинтересует

собственно Вы тут не первый с этой утопичной идеей, скорее всего и не последний
12 май 11, 16:18    [10642763]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
SergSuper,

я с вами согласен. Я неправильно выразился, в общем ничего не предлагается, а есть просьба оценить параметры, и все.
12 май 11, 16:40    [10642949]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6645
dsrsman> average time 10,1 ms/rec

100 записей в секунду это ооочень медленно. Индексы правда мешаются.

Ориентир 1000-10000/сек
12 май 11, 21:42    [10644302]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6645
Siemargl
Ориентир 1000-10000/сек
10000-100000/сек
12 май 11, 21:46    [10644306]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
Спасибо всем кто отозвался. Хочу отметить, меня не интересует скорость при условии засоса всей базы в память. Провел тест сам. СУБД - SQL Server 2008.
Такая же таблица, индекс по каждому столбцу. Локальный сервер, один юзер.
Аутокоммит офф, коммит каждые 1000 записей. Вставил 4 милл. записей. Перезапустил сервис, память очистилась.
Теперь собственно тест.
Вставка 20тыс. записей:
Время - сначала 110 миллисек на запись, по мере заполнения памяти упала до 55 мсек. Т.е. в среднем 72 мс (14 записей в секунду). Могу смело утверждать, что с ростом БД будет намного медленнее.

Простой запрос по 4 столбцам - 16-20 сек.
23 май 11, 17:17    [10695909]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
интересно что у вас за железяка?
у меня не новый 2-х ядерный нотебук 2.2 Г, поставил сервер Microsoft SQL Server 2008 Express, ничего не настраивал
drop table #t
go
create table #t(a int, b int, c int, d int)

create index aa on #t(a)
create index bb on #t(b)
create index dd on #t(c)
create index ee on #t(d)
go
set nocount on
declare @i int, @d datetime

select @i=0, @d=GETDATE()

begin tran
while @i<100000
begin
	insert #t select RAND()*1000, RAND()*1000, RAND()*1000, RAND()*1000
	set @i=@i+1
	if @i % 1000 = 0 
		begin
		commit tran
		begin tran
		end
end
commit tran

select DATEDIFF(ms, @d, getdate())
-----------
4276

т.е. 100 000 (а не 20 000) вставилось за 4 сек
23 май 11, 17:39    [10696070]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
SergSuper,

Сравнение неверное. Таблицы в tempdb иначе себя ведут - транзакции не ждут подтверждения физической записи на диск, в отличие от таблиц в обычных БД
23 май 11, 18:12    [10696296]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
SergSuper,

не в железяке дело. Он держит все в памяти, пока влазит и пока может.
23 май 11, 18:25    [10696373]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
dsrsman,

доступ к диску - еденицы миллисекунд. А сколько блоков нужно прочитать, чтобы обновить 10 индексов для тысячи записей в многомиллионной базе? Чудес не бывает.
23 май 11, 18:39    [10696443]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
SergSuper,

прикиньте, сколько записей 4х int влезет в память Вашего ноутбука.
23 май 11, 18:45    [10696467]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
dsrsman
SergSuper,

не в железяке дело. Он держит все в памяти, пока влазит и пока может.


SQL Server пишет информацию об изменения в лог транзакций сразу, не кеширует ее в памяти. Более того - перед тем как сообщить о том что транзакция подтверждена, он дожидается окончания физической записи в лог.
23 май 11, 18:48    [10696474]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
dsrsman
dsrsman,

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


10 индексов для тысячи записей в таблице с несколькими миллионами записей?
Если предположить что индексы по полю типа int, то ответ - примерно 20 000 - 40 000 страниц данных.
Ничего особенного.
23 май 11, 18:51    [10696484]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
dsrsman
Member

Откуда:
Сообщений: 8
andsm
dsrsman
dsrsman,

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


10 индексов для тысячи записей в таблице с несколькими миллионами записей?
Если предположить что индексы по полю типа int, то ответ - примерно 20 000 - 40 000 страниц данных.
Ничего особенного.

Ну и сколько времени займет прочитать 20-40 тыс. страниц?
23 май 11, 18:58    [10696521]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
dsrsman
SergSuper,

не в железяке дело. Он держит все в памяти, пока влазит и пока может.
да нет, tempdb обычная база с этой точки зрения, Вы наверное путаете с таблицами-переменными
сделал в обычной таблице, стало 10 сек для 100 000
дольше скорее из-за того что база увеличивалась

слушайте, я ничего не собираюсь доказывать, просто мне показались странными Ваши цифры и я решил проверить, смотрите результаты и сами выводы делайте
могу только посоветовать вместо изобретения велосипедов почитать что-нибудь полезное
23 май 11, 20:16    [10696747]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
MS-SQL
Guest
andsm
SergSuper,

Сравнение неверное. Таблицы в tempdb иначе себя ведут - транзакции не ждут подтверждения физической записи на диск, в отличие от таблиц в обычных БД

в tempdb ждут подтверждения физической записи
24 май 11, 00:04    [10697444]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
Dimitry Sibiryakov
Member

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

MS-SQL
в tempdb ждут подтверждения физической записи

А зачем?

Posted via ActualForum NNTP Server 1.4

24 май 11, 00:43    [10697514]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
MS-SQL
Guest
Dimitry Sibiryakov
MS-SQL
в tempdb ждут подтверждения физической записи

А зачем?

Мне это тоже интересно, но факт.
24 май 11, 01:12    [10697554]     Ответить | Цитировать Сообщить модератору
 Re: Просьба оценить производительность данной системы  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
MS-SQL
andsm
SergSuper,

Сравнение неверное. Таблицы в tempdb иначе себя ведут - транзакции не ждут подтверждения физической записи на диск, в отличие от таблиц в обычных БД

в tempdb ждут подтверждения физической записи

Создайте таблицу в обычной БД, затем вставьте в нее в цикле несколько тысяч записей. Замерьте время.
Затем тоже самое для tempdb. Разница будет в несколько раз.

То что транзакции в tempdb не ждут подтверждения физической записи на диск, вообще-то еще и много где описано.
25 май 11, 13:14    [10706070]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить