Re[18]: [Голосование] Нужен ли binary tree если есть hash таблица
От: Gattaka Россия  
Дата: 29.06.17 15:08
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Gattaka, Вы писали:


G>>Ну поехали, предположим зарплата считается для интервьюеров. У нас есть логи работы интервьюера за месяц. Это табличка на 300 Гб.

WH>300 гигов логов за месяц для 300 человек?
Не для 300 чел. Для 2500 чел. вроде так было. И да, они там просто так не сидят, работают. Поэтому 300 гигов. Все нужно.

WH>Что-то я в это не верю.

WH>Ещё труднее поверить в то что там 300 гигов полезных данных, а не куча бесполезных в данном случае блобов которые не нужно читать.

G>> Мы бежим по логам и по определенным правилам начисляем бонусы. Продолжать?

WH>Если ты посчитаешь зарплату для всех медленней чем полезные данные могут быть прочитаны с диска, то у меня для тебя плохие новости.

G>>Сейчас теоретики скажут дескать вы каждый раз не бегайте, а вы при вставке записи в логи бонусы начисляйте. Так не катит, т.к. логи собираются глючной сторонней софтиной и их правят иногда руками. Так что проще поправить логи руками и пересчитать все заново.

WH>Так не руками в базе править надо. А через специальную процедуру, которая удалит старые данные, добавит новые и пересчитает бонусы.
WH>И софтина тоже через эту процедуру данные должна добавлять.
Не можем. Софтина записи логов сторонняя, исходников ее нет.
Re[24]: [Голосование] Нужен ли binary tree если есть hash та
От: Gattaka Россия  
Дата: 29.06.17 15:12
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Gattaka, Вы писали:


G>>Во вторых вы слышали про RAM диск? Так что вам мешает его сделать? И чем тогда СУБД хуже?

WH>А ты про ACID слышал?
Естественно. Так блин с кем имею честь дискутировать? Представитель какого лагеря? SQL, NOSQL? С кем мы Оракл сравниваем?
Re[19]: [Голосование] Нужен ли binary tree если есть hash таблица
От: WolfHound  
Дата: 29.06.17 15:16
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Не для 300 чел. Для 2500 чел. вроде так было. И да, они там просто так не сидят, работают. Поэтому 300 гигов. Все нужно.

Всё равно не верю. 120 мегабайт на человека — это охренеть как много. Это 5.7 мегабайта в день.
Чем они там занимаются?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: [Голосование] Нужен ли binary tree если есть hash та
От: · Великобритания  
Дата: 29.06.17 15:21
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>·>Важности для чего? Для каких задач? Все ли квалифицированные программисты решают именно эти задачи?

G>Вот тут я кажется донес до тебя свою основную мысль. Теперь внимание. Прочти свои три вопроса выше. И относительно бинарного дерева.
Это несколько разные вещи. Алгоритмы и Структуры Данных это базовые знания из Computer Science, даже если ты большинство пар прогуливаешь ты всё равно уцепишься за термины в сабже. А методы управления проектами и контроля качества меняются чуть ли не каждые 10 лет и очень специфичны для каждого конкретного класса проектов.

G>·>Так просто цифры не сходятся. СУБД пишет транзакции на диск. Запись на диск — (даже SSD) уже порядка 1мс в среднем, в плохом случае — совсем плохо (а для latency важен именно плохой случай). Откуда там нано? Или там какой-то по особенному заточенный Oracle?

G>Ну вопервы про пишет. Пишут гораздо меньше чем читают. Поэтому важнее рассматривать скорость чтения.
Ну вот я и говорю — post trade, ну может быть опционы какие-нибудь, и там нет никаких наносекунд. А в FX-бирже фактически только и пишут, ничего не читают, а market data просто броадкастят.

G>Во вторых вы слышали про RAM диск? Так что вам мешает его сделать? И чем тогда СУБД хуже?

RAM-диск будет только лишним слоем тормозящей абстракции. И никакой надёжности.
Короче ясно, почему у вас там по 45 минут простейшие вычисления работают.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[25]: [Голосование] Нужен ли binary tree если есть hash та
От: WolfHound  
Дата: 29.06.17 15:24
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>>>Во вторых вы слышали про RAM диск? Так что вам мешает его сделать? И чем тогда СУБД хуже?

