Это ответ РКН, не мой, я никак не связан с ними, просто частное лицо, родился и живу в России, эпизодически открываю статьи подобные этой и достаю попкорн.
У вас что без YouTube, Facebook, twitter жизни нет? Мне вас искренне жаль, тратить свое бесценное время жизни на поглощение информационного мусора…
Вот лично у меня жизнь от их полной блокировки никак не изменится, хотя тут я возможно лукавлю, вполне возможно что мне придется что то где то поправить у клиентов, ну так это работа.
Может вы думаете при их исчезновении будет пустота? Наивный юноша, через полгода на их месте будет 10 контор которые будут пытаться дуть вам в уши. А вы будете причмокивая поглощать.
Фэйсбук понизил в выдаче Российские новостные агенства. Говорят фэйки одни от них.
Ютюб постоянно пихает в выдаче всякую тематику по протестам в России, причем это явно не входит в зону моих интересов.
Reddit в последнее время тоже стал пинать в сообщения ссылки на какую-то помойку про свержение власти и тд.
США и подпевалы забанили RT
РКН ограничил скорость твитеру.
Жду когда РКН порежет скорость ютюбу и мордокниге (там есть куча контента за который по закону можно банить)
Ну вот есть компании аффилированные с правительством США, и они типа как частные компании давным давно ввели цензуру направленную на формирование своей картинки мира в других странах.
Есть РКН, который аффилирован с правительством России, и делает какую то ответку на эти действия.
Есть Китай, там вообще сделали свой китайнет с блэкджеком и шлюхами.
В общем идут нормальные цивилизованные отношения.
Если кто то страдает, это его проблемы, так всегда было и будет.
Частные компании не слышат претензии правительства суверенной страны, как наказать эти компании, ну только деньгами, ничего личного просто бизнес.
Цензуры в России нет, массовый клиент просто отсекается ограничением полосы пропускания.
Вообще с точки зрения логики ответ на твердую пятерку с плюсом, ну и вместо нытья на тему как все плохо что я не могу втыкать в твиттер: вам поляну освобождают, вперед в гараж свой твиттер делать.
Ну а кому очень надо в твиттер, технологий куча, его же не зарезали, просто ограничили полосу. Или он будет играть в рунете по правилам которые устанавливает государство, или станет песочницей маргиналов.
Высказал свое мнение, получил минусы, количество возможных комментариев в единицу времени уменьшилось.
Публикуют только что хотят, получили предупреждение, получили ограниченичение на пропускную полосу.
Вот по сути одно и тоже, «Вы не понимаете, это другое» ))
Ой боюсь… боюсь…
Вот читаю этот комент, и какое то дежавю всплывает в памяти… вспомнил. В детстве выступления генсеков… Какие гиганты мысли были… Лозунги с листа читали… Иногда весь день, пока не наступал день лебединого озера, потом был следующий. Так эт я к чему, вот ваш комент мне это сильно напомнил, только там все про Америку было, догнать перегнать и так далее, не дать так сказать империализму поднять свою вонючую пасть на святую демок… ох… коммунистическую партию.
Тут есть забавная штука, эти «паспорта» в реальной жизни и в бигдате встречаются очень часто, зовутся по другому, объемы сильно другие, а сама задача звучит так же. Только цифры на несколько порядков больше.
Вот эти 130 миллионов int64 можно рассматривать как 10 массивов с int32, и уже кратный разрыв по памяти и объему, а можно как разреженный битмэп, и там уже много порядков.
Реальный кейс:
есть N категорий, есть поток данных по этим категориям, в каждом сообщении есть идентификатор(уникальный), и поле с набором категорий
скорость потока 200k rps в секунду
сервис соответственно должен формировать для каждой категории множество идентификаторов
Далее нужно иметь возможность формировать множества по разным категориям, собственно все операции со множествами.
И хочется это иметь в разрезе времени, шаг 5 минут.
Типовой идентификатор int128
По сути та же задача, только цифры немного другие.
Мне сильно любопытно, почему при таких маленьких расходах на железо процветает hetzner...)
Я вот не знаю кто в вашем понимании практики, последние лет 5 в основном сталкивался с большими данными, и там постоянная проблема, на одну машину не влезает (ну есть ограничения по памяти, тупо материка больше не поддерживает, никакая.)
а хадупы и тд уже сильно дороже, тупо аренда железа под хадуп на 700 терабайт реплицированного диска уже гдет по 50 — 70 к $ в месяц.
И вот слушаю я все эти память дешёвая, и нет слов у меня.
Парни, вы статью то прочитайте, паспорта положили в redis, там есть встроенная поддержка Roaring Bitmaps, из коробки, данный алгоритм в общем то скорей всего является оптимальным для этой задачи. И rps и тд все практически идеально.
И это в 40 мегабайтах, а вы все со своими хэштаблицами на 10 гигов…
Если убрать весь нефункциональный код типа скачать распарсить и тд., останется вызов двух команд redis:
«Используем команды SETBIT/GETBIT»
ну я уж не знаю…
Если программист получает 100$ в час, то есть (после налогов?) 16k в месяц, тупо не знает алгоритмов и просто решает задачу всегда в лоб (16k в месяц это явно не аутсорсинг с Индии) Его руководителей, как и его, надо просто гнать.
2 — 3 часа это заняло у меня, я не профессиональный программист, для меня это просто хобби.
Ну и еще раз по комментарию выше:
0.001% это проверка паспортов ~ 10 гигов по вашим словам, памяти которая дешевле чем подумать.
с такой логикой как у вас, 1% это уже 10 * 1000 = 10TB оперативы
весь сервис с таким подходом, спокойно уместится в 1000TB оперативной памяти.
упс… Остапа понесло…
Да нет тут никакой загадки, просто лень. Да и даже при зарплате в 35к в месяц проще купить готовую чем озадачиваться. 35к это от 70 до 175 килограмм мяса в месяц, этого явно хватает на поесть.
Карп фаршированный тертой морковкой с чесноком солью и перцем…
Ключевой момент рецепта, в момент помещения в духовку он еще должен бить хвостом ))
блин… чет завтра съезжу куплю живого, приготовлю…
Ну а так то и красной рыбки иногда хочется…
Насчет сыров, покупаю сыры Олега Сироты, ценник от 800 до 2000 р за килограмм, вкус лично мне нравится ))
Но вообще есть и другие производители тоже с очень хорошим качеством (на мой вкус)
Понятно что это не массовый сегмент, но в общем то и европейские сыры массовым сегментом никогда не были, так что насчет контрсанкций спорно, лично я вижу пока с них только плюсы (в долгосрочке).
Мой первый комент, 2 разных языка, под капотом просто отсортированные массивы.
Время доступа константа, размер массивов на тот момент было около 300 мегов ( тогда список не валидных паспортов был всего 90 миллионов).
10 знаков это 10 массивов с int32 внутри.
Без битмэпов, тогда либ не было готовых.
Так что да ))
Но если бы писал сейчас реализовывал бы тоже на разреженных битмэпах, оно и эффективно да и алгоритм красивый )) Да и либы почти на всех языках есть, они уже даже способ хранения стандартизировали. В статье используется redis, там эта реализация битмэпов под капотом.
Какая дальнейшая оптимизация? Вы о чем?
Я эту задачу решал 5 лет назад, первое решение это вечер за компом, 120 строк кода. Потом по необходимости добавил веб + прочие плюшки в итого выросло до 400 строк.
Без хэш таблиц, просто сортированный массив, 5 лет назад кстати оперативная память была сильно дороже, если быть точным, то на сервере где крутился фронт от сервиса было 8 гигов оперативы (это весь сервис, паспорта там 0.001% функционала), на бэкэнде было 16 гигов.
Если бы писал сейчас, тоже бы взял разреженные битмассивы, либы потому что сейчас есть, тогда их просто на том языке на котором писал не было.
Ну если внимательней прочитать статью «Всего в списке около 130 миллионов записей»
С этого момента становится интересней?
А 10 миллионов влезет.
Сорри, не 10 000 000 а 130 000 000 по 34 бита из 10 миллиардов.
Думаю на этой ноте про хэш таблицы разговор стоит закончить.
У вас что без YouTube, Facebook, twitter жизни нет? Мне вас искренне жаль, тратить свое бесценное время жизни на поглощение информационного мусора…
Вот лично у меня жизнь от их полной блокировки никак не изменится, хотя тут я возможно лукавлю, вполне возможно что мне придется что то где то поправить у клиентов, ну так это работа.
Может вы думаете при их исчезновении будет пустота? Наивный юноша, через полгода на их месте будет 10 контор которые будут пытаться дуть вам в уши. А вы будете причмокивая поглощать.
Ютюб постоянно пихает в выдаче всякую тематику по протестам в России, причем это явно не входит в зону моих интересов.
Reddit в последнее время тоже стал пинать в сообщения ссылки на какую-то помойку про свержение власти и тд.
США и подпевалы забанили RT
РКН ограничил скорость твитеру.
Жду когда РКН порежет скорость ютюбу и мордокниге (там есть куча контента за который по закону можно банить)
Ну вот есть компании аффилированные с правительством США, и они типа как частные компании давным давно ввели цензуру направленную на формирование своей картинки мира в других странах.
Есть РКН, который аффилирован с правительством России, и делает какую то ответку на эти действия.
Есть Китай, там вообще сделали свой китайнет с блэкджеком и шлюхами.
В общем идут нормальные цивилизованные отношения.
Если кто то страдает, это его проблемы, так всегда было и будет.
Частные компании не слышат претензии правительства суверенной страны, как наказать эти компании, ну только деньгами, ничего личного просто бизнес.
Цензуры в России нет, массовый клиент просто отсекается ограничением полосы пропускания.
Вообще с точки зрения логики ответ на твердую пятерку с плюсом, ну и вместо нытья на тему как все плохо что я не могу втыкать в твиттер: вам поляну освобождают, вперед в гараж свой твиттер делать.
Ну а кому очень надо в твиттер, технологий куча, его же не зарезали, просто ограничили полосу. Или он будет играть в рунете по правилам которые устанавливает государство, или станет песочницей маргиналов.
Публикуют только что хотят, получили предупреждение, получили ограниченичение на пропускную полосу.
Вот по сути одно и тоже, «Вы не понимаете, это другое» ))
Вот читаю этот комент, и какое то дежавю всплывает в памяти… вспомнил. В детстве выступления генсеков… Какие гиганты мысли были… Лозунги с листа читали… Иногда весь день, пока не наступал день лебединого озера, потом был следующий. Так эт я к чему, вот ваш комент мне это сильно напомнил, только там все про Америку было, догнать перегнать и так далее, не дать так сказать империализму поднять свою вонючую пасть на святую демок… ох… коммунистическую партию.
Да и while всяких много ))
тут тонна кода по работе с базой
тут ваяют графический интерфейс
размерность как раз на 10 милиардов. Это не много, у гугла на несколько порядков больше размерность id.
Вот эти 130 миллионов int64 можно рассматривать как 10 массивов с int32, и уже кратный разрыв по памяти и объему, а можно как разреженный битмэп, и там уже много порядков.
Реальный кейс:
есть N категорий, есть поток данных по этим категориям, в каждом сообщении есть идентификатор(уникальный), и поле с набором категорий
скорость потока 200k rps в секунду
сервис соответственно должен формировать для каждой категории множество идентификаторов
Далее нужно иметь возможность формировать множества по разным категориям, собственно все операции со множествами.
И хочется это иметь в разрезе времени, шаг 5 минут.
Типовой идентификатор int128
По сути та же задача, только цифры немного другие.
По факту готовое хранилище. Хотя кстати redis тоже умеет, но не из коробки.
Я вот не знаю кто в вашем понимании практики, последние лет 5 в основном сталкивался с большими данными, и там постоянная проблема, на одну машину не влезает (ну есть ограничения по памяти, тупо материка больше не поддерживает, никакая.)
а хадупы и тд уже сильно дороже, тупо аренда железа под хадуп на 700 терабайт реплицированного диска уже гдет по 50 — 70 к $ в месяц.
И вот слушаю я все эти память дешёвая, и нет слов у меня.
И это в 40 мегабайтах, а вы все со своими хэштаблицами на 10 гигов…
Если убрать весь нефункциональный код типа скачать распарсить и тд., останется вызов двух команд redis:
«Используем команды SETBIT/GETBIT»
ну я уж не знаю…
2 — 3 часа это заняло у меня, я не профессиональный программист, для меня это просто хобби.
Ну и еще раз по комментарию выше:
0.001% это проверка паспортов ~ 10 гигов по вашим словам, памяти которая дешевле чем подумать.
с такой логикой как у вас, 1% это уже 10 * 1000 = 10TB оперативы
весь сервис с таким подходом, спокойно уместится в 1000TB оперативной памяти.
упс… Остапа понесло…
Ключевой момент рецепта, в момент помещения в духовку он еще должен бить хвостом ))
блин… чет завтра съезжу куплю живого, приготовлю…
Ну а так то и красной рыбки иногда хочется…
Но вообще есть и другие производители тоже с очень хорошим качеством (на мой вкус)
Понятно что это не массовый сегмент, но в общем то и европейские сыры массовым сегментом никогда не были, так что насчет контрсанкций спорно, лично я вижу пока с них только плюсы (в долгосрочке).
Время доступа константа, размер массивов на тот момент было около 300 мегов ( тогда список не валидных паспортов был всего 90 миллионов).
10 знаков это 10 массивов с int32 внутри.
Без битмэпов, тогда либ не было готовых.
Так что да ))
Но если бы писал сейчас реализовывал бы тоже на разреженных битмэпах, оно и эффективно да и алгоритм красивый )) Да и либы почти на всех языках есть, они уже даже способ хранения стандартизировали. В статье используется redis, там эта реализация битмэпов под капотом.
Я эту задачу решал 5 лет назад, первое решение это вечер за компом, 120 строк кода. Потом по необходимости добавил веб + прочие плюшки в итого выросло до 400 строк.
Без хэш таблиц, просто сортированный массив, 5 лет назад кстати оперативная память была сильно дороже, если быть точным, то на сервере где крутился фронт от сервиса было 8 гигов оперативы (это весь сервис, паспорта там 0.001% функционала), на бэкэнде было 16 гигов.
Если бы писал сейчас, тоже бы взял разреженные битмассивы, либы потому что сейчас есть, тогда их просто на том языке на котором писал не было.
С этого момента становится интересней?
А 10 миллионов влезет.
Сорри, не 10 000 000 а 130 000 000 по 34 бита из 10 миллиардов.
Думаю на этой ноте про хэш таблицы разговор стоит закончить.