|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
DirksDRВыложите один файл в облако, или вышлите в личку. Хотел бы проверить пару идей.Проверяйте. Не забудьте поделиться результатами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 12:15 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Andrey SribnyakМожешь попробовать на моих данных? https://northcentr.blob.core.windows.net/tpcc/order_line.txt (8,6GB) Без описания полей, без докачки, на скорости улитки... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 13:41 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
afgmAndrey SribnyakМожешь попробовать на моих данных? https://northcentr.blob.core.windows.net/tpcc/order_line.txt (8,6GB) Без описания полей, без докачки, на скорости улитки... wget докачивает Там файл с разделителем "|" а сама таблица очень простая: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 13:46 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Кстати... сравнение только выполнения запроса - это только половина проблемы... Целиком проблема стоит - закачать файл и посчитать... И только полное время стоит сравнивать... Здесь как раз Polybase от Micrisoft (или подобные решения от конкурентов тот же DB2 или террадата) думаю смогут круто ускорить проблему: Код: sql 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.
На все про все 2 минуты 48 секунд ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 13:50 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
afgm на скорости улитки... HTTP request sent, awaiting response... 200 OK Length: 9246076052 (8.6G) [application/octet-stream] Saving to: `order_line.txt.1' 100%[=========================================================================================================================================================================>] 9,246,076,052 24.8M/s in 4m 8s 2016-10-10 10:57:29 (35.6 MB/s) - `order_line.txt.1' saved [9246076052/9246076052] ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 13:59 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Andrey SribnyakMicrosoft SQL Server 2016 (RTM-CU2) (KB3182270) - 13.0.2164.0 (X64) Sep 9 2016 20:13:26 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows Server 2012 R2 Datacenter 6.3 <X64> (Build 9600: ) (Hypervisor) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
(15 row(s) affected) SQL Server Execution Times: CPU time = 1390 ms, elapsed time = 15716 ms. редкий случай когда импала работает: Код: 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.
hadoop/impala в vmware, 13.5Gb RAM ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 23:01 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Andrey Sribnyak, "осталось 10 часов" до завершения закачки, ждать я не буду ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 08:18 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
КритикAndrey Sribnyak, "осталось 10 часов" до завершения закачки, ждать я не буду ) Все что могу сделать - закачать в Ирландию :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 10:45 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Yo.!, Если добавить фильтр по дате > '20151212' Как отработает? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 10:51 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Andrey SribnyakYo.!, Если добавить фильтр по дате > '20151212' Как отработает? вечерком попробую (эта машинка дома), но по идеи ничего не измениться. идея бигдаты читать нахрен все без разбору. единственно, что 12.8 вышло сразу после импорта текста в parquet формат, видимо линукс что-то кеширует, т.к. после того как запустил примерно такой же запрос на другую табличку и снова на order_line, вышло уже 20+ секунд. а на файлике 30 гб импала просто валиться у меня :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 12:33 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Ну что, MS победил и по скорости и по объему сжатия? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 14:05 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Критик, Залил в North Europe и пожал g'zip https://eurn.blob.core.windows.net/tpcc/order_line.txt.gz 2.45 GB ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 16:49 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
КритикНу что, MS победил и по скорости и по объему сжатия? ;) Бог его знает... Как я уже выше сказал, нужно учитывать как время загрузки в БД так и время выполнения... Например Amazon Redshift (15 нод - это чуть больше 3 баксов в час) Код: plsql 1.
PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.1104 Загрузка обычного csv файла: Код: sql 1. 2.
Execution time: 3m 59s Время выполнения запроса: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Execution time: 1.12s Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Execution time: 1.46s Таблица при этом весит:4246Mb Можно еще загружать зипованый файл: Код: sql 1. 2.
COPY executed successfully Execution time: 4m 44s ну а так, все то же самое.... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 18:39 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
для файла время загрузки от 03:50 до 5 минут (несколько способов попробовал) дополнительно индекс Код: sql 1.
строится 1 мин 17 сек на 6 ядрах объем: namerowsreserveddataindex_sizeunused;order_line как есть1439912536 546 880 KB6546760 KB64 KB56 KB;order_line колоночная143991253 2 079 112 KB 2078992 KB0 KB120 KB; запрос 1: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
SQL Server Execution Times: CPU time = 1732 ms, elapsed time = 313 ms . запрос 2: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
SQL Server Execution Times: CPU time = 17894 ms, elapsed time = 2679 ms . в принципе, эти 2679 ms можно свести к 313 ms секционированием, но мне лень дальше тестить ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 00:33 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
попробовал секционирование по месяцам: снижает время выполнения запроса с фильтром в 2 раза ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 00:51 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Критикдля файла время загрузки от 03:50 до 5 минут (несколько способов попробовал) Господа, что за компьютеры у Вас? На моем офисном ПК (i5-2500 3.3GHz Win XP) просто последовательное чтение этого файла из VBA-программы занимает 13 минут:( Чтение и подсуммирование (аналог Вашего запроса) выполняется за 18 мин 42 сек. Другой вариант последовательного чтения дает 6.5 минут. Может Вы файл с RAMdrive читаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 12:46 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
DirksDRКритикдля файла время загрузки от 03:50 до 5 минут (несколько способов попробовал) Господа, что за компьютеры у Вас? На моем офисном ПК (i5-2500 3.3GHz Win XP) просто последовательное чтение этого файла из VBA-программы занимает 13 минут:( Чтение и подсуммирование (аналог Вашего запроса) выполняется за 18 мин 42 сек. Другой вариант последовательного чтения дает 6.5 минут. Может Вы файл с RAMdrive читаете? да ладно, 8.6Gb читать 6.5 минут, для этого IDE диск понадобиться. у меня без упаковки паркет табличка весит всего 2.8Gb, при этом как я помню не все колонки в запросе участвуют. плюс ты читаешь поблочно, а базы читают многоблочным (readfilescatter) чтением. у меня i7 десктоп, виртуалка на стареньком HDD, правда есть вариант, что часть блоков все таки кеширует линукс, лень виртуалку рестартовать ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 13:42 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
DirksDR, i7-3770, 32Гб ОЗУ файл лежал на HDD 7200, база-приёмник была на RAM-диске, загружал SSIS-пакетом в 6 потоков (не 8 - чтобы комп был доступен) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 22:20 |
|
Агрегация данных (~100 млн строк)
|
|||
---|---|---|---|
#18+
Andrey Sribnyak Залил в North Europe и пожал g'zip https://eurn.blob.core.windows.net/tpcc/order_line.txt.gz 2.45 GB вот этот камент на хабре случайно не Ваш ? Если да, то результатом тестового запроса на DB2 BLU не поделитесь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2016, 12:33 |
|
|
start [/forum/topic.php?fid=35&msg=39324385&tid=1552255]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 271ms |
0 / 0 |