powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Сравниваем скорость SQL-запроса на суровых серверах
25 сообщений из 70, страница 1 из 3
Сравниваем скорость SQL-запроса на суровых серверах
    #38633781
anton2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В статье сравниваются 4 сервера от IBM, HP и т.д. по скорости выполнения простого запроса. Также сравниваются цены серверов и баз данных с упором на дороговизну MS SQL Server 2014. Затем идет сравнение с базой данных с использованием gpu. Статья на английском, но кому надо - разберётся.

https://github.com/antonmks/Alenka/blob/master/monster.md
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38633922
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с TJ7 есть сравнение?
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38634051
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anton2013В статье сравниваются 4 сервера от IBM, HP и т.д. по скорости выполнения простого запроса. Также сравниваются цены серверов и баз данных с упором на дороговизну MS SQL Server 2014. Затем идет сравнение с базой данных с использованием gpu. Статья на английском, но кому надо - разберётся.

https://github.com/antonmks/Alenka/blob/master/monster.md
Это типа конкуренция TCP? Не плохо бы хотя бы фотку этой Аленки. Кто знает, может тогда в чем-то бы и превзошли TCP в плане привлекательности.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38634053
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка: TCP, следует читать как TPC
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38634147
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я кстати в свое время не хуже тест предлагал
4853
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38636018
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anton2013В статье сравниваются 4 сервера от IBM, HP и т.д. по скорости выполнения простого запроса. Также сравниваются цены серверов и баз данных с упором на дороговизну MS SQL Server 2014. Затем идет сравнение с базой данных с использованием gpu. Статья на английском, но кому надо - разберётся.

https://github.com/antonmks/Alenka/blob/master/monster.md
а где там сервера сравнивали ? ссылка верная ? та что дана ведет на детский сад сравнивший один поток одного процессора...
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38636648
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам смешно, а у нас вроде так заказчик собирается СХД (система хранения данных) перед покупкой сравнивать.

Разные сервера, разные настройки Oracle. Залили БД и сравнили... СХД...

Сейчас пытаюсь понять, каким именно SELECT'ом они СХД сравнивать будут ))) что бы нужные таблички в 60 Gb buffer pool Oracle положить ))) Наше СХД будет самым быстрым! Я в это верю )))
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38636722
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevНаше СХД будет самым быстрым! Я в это верю )))
Думаю, что тот человек, который этот запрос в database firewall загонит легко переплюнет ваше СХД по скорости. :)
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38638029
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinА с TJ7 есть сравнение?Про Стебелёк не забываем :)
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38641548
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аленку в самый раз переименовать в Киселенку

Сколько уже автору обьяснять, что узким местом базы есть скорость вычитки с винтов.
При базе в 800 гиг чтобы вложится в пресловутые 80 секунд нужно читать
10 гиг в секунду.

Тачки стоимость в один лям могут себе позволить загнать всю базу в рам и добиться таких результатов,
а вот автор Киселенки за 1700 уе с ССДшниками - врядли.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38641557
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioАленку в самый раз переименовать в Киселенку

Сколько уже автору обьяснять, что узким местом базы есть скорость вычитки с винтов.
При базе в 800 гиг чтобы вложится в пресловутые 80 секунд нужно читать
10 гиг в секунду.

Тачки стоимость в один лям могут себе позволить загнать всю базу в рам и добиться таких результатов,
а вот автор Киселенки за 1700 уе с ССДшниками - врядли.


Зато он может нехилый такой SN кластер собрать.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38641576
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, в GA-890FXA-UD7 можно воткнуть три RevoDrive 350 - PCI Express (PCIe) SSD, что даст 5400 мегабайт в секунду на чтение, чего, учётом возможного сжатия в два раза должно хватить для достижения требуемых показателей.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38641605
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
29 Белых КотиковВообще, в GA-890FXA-UD7 можно воткнуть три RevoDrive 350 - PCI Express (PCIe) SSD, что даст 5400 мегабайт в секунду на чтение, чего, учётом возможного сжатия в два раза должно хватить для достижения требуемых показателей.

