|
|
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
авторПозиционирование в типизированном файле это не гора кода, и работать будет ,скорее всего, быстрее. Пока нужно по массиву пробежаться и просто сложить - то да. Но в его случае этим, скорее всего, не закончится. Аппетит приходит во время еды. Начнется сортировка, поиск, деление на группы, индексы и так далее. И то, что можно сделать простым запросом в пару строк в коде будет выглядеть довольно громоздко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:17 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
rgreatKazantsev Alexey, +1. А еще - простые решения как правило самые лучшие. А я склоняюсь именно к БД. 1 раз пишется импорт данных - а дальше крути как хочешь - сервер тебе в этом только поможет. А с учетом разнообразных хотелок по извлечению данных и их анализу - простое решение вырастет в такого себе монстрика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:19 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
DarkMaster, Нет, тако можно, но это как гвозди гидравлическим прессом забивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:21 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
rgreatDarkMaster, Нет, тако можно, но это как гвозди гидравлическим прессом забивать. ты хочешь сказать, что БД с готовыми алгоритмами для задачи ТС не нужна ? или я тебя не понял ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:24 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
defecator, Далеко не обязательна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:35 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
БД хорош тем, что алгоритмы и индексацию можно масштабировать Но когда речь идёт о терабайтах данных и алгоритмы предполагают последовательную обработку всех данных - СУБД будет существенно тормозить этот процесс. Тем более можно сделать пул потоков и обрабатывать массив сразу на нескольких ядрах. Вопрос, на сколько прямая обработка данных будет быстрее СУБД. Я думаю раза в 2-3. Но реальную цифру мы можем сказать только проведя реальные тесты Поэтому предлагаю замутить тестовый открытый репозиторий на битбакете и проверить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:48 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUБД хорош тем, что алгоритмы и индексацию можно масштабировать Но когда речь идёт о терабайтах данных и алгоритмы предполагают последовательную обработку всех данных - СУБД будет существенно тормозить этот процесс. Тем более можно сделать пул потоков и обрабатывать массив сразу на нескольких ядрах. Вопрос, на сколько прямая обработка данных будет быстрее СУБД. Я думаю раза в 2-3. Но реальную цифру мы можем сказать только проведя реальные тесты Поэтому предлагаю замутить тестовый открытый репозиторий на битбакете и проверить Что ты хочешь тестировать ? очевидное-невероятное ? Опять сел на своего любимого конька ? Через СУБД будет медленнее, но это будет компенсироваться гибкостью хранения, индексирования и готовыми механизмами анализа данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 14:56 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
defecatorЧто ты хочешь тестировать ? Как что? Сформулируем несколько задач - и каждую из них прогоним Автор, кстати, уже говорил, что ему нужен поиск твела/ТВС, суммирование данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 15:09 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUПоэтому предлагаю замутить тестовый открытый репозиторий на битбакете и проверить Чем закончился твой предыдущий челендж с XML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 15:28 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Никому кроме меня не интересны реальные тесты. Все только языком чесать горазды ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 15:58 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
02.11.2017 15:58, SOFT FOR YOU пишет: > Никому кроме меня не интересны реальные тесты. Все только языком чесать горазды ) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 16:08 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUБД хорош тем, что алгоритмы и индексацию можно масштабироватьможно даже data mining/analytics устроить коробочными ср-вами SOFT FOR YOUНо когда речь идёт о терабайтах данныхэто даже не особо и big data SOFT FOR YOUТем более можно сделать пул потоков и обрабатывать массив сразу на нескольких ядрахраспараллелить разумеется можно и в бд SOFT FOR YOUна сколько прямая обработка данных будет быстрее СУБДумеющий и любящий рукоблудить возможно и добьется а если не особо специалист то вероятно легче/удобнее будет освоить специализированный инструментарий/dsl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 16:16 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
vavan, Не факт, что у ТС сервер с ксеоном на 28 ядер и винтом на 3GB/s Поэтому, не смотря на возможности, производительность такого решения с 1 минуты может возрасти до пары часов Никто не говорит, что так нельзя. Я лишь говорю, что топорным методом (подобрав инструментарий) задача отработает за считанные секунды Лично мне интересно проверить, какова разница по производительности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 16:38 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
Как обычно: ТС "потерялся", а топик зафлудили Андрей ИгоревичНу файлы по 2-3 гб, просто их до 20 штук. (Один файл - один год эксплуатации) SOFT FOR YOU Лично мне интересно проверить, какова разница по производительности Как предлогали ранее, текстовые файлы нужно перегнать в бинарные. А seek + blockread будет быстрее, чем выборка через СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 17:17 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
НезваныйГостьКак обычно: ТС "потерялся", а топик зафлудили Андрей ИгоревичНу файлы по 2-3 гб, просто их до 20 штук. (Один файл - один год эксплуатации) SOFT FOR YOU Лично мне интересно проверить, какова разница по производительности Как предлогали ранее, текстовые файлы нужно перегнать в бинарные. А seek + blockread будет быстрее, чем выборка через СУБД Ну я "потерялся" в том плане, что даже не знаю, что ответить на такие предложения. Мне бы для начала разобраться как всё это работает. Пока вот работы на работе подвалило - некогда, а дома сил уже не хватает :(. Дайте хоть неделю-две поковыряться в ваших предложениях :). Мне тут уже столько всего напредлогали. И классы, и многопоточная загрузка текста при помощи каких-то библиотек, и ещё куча всего, в чем я пока с трудом разбираюсь. А я ведь просто хотел подгрузить массив и способом "Фор И ту Ж ду" решить большинство интересующих меня задач. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 17:28 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
НезваныйГостьКак предлогали ранее, текстовые файлы нужно перегнать в бинарные. А seek + blockread будет быстрее, чем выборка через СУБД Ну вот скажи мне плиз, как твои сверхбыстрые Seek/BlockRead справятся с задачей "найти первые 100 вхождений числа 1.23455" в диапазоне дат от .. до ..? Дело не в том, как быстро прочитать - с данными еще и работать нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 17:30 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
Андрей Игоревич, А ты по шагам разбей - решай задачи по мере их поступления. Я бы сделал следующее (ага, это я со своей колокольни) : выбрал бы СУБД (не ведись на Oracle и Postge - их еще готовить нужно уметь). Перегнал бы данные в БД и начал бы учить SQL (там реально все несложно) - считай, что 90% твоих задач уже можно решить с помощью уже готовых средств (sql-запросами). При возникновении конкретных проблем (при перегонке данных, тормозах при выборке и т.п.) - обращался бы сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 17:36 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
02.11.2017 17:28, Андрей Игоревич пишет: > А я ведь просто хотел подгрузить массив и способом "Фор И ту Ж ду" решить большинство интересующих меня задач. :) я ж сказал чем это можно сделать: Compaq Array Visualizer. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 17:41 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
Андрей ИгоревичА я ведь просто хотел подгрузить массив и способом "Фор И ту Ж ду" решить большинство интересующих меня задач. :) Для начала тебе нужно решить, все свои алгоритмы ты будешь проверять на бинарных данных или на текстовых? Если на текстовых, можно так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Если бинарные данные, то по простому можно так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 18:15 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
DarkMasterНу вот скажи мне плиз, как твои сверхбыстрые Seek/BlockRead справятся с задачей "найти первые 100 вхождений числа 1.23455" в диапазоне дат от .. до ..? Никак. Первоначальный вопрос ТС: "Как работать с массивом около 10 миллиардов (1е10) значений типа реал". Дальше ТС уточнил: "...по сути обычный интеграл(сумма) для конкретного участка от времени. Всевозможные зависимости плотностей потока от высоты, времени по каналу, времени для конкретной ТВС, по сечению. Поиск всяких максимумов и минимумов, перекосов." Придуманной задачи о вхождении и диапазона дат не ставится, хотя циклы и операторы сравнения никто не запрещал и не отменял . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 23:09 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
Да чё вы мозги полощите Давайте тесты в студию :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 23:22 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
НезваныйГостьПридуманной задачи о вхождении и диапазона дат не ставитсяАндрей Игоревичновые задачи формируются только когда увидишь результаты решения предыдущих ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 09:35 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
Повторюсь. Аппетит приходит во время еды. А тут уже всё написано. И что бы аппетит удовлетворить приходится всё переписывать с нуля. И кому это нужно? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 11:51 |
|
||
|
Как работать с очень большими масивами
|
|||
|---|---|---|---|
|
#18+
DarkMasterАндрей Игоревич, А ты по шагам разбей - решай задачи по мере их поступления. Я бы сделал следующее (ага, это я со своей колокольни) : выбрал бы СУБД (не ведись на Oracle и Postge - их еще готовить нужно уметь). Перегнал бы данные в БД и начал бы учить SQL (там реально все несложно) - считай, что 90% твоих задач уже можно решить с помощью уже готовых средств (sql-запросами). При возникновении конкретных проблем (при перегонке данных, тормозах при выборке и т.п.) - обращался бы сюда. А как лучше спроектировать схему данных.... Для меня вот неочевидно. получается, что основная табличка что-то вроде id_твел-а, тип-нейтронов(тепловые-быстрые, или как там?), дата-измерения, показатель. может еще на каждом твэле куча отсчетов по высоте, или еще чему-то там, я не представляю себе как это по жизни..... я это к чему - к тому что в таком нормализованном представлении на 1 отсчет не так мало инфрастуктуры и базка может и распухнуть.... тут бы примерно прикинуть хотя бы, для какого сервера БД какую железку надо под задачку. чтобы комфортно крутить данными. Я такую прикидку не возьмусь сделать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 14:17 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39546728&tid=2041256]: |
0ms |
get settings: |
4ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 464ms |

| 0 / 0 |