WH>>А ты про ACID слышал?
G>Естественно.
Непохоже.
Как будешь обеспечивать ACID на RAM диске?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: [Голосование] Нужен ли binary tree если есть hash та
От: · Великобритания  
Дата: 29.06.17 15:33
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>>> У нас есть логи работы интервьюера за месяц. Это табличка на 300 Гб. Мы бежим по логам

G>·>Кстати, опять ты где-то привираешь. В лучшем случае только чтение с диска это 1Gb/s. В 9 секунд никак не уложиться.
G>Ты с разными людьми разговариваешь. Классно я тебя?
Ты ответил "табличка на 300 Гб" на вопрос "что можно делать 9 секунд". А с кем ты разговариваешь?

И мне тоже стало любопытно чего может нагеренить человек на 5.7 мегабайт в день, кроме как фотографий котиков?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[20]: [Голосование] Нужен ли binary tree если есть hash таблица
От: Gattaka Россия  
Дата: 29.06.17 15:34
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Gattaka, Вы писали:


G>>Не для 300 чел. Для 2500 чел. вроде так было. И да, они там просто так не сидят, работают. Поэтому 300 гигов. Все нужно.

WH>Всё равно не верю. 120 мегабайт на человека — это охренеть как много. Это 5.7 мегабайта в день.
WH>Чем они там занимаются?
Проводят телефонные опросы.
Re[21]: [Голосование] Нужен ли binary tree если есть hash таблица
От: · Великобритания  
Дата: 29.06.17 15:38
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>>>Не для 300 чел. Для 2500 чел. вроде так было. И да, они там просто так не сидят, работают. Поэтому 300 гигов. Все нужно.

WH>>Всё равно не верю. 120 мегабайт на человека — это охренеть как много. Это 5.7 мегабайта в день.
WH>>Чем они там занимаются?
G>Проводят телефонные опросы.
В смысле аудио записывается? И как по аудио считать зарплату? Распознавание голоса что-ли? И очень интересно — как модифицировать аудио-логи вручную?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[22]: [Голосование] Нужен ли binary tree если есть hash таблица
От: Gattaka Россия  
Дата: 29.06.17 15:53
Оценка:
Здравствуйте, ·, Вы писали:

G>>Проводят телефонные опросы.

·>В смысле аудио записывается? И как по аудио считать зарплату? Распознавание голоса что-ли? И очень интересно — как модифицировать аудио-логи вручную?
Аудио не записывается.
Re[22]: [Голосование] Нужен ли binary tree если есть hash та
От: Gattaka Россия  
Дата: 29.06.17 15:55
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Gattaka, Вы писали:


G>>>> У нас есть логи работы интервьюера за месяц. Это табличка на 300 Гб. Мы бежим по логам

G>>·>Кстати, опять ты где-то привираешь. В лучшем случае только чтение с диска это 1Gb/s. В 9 секунд никак не уложиться.
G>>Ты с разными людьми разговариваешь. Классно я тебя?
·>Ты ответил "табличка на 300 Гб" на вопрос "что можно делать 9 секунд". А с кем ты разговариваешь?
В моем случае было больше чем 9 сек. Ну ваще! Ты как с заказчиком общаешься?

·>И мне тоже стало любопытно чего может нагеренить человек на 5.7 мегабайт в день, кроме как фотографий котиков?

Представь себе. Ты концентрируешься на несущественных деталях. В этом проблема.
Re[23]: [Голосование] Нужен ли binary tree если есть hash таблица
От: · Великобритания  
Дата: 29.06.17 16:00
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>>>Проводят телефонные опросы.

G>·>В смысле аудио записывается? И как по аудио считать зарплату? Распознавание голоса что-ли? И очень интересно — как модифицировать аудио-логи вручную?
G>Аудио не записывается.
Т.е. некий текст? Если зажать клавишу, то человек сможет вводить 30 байт в секунду. Это ~2.6мб в сутки. А остальные 3.1мб что?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[24]: [Голосование] Нужен ли binary tree если есть hash таблица
От: Gattaka Россия  
Дата: 29.06.17 16:15
Оценка:
Здравствуйте, ·, Вы писали:

·>Т.е. некий текст? Если зажать клавишу, то человек сможет вводить 30 байт в секунду. Это ~2.6мб в сутки. А остальные 3.1мб что?

Просто ты исходишь из того, что логи пишутся исключительно для зарплаты. Нет есть система, которая позволяет этим несчастным 2500 интервьюеров организовать телефонный опрос. Сама дозванивается, сама показывает интервьюеру правильные вопросы, он это фиксирует. Все это логируется со страшной силой. В табличку с 50 столбцами. Что потребуется для расчета зп сказать сложно, логика навороченная сегодня одно поле нужно, завтра другое и т.п. Софтина пишет в базу, влиять мы на это не можем.
Re[23]: [Голосование] Нужен ли binary tree если есть hash та
От: · Великобритания  
Дата: 29.06.17 16:18
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>>>Ты с разными людьми разговариваешь. Классно я тебя?

G>·>Ты ответил "табличка на 300 Гб" на вопрос "что можно делать 9 секунд". А с кем ты разговариваешь?
G>В моем случае было больше чем 9 сек. Ну ваще! Ты как с заказчиком общаешься?
Да опять телепатия глючит...

G>·>И мне тоже стало любопытно чего может нагеренить человек на 5.7 мегабайт в день, кроме как фотографий котиков?

G>Представь себе. Ты концентрируешься на несущественных деталях. В этом проблема.
Я прекрасно понимаю что _можно_ писать 5.7 мб и даже больше. Но вполне может оказаться, что если хорошенько надавать по рукам разработчикам, то внезапно выяснится, что достаточно 5.7 кб.
И я такую ситуацию наблюдал в жизни реально, когда внезапно оказалось, что в большой солидной 30Гб базе из полезных данных оказалось только около 100мб, остальной треш был нагенерён каким-то кривым периодичным таском (а это было во времена когда объёмы дисков были скромнее чем сейчас).
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[12]: [Голосование] Нужен ли binary tree если есть hash таблица
От: microuser  
Дата: 29.06.17 16:40
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Gattaka, Вы писали:


C>>>Так не спорю. Только вот те сайтики, которые надо уметь делать, обычно делаются теми, кто не задаёт вопросов про нужность деревьев.

G>>Все надо уметь делать. Можем о DDD порассуждать, о дизайне. Это тоже не просто.
C>Ну вот и порекомендую немного поучиться.

C>>>Подумай, что станет с порядком элементов в хэш-карте, если вставка элемента вызовет перебалансировку.

G>>Слушай, что ты несешь?! Во что у тебя там превратилась простейшая операция импорта JSON? Бинарные деревья, хэш карты — какая то жесть бардовая!
C>Вау. Такая безграмотность, да ещё и воинствующая!

C>Ну что же, урок информатики:

C>
C>    public static void main(String []args) {
C>        final Map<String, String> map = new HashMap<>(2);
C>        map.put("one", "two");
C>        map.put("three", "four");
C>        map.put("can", "you");
C>        map.put("hear", "the");
C>        map.put("cannon", "roar");

C>        for(final Map.Entry<String, String> entry : map.entrySet()) {
C>            System.out.println(entry.getKey()+" "+entry.getValue());
C>        }
C>    }
C>


C>Вывод:

C>
C>can you
C>one two
C>cannon roar
C>three four
C>hear the
C>


C>А теперь немного меняем:

C>
C>    public static void main(String []args) {
C>        final Map<String, String> map = new HashMap<>(2);
C>        map.put("one", "two");
C>        map.put("five", "six");
C>        map.put("three", "four");
C>        map.put("can", "you");
C>        map.put("hear", "the");
C>        map.put("cannon", "roar");

C>        for(final Map.Entry<String, String> entry : map.entrySet()) {
C>            System.out.println(entry.getKey()+" "+entry.getValue());
C>        }
C>    }
C>


C>И вывод становится полностью другим:

C>
C>can you
C>five six
C>three four
C>hear the
C>one two
C>cannon roar
C>


C>Это происходит из-за того, что внутри себя хэш-карта при вставках иногда перебалансируется, перемещая объекты между хэш-корзинами.


C>Если использовать хэш-карту для хранения узлов из JSON'а, то при небольших изменениях одного элемента можно получить diff размером в пол-файла.


C>Домашнее задание: описать в чём могут быть проблемы наивной реализации хэш-карты, если зловредный пользователь контролирует данные, которые в неё добавляются.


C>И дополнительный вопрос для школ с углублённым изучением информатики: почему в Java для объектов, помещаемых в обычные хэш-карты, всё равно имеет смысл реализовать интерфейс Comparable?


Что мешало превратить хеш мапу в список, отсортировать его и сериализовать в файл?
Re[16]: [Голосование] Нужен ли binary tree если есть hash таблица
От: DenisCh Россия  
Дата: 29.06.17 17:07
Оценка:
Здравствуйте, ·, Вы писали:

·> C>> Вот не надо мне это говорить. Я писал систему, которая занималась расчётом зарплаты с учётом данных посещения. Считала она за секунды для тысяч человек — с учётом overtime и прочего.


·> DC>Ну, так врать я тоже могу.

·> Я — свидетель.
·> Ты лучше объясни что можно делать 9 секунд на скорости ~3GHz для одного человека рассчитывая ему зарплату за месяц?!

Налоги, например. Расчёт по 10 ставкам, на которых работает человек...
С учётом блокировок и мультипользовательского режима.
avalon/2.0.3
Re[13]: [Голосование] Нужен ли binary tree если есть hash таблица
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.06.17 17:08
Оценка:
Здравствуйте, microuser, Вы писали:

M>Что мешало превратить хеш мапу в список, отсортировать его и сериализовать в файл?


Очевидно, бессмысленность предложенного Вами подхода.

P.S. Не оверквотьте, пожалуйста.
The God is real, unless declared integer.
Re[17]: [Голосование] Нужен ли binary tree если есть hash таблица
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.06.17 17:14
Оценка:
Здравствуйте, DenisCh, Вы писали:

DC>·> DC>Ну, так врать я тоже могу.у

DC>·> Я — свидетель.
DC>·> Ты лучше объясни что можно делать 9 секунд на скорости ~3GHz для одного человека рассчитывая ему зарплату за месяц?!

DC>Налоги, например. Расчёт по 10 ставкам, на которых работает человек...

DC>С учётом блокировок и мультипользовательского режима.

Пригрузить базу можно так, что она будет и год считать одного человека. Но к текущей теме это никак не относится.
The God is real, unless declared integer.
Re[26]: [Голосование] Нужен ли binary tree если есть hash та
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.06.17 17:17
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

G>>>>Во вторых вы слышали про RAM диск? Так что вам мешает его сделать? И чем тогда СУБД хуже?

WH>>>А ты про ACID слышал?
G>>Естественно.
WH>Непохоже.
WH>Как будешь обеспечивать ACID на RAM диске?

Ну, обычно считается, что это обеспечивает батарейка
Хотя весь этот разговор куда-то ушёл вкривь и вкось, и к исходной теме не относится.
The God is real, unless declared integer.
Re[19]: [Голосование] Нужен ли binary tree если есть hash та
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.06.17 17:19
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Все прекрасно работает. Возьми к примеру московскую биржу. Биржевые транзакии на оракле. Там сверх высокие требования по скорости и надежности. Сражения идут на наносекунды.


Оракл-то там зачем? Почему не специализированные средства?
The God is real, unless declared integer.
Re[17]: [Голосование] Нужен ли binary tree если есть hash таблица
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.06.17 17:22
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Ну поехали, предположим зарплата считается для интервьюеров. У нас есть логи работы интервьюера за месяц. Это табличка на 300 Гб. Мы бежим по логам и по определенным правилам начисляем бонусы. Продолжать? Сейчас теоретики скажут дескать вы каждый раз не бегайте, а вы при вставке записи в логи бонусы начисляйте. Так не катит, т.к. логи собираются глючной сторонней софтиной и их правят иногда руками. Так что проще поправить логи руками и пересчитать все заново.

G>Поехали!

Какой-то убойно особый случай. 99.999% предприятий не потребует и 1/100 этой машинерии.
The God is real, unless declared integer.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.