если бы у бабушки были яйца то она была бы дедушкой.
В заявленую цену 1700 уе никак не вписываются "три RevoDrive 350 - PCI Express (PCIe) SSD".
На счет сжатия, тоже терзают мутные сомнения.
Короче меряли непонятно что, непонятно как и непонятно зачем.
И это чтото не сходится даже по банальной скорости чтения с дисков, не говоря уже о какихто там вычислениях.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38641902
anton2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База колоночная, поэтому для запроса не нужно читать все 800 GB. Нужные колонки занимают около 200 GB и при сжатии 1:4 помещаются в 64 GB оперативной памяти. 64 GB можно купить относительно недорого.
А следующим узким местом после чтения данных становится способность базы данных их обработать. И здесь на ведущие места выдвигаются базы типа VectorWise или MS SQL Server 2014 которые способны эффективно использовать современные процессоры с векторной обработкой данных.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642042
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anton2013База колоночная, поэтому для запроса не нужно читать все 800 GB. Нужные колонки занимают около 200 GB и при сжатии 1:4 помещаются в 64 GB оперативной памяти. 64 GB можно купить относительно недорого.
А следующим узким местом после чтения данных становится способность базы данных их обработать. И здесь на ведущие места выдвигаются базы типа VectorWise или MS SQL Server 2014 которые способны эффективно использовать современные процессоры с векторной обработкой данных.

Всё-таки согласен. Если рейд из 10 SSD стоит 1000 долларов, пусть автор соберёт этот рейд и проведёт тест до конца. А то какая-то ерунда выходит The SQL runs in just 77 seconds (disk time excluded. Why is it excluded? Because even with a cheap disk subsystem it becomes insignificant. Raid setup of 10 SSD (USD 1000) would read the compressed data in under 10 seconds).

И, к тому же, на MSSQL 8 интелловских ксеонов за 47 секунд и вычитали, пускай из памяти и запрос посчитали. А тут куча ядер теслы и на две трети дольше без вычитки.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642059
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, с другой стороны интелловский процессор стоит 170000*8 = 1360000 рублей http://storserv.ru/catalog/servery/Komplekt-serv-platform/CPU/CPU-Intel-Xeon-E7-series-LGA1567/e74870.html , а Nvidia GTX Titan 40000 рублей. То есть, разница в цене будет в 34 раза.

Вычитку правильно исключили, потому что в тестах сервер всё равно данные из кеша берёт, так что можно сравнить производительность именно процессора, но за 10 секунд оно не вычитает.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642141
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anton2013База колоночная, поэтому для запроса не нужно читать все 800 GB. Нужные колонки занимают около 200 GB и при сжатии 1:4 помещаются в 64 GB оперативной памяти. 64 GB можно купить относительно недорого.
А следующим узким местом после чтения данных становится способность базы данных их обработать. И здесь на ведущие места выдвигаются базы типа VectorWise или MS SQL Server 2014 которые способны эффективно использовать современные процессоры с векторной обработкой данных.

Тогда исправьте 800 гб в своем тесте на 200 гб и отметьте, что конкретно эти данные особой природы могут быть сжаты.

Любой тест, это царство точных цифр. А у вас сейчас торчит в начале теста "база 800 гб" которая по сути ниочем не говорит, потому что тест не использует даже половины этих данных.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642178
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anton2013База колоночная, поэтому для запроса не нужно читать все 800 GB. Нужные колонки занимают около 200 GB и при сжатии 1:4 помещаются в 64 GB оперативной памяти. 64 GB можно купить относительно недорого.
А следующим узким местом после чтения данных становится способность базы данных их обработать. И здесь на ведущие места выдвигаются базы типа VectorWise или MS SQL Server 2014 которые способны эффективно использовать современные процессоры с векторной обработкой данных.

Вот тебе чистый С++ код, моделирующий вычислительную часть твоего запроса.
6 млрд типо строк. Без учета работы дисков.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
int _tmain(int argc, _TCHAR* argv[])
{
	int l_returnflag = 0;
    int l_linestatus = 0;
    
    int col1;
	int col2;
	int col3;
	int col4;
	__int64 col5;
	__int64 col6;
	__int64 col7;

	int l_quantity = 10;
	int l_extendedprice = 10;
	int l_discount = 1;
	int l_tax = 1;
	__int64 count = 0;

	int l_shipdate ;
	
	for(; count < 6000000000; count++) //l_shipdate <= 19980902
	{
		if(l_shipdate <= 19980902)
		{
			//col1
			col1 += l_quantity;      //sum(l_quantity) as sum_qty,
			col2 += l_extendedprice;    //sum(l_extendedprice) as sum_base_price,
			col3 += l_extendedprice * (1 - l_discount); // sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
			col4 += l_extendedprice * (1 - l_discount) * (1 + l_tax); //sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
			col5 += l_quantity; //avg(l_quantity) as avg_qty,
			col6 += l_extendedprice; //avg(l_extendedprice) as avg_qty,
			col7 += l_discount; //avg(l_discount) as avg_qty,
		}
	}

	col5 /= count;
	col6 /= count;
	col7 /= count;

	printf("%d %d %d %d %d %d %d", col1, col2, col3, col4, col5, col6, col7);

	return 0;
}



У меня получилось 4 секунды.
Чистый NoSQL рулит. Смотри что у тебя там в аленке тормозит )
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642186
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выводы:
1. Вычислительной задачи там на 4-5 секунд и без всяких GPU.
2. Основной затык, типичный для СУБД в дисковой системе.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642193
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так оно всё либо в регистрах лежит, либо в кеше процессора. А вот попробуй теперь в скорость чтения DDR упереться (12 Гб/с на DDR3)
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642201
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого надо сделать массив в 100 мегов и циклически выбирать из него строки через деление по модулю от числа строк в массиве. Тогда тест будет аналогичным тесту алёнки.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642208
anton2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rstudioТогда исправьте 800 гб в своем тесте на 200 гб и отметьте, что конкретно эти данные особой природы могут быть сжаты.

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

800 GB - это объем первоначальных данных который загружается в базы данных.
А уж количество читаемых данных зависит от движка. Если Oracle должен будет прочитать 800 GB, то Sybase IQ, например, считает гораздо меньше. У MS SQL Server 2014 количество считываемых данных будет зависеть от конфигурации, данные могут храниться как колонками так и рядами.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642224
anton2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У вас вычисления на константах, попробуйте на массивах с реальными данными. Ещё не вижу группировки по строкам, а это довольно cpu-интенсивная часть. Если кому интересно, в интернете есть программа для реального вычисления этого запроса на языке С. Если мне не изменяет память, то вычисления для 6 миллионов записей занимали 200 ms.
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642231
29 Белых Котиков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anton2013Ещё не вижу группировки по строкам, а это довольно cpu-интенсивная часть.

С учётом числа значений будет примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
			
//col1
			col1[l_returnflag*10+l_linestatus] += l_quantity;      //sum(l_quantity) as sum_qty,
			col2[l_returnflag*10+l_linestatus] += l_extendedprice;    //sum(l_extendedprice) as sum_base_price,
			col3[l_returnflag*10+l_linestatus] += l_extendedprice * (1 - l_discount); // sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
			col4[l_returnflag*10+l_linestatus] += l_extendedprice * (1 - l_discount) * (1 + l_tax); //sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
			col5[l_returnflag*10+l_linestatus] += l_quantity; //avg(l_quantity) as avg_qty,
			col6[l_returnflag*10+l_linestatus] += l_extendedprice; //avg(l_extendedprice) as avg_qty,
			col7[l_returnflag*10+l_linestatus] += l_discount; //avg(l_discount) as avg_qty,
...
Рейтинг: 0 / 0
Сравниваем скорость SQL-запроса на суровых серверах
    #38642246
anton2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
29 Белых Котиковanton2013Ещё не вижу группировки по строкам, а это довольно cpu-интенсивная часть.

С учётом числа значений будет примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
			
//col1
			col1[l_returnflag*10+l_linestatus] += l_quantity;      //sum(l_quantity) as sum_qty,
			col2[l_returnflag*10+l_linestatus] += l_extendedprice;    //sum(l_extendedprice) as sum_base_price,
			col3[l_returnflag*10+l_linestatus] += l_extendedprice * (1 - l_discount); // sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
			col4[l_returnflag*10+l_linestatus] += l_extendedprice * (1 - l_discount) * (1 + l_tax); //sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
			col5[l_returnflag*10+l_linestatus] += l_quantity; //avg(l_quantity) as avg_qty,
			col6[l_returnflag*10+l_linestatus] += l_extendedprice; //avg(l_extendedprice) as avg_qty,
			col7[l_returnflag*10+l_linestatus] += l_discount; //avg(l_discount) as avg_qty,



Да, примерно так. Только хэш-функцию надо позамысловатее, а то будет конфликт у 1*10 + 0 и 0*10 + 10.
Еще мы не знаем сколько у нас будет сгруппированных значений, поэтому col1 ... col17 должны быть std::map.
...
Рейтинг: 0 / 0
25 сообщений из 70, страница 1 из 3
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Сравниваем скорость SQL-запроса на суровых серверах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]