Search
Write a publication
Pull to refresh
5
5
Владислав Щапов @phprus

Манул

Send message

Sharding – patterns and antipatterns

Reading time23 min
Views34K


Константин Осипов ( kostja ), Алексей Рыбак ( fisher )


Константин Осипов: Доклад родился из следующего разговора. Я, как всегда, пытался убедить Алексея больше использовать Tarantool, а он сказал, что там до сих пор нет шардинга и, вообще, неинтересно. Тогда мы стали рассуждать о том, почему нет. Я стал рассказывать, что тут нет одного универсального решения, автоматика полная за вас работает, а вы только кофе на работе пьете и все…

Поэтому родился этот доклад — чтобы посмотреть на то, какой бывает шардинг, какие методы в каких системах используются, какие преимущества и недостатки, почему нельзя одной «серебряной пулей» все решить?

Читать дальше →

Как бороться с киберпреступлениями, извлекая при этом неплохую прибыль

Reading time10 min
Views25K
Зло «борется» со злом или как одни преступники делают вид, что борются с другими

Ели кто помнит, в начале 2000-х была такая поговорка: «Бабло побеждает зло», которая потом превратилась в «Добро побеждает бабло». В нашей же истории «Зло побеждает добро, борясь со злом».



Онсе упон э тайм решили мы создать очередной школохост хостинговую компанию по предоставлению в аренду VPS и прочих выделенных серверов. Инвесторы к проекту отнеслись осторожно. Сказали:
«Идея, конечно, классная, свежая, на рынке ничего подобного нет (если вдруг читает Шелдон Купер — sarcasm)… Но так, как тема новая, денег больших дадим только после того, как убедимся, что проект рабочий».
И их понять, конечно, можно. Сколько было стартапов, которые после получения инвестиций и покупки клевых офисов с секретаршами, кофемашинами и мощными игровыми компами вдруг понимали, что их продукт почему-то никому не нужен, и глупые клиенты не выстраиваются в очередь за гениальным приложением. Заключили договор с дата центром (работа дата центра это отдельный роман на тему «как не надо строить бизнес в области телехауса», и, возможно, я даже напишу об этом позже). Закупили сервера, хранилища, «циски», купили лицензии на софт, заключили договора с апстримами, взяли в аренду у друзей 22-ю сеть и начали работать, показывая инвесторам, насколько крут бизнес в области «облаков» и прочих выдумок маркетологов. Сервера были свежие, хранилища быстрые, цены доступные и народ пошел. Все, казалось бы, хорошо. Знай, закупай новые блейд-корзины и увеличивай долю на рынке.
Читать дальше →

Сводная таблица РД ФСТЭК (до профилей защиты) по порядку и в разрезе грифов

Reading time3 min
Views67K
Количество РД/НД ФСТЭК растет, некоторым действующим [открытым] документам вот-вот стукнет четверть века!
Студенты и выпускники ВУЗов младше многих из этих основополагающих документов — вот где достойный классиков «конфликт поколений»!
Чтобы помочь студентам с освоением РД/НД ФСТЭК [ГОСТЕХКОМИССИИ], проложить мостик между «наследием» и «современными веяниями», документы сведены в единую таблицу и распределены по отношению к грифу обрабатываемой информации.
Перебрав различные подходы, метрика по грифу информации оказалась наиболее наглядной и универсальной.
Подробного разбора документов не будет, цель — построить наглядное системное представление о документах, об их взаимосвязи.
Далее

Netstat, где мои дейтаграммы?

Reading time6 min
Views21K

Вероятно, что трудно найти другую, настолько же полезную и плохо документированную программу, как Netstat, имеется в виду, опция показа статистики сетевого потока данных. Когда мы проводим инспекцию состояния сети на отдельно взятом Linux узле, всегда можно быть уверенным, что это утилита имеется в наличии. И вот мы хотим понять — справляется ли сетевой стэк с нагрузкой, или проблема на верхних этажах OSI, собственно там, где сосредоточенно крутятся колесики бизнес-логики нашего приложения.




(5:562)$ netstat -s |wc -l
124

Ура, у нас куча полезной информации, сейчас мы быстренько сообразим, что к чему. Вот только бы понять, что же это за зверь такой timeout in transit, явно что-то нехорошее.

Читать дальше →

Создание разделяемого хранилища на базе CEPH RBD и GFS2

Reading time8 min
Views17K
Большинство ПО кластерных систем предполагает наличие файловой системы доступной со всех узлов кластера. Эта файловая система используется для хранения ПО, данных, для организации работы некоторых кластерных подсистем и т.д. Требования на производительность такой FS могут сильно отличаться для разных задач, однако, чем она выше, тем считается, что кластер более устойчив и универсален. NFS сервер на мастер-узле является минимальным вариантом такой FS. Для больших кластеров NFS дополняется развертыванием LustreFS — высокопроизводительной специализированной распределенной файловой системы, использующей несколько серверов в качестве хранилища файлов и несколько метаинформационных серверов. Однако такая конфигурация обладает рядом свойств, которые сильно затрудняют работу с ней в случае, когда клиенты используют независимые виртуализированные кластера. В системе HPC HUB vSC для создания разделяемой FS используется широко известное решение CEPH и файловая система GFS2.
main
Читать дальше →

Сага о кластере. Все, что вы хотели знать про горизонтальное масштабирование в Postgres‘е

Reading time17 min
Views25K


Олег Бартунов (zen), Александр Коротков (smagen), Федор Сигаев


Илья Космодемьянский: Сейчас будет самая животрепещущая тема по PostgreSQL. Все годы, что мы занимаемся консалтингом, первое, что спрашивают люди: «Как сделать мультимастер-репликацию, как добиться волшебства?». Много профессиональных волшебников будут рассказывать о том, как это сейчас хорошо и здорово реализовано в PostgreSQL — ребята из Postgres Professional в рамках этого доклада расскажут про кластер все. Название соответствующее — «Сага» — что-то эпическое и монументальное. Сейчас ребята из Postgres Professional начнут свою сагу, и это будет интересно и хорошо.

Итак, Олег Бартунов, Александр Коротков и Федор Сигаев.

Оптимизация кода: память

Level of difficultyHard
Reading time12 min
Views94K
Большинство программистов представляют вычислительную систему как процессор, который выполняет инструкции, и память, которая хранит инструкции и данные для процессора. В этой простой модели память представляется линейным массивом байтов и процессор может обратиться к любому месту в памяти за константное время. Хотя это эффективная модель для большинства ситуаций, она не отражает того, как в действительности работают современные системы.

В действительности система памяти образует иерархию устройств хранения с разными ёмкостями, стоимостью и временем доступа. Регистры процессора хранят наиболее часто используемые данные. Маленькие быстрые кэш-памяти, расположенные близко к процессору, служат буферными зонами, которые хранят маленькую часть данных, расположеных в относительно медленной оперативной памяти. Оперативная память служит буфером для медленных локальных дисков. А локальные диски служат буфером для данных с удалённых машин, связанных сетью.

image

Иерархия памяти работает, потому что хорошо написанные программы имеют тенденцию обращаться к хранилищу на каком-то конкретном уровне более часто, чем к хранилищу на более низком уровне. Так что хранилище на более низком уровне может быть медленнее, больше и дешевле. В итоге мы получаем большой объём памяти, который имеет стоимость хранилища в самом низу иерархии, но доставляет данные программе со скоростью быстрого хранилища в самом верху иерархии.
Читать дальше →

Format preserving encryption или как правильно шифровать номера кредиток

Reading time5 min
Views12K

Привет, %username%! Сегодня у нас немного пятничная криптотема. В марте 2016 года вышла интересная публикация от NIST под номером 800-38G (pdf) и с очень интересным называнием Recommendation for Block Cipher Modes of Operation:Methods for Format-Preserving Encryption, в которой отписываются два алгоритма, позволяющие не менять формат данных при шифровании. То есть, если это будет номер кредитки 1234-3456-4567-6678, то после шифрования он тоже останется номером, просто другим. Например 6243-1132-0738-9906. И это не простой xor, там AES и вообще всё серьезно. Давайте немного поговорим о FPE вообще, и об одной из реализаций в частности.
А так можно вообще?

Генерируем псевдослучайные ID а-ля Youtube

Reading time4 min
Views25K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →

Над RethinkDB сгущаются тучи?

Reading time3 min
Views12K

Подозреваю, что у нас мало кто использует продукты этой компании. Хотя, как минимум, их одноимённая СУБД стоит внимания. На хабре видел пару статей всего.

К сожалению, компания RethinkDB, развивающая одноимённую СУБД и web-платформу Horizon, объявила о закрытии. После 7 лет разработки из-за неспособности организовать устойчивый бизнес основатели были вынуждены свернуть свою деятельность. СУБД RethinkDB и платформа Horizon передаются в руки сообщества. Код RethinkDB распространяется под лицензией AGPLv3, а Horizon под лицензией MIT.
Читать дальше →

Исследователи из Intel и Университета Северной Каролины ускорили обмен данными между ядрами ЦП в 2-12 раз

Reading time4 min
Views16K

Топология седьмого поколения процессоров Intel Core (бывшее кодовое название Kaby Lake), которые появятся в продаже в конце 2016 года. Фото: Intel

Группа исследователей из Университета Северной Каролины и компании Intel разработали технологию аппаратного ускорения CAF (Core to Core Communication Acceleration Framework), которая способна значительно ускорить обмен данными между ядрами процессора. Устранив это бутылочное горлышко, производители наконец-то смогут наращивать количество ядер в ЦП без экспоненциального роста служебного трафика между ними.
Читать дальше →

БАК увеличил аптайм до 70% и ставит рекорды по количеству столкновений

Reading time4 min
Views16K

Небольшая часть сотрудников коллаборации CMS на фоне полномасштабной фотографии компактного мюонного соленоида (CMS)

На Большом адронном коллайдере обрабатывается как никогда много столкновений протонов: примерно 1 миллиард в секунду. Это очень много. Изначально коллайдер не предполагалось использовать настолько интенсивно. Только в этом году БАК собрал больше данных, чем за все предыдущие годы эксплуатации, вместе взятые.

Главная причина увеличения количества экспериментов — высокая надёжность коллайдера даже с повышением энергии до 13 ТэВ. На БАК почти не было простоев в этом году. Физики сейчас пытаются собрать больше информации о бозоне Хиггса — элементарной частице, которая образуется примерно один раз на миллиард столкновений.
Читать дальше →

Mozilla и Apple забанят удостоверяющие центры WoSign и StartCom

Reading time6 min
Views53K

Расследование, проведённое Mozilla, показало, что китайский удостоверяющий центр WoSign (о бесплатных сертификатах которого был ряд статей на Хабре) за последние пару лет допустил вопиющее количество нарушений.
Читать дальше →

Docker в работе. Взгляд на его использование в Badoo (год спустя)

Reading time19 min
Views33K

Антон Турецкий (Badoo)


Антон Турецкий

Сегодня я приглашу вас на такую внутреннюю кухню Badoo расскажу о том, нужен ли Docker нам. Вы попробуете сделать выводы для себя, нужен ли он вам. Этой информации на просторах Интернета, соответственно, нет, потому что она вся вот такая – в нашем тесном узком кругу.



В течение доклада я расскажу про самую значимую вещь, которая касается того, с чего надо начинать выполнение любой задачи. Надо решить, зачем вы ее делаете, зачем вы за это беретесь?

Для себя мы на эти вопросы ответили, без проблем у нас не было бы никакого внедрения. Какую-то часть проблем мы решаем. Я выделил основные из них, я расскажу вам о них и о том, как мы с ними справились. В конце я порекламирую нас, какие мы замечательные, как мы любим всякие-разные новые велосипеды, как мы их делаем, смотрим, изобретаем. Я вам их покажу, про них расскажу, вы составите какое-то свое мнение. Итак, поехали!

Подводные камни Bash

Reading time32 min
Views99K


В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.


Читать дальше →

Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные

Reading time9 min
Views23K

Яндекс, как и любая другая большая интернет-компания, хранит много, а точнее очень много данных. Это и пользовательские данные из разных сервисов, и намайненные сайты, и промежуточные данные для расчёта погоды, и резервные копии баз данных. Стоимость хранения ($/ГБ) — один из важных показателей системы. В этой статье я хочу рассказать вам про один из методов, который позволил нам серьезно удешевить хранилище.




В 2015 году, как вы все помните, сильно вырос курс доллара. Точнее, расти-то он начал в конце 2014-го, но новые партии железа мы заказывали уже в 2015-м. Яндекс зарабатывает в рублях, и поэтому вместе с курсом выросла и стоимость железа для нас. Это заставило нас в очередной раз подумать о том, как сделать, чтобы в текущий кластер можно было положить больше данных. Мы такое, конечно, делаем регулярно, но в этот раз мотивация была особенно сильной.


Каждый сервер кластера предоставляет для нас следующие ресурсы: процессор, оперативную память, жёсткие диски и сеть. Сеть здесь — более сложное понятие, чем просто сетевая плата. Это ещё и вся инфраструктура внутри дата-центра, и связность между разными дата-центрами и точками обмена трафиком. В кластере для обеспечения надёжности применялась репликация, и суммарный объём кластера определялся исключительно через суммарную ёмкость жёстких дисков. Нужно было придумать, как обменять оставшиеся ресурсы на увеличение места. Кстати, если после поста у вас останутся вопросы, которые бы вы хотели обсудить лично, приходите на нашу встречу.


Читать дальше →

Минпромторг опубликовал списки производителей, которые получат государственные субсидии на разработку электроники

Reading time3 min
Views16K


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

Условно списки можно разделить на производителей «тонкой» электронники и аппаратных вычислительных комплексов и производителей, продукция которых обеспечит развитие инфраструктуры и создание телекоммуникационного оборудования.

Сумма субсидий на 2016 год для 46 одобренных из 54 поданных заявок по первому протоколу от 26 сентября (телекоммуникации) и 27 одобренных из 29 поданных заявок по второму протоколу от 27 сентября (вычислительная техника) составит 30 млрд рублей.

Всего до конца 2025 года правительство планирует потратить на развитие отрасли 173,9 млрд рублей.
Читать дальше →

Виртуальный суперкомпьютер по требованию

Reading time5 min
Views11K
Виртуальный суперкомпьютер (vSC) — это современная альтернатива использованию собственных суперкомпьютерных мощностей для наукоемкого бизнеса и научных групп при решении ресурсоемких задач. В процессе бурного развития облачных технологий клаудизация начала проникать в наиболее сложные IT-сферы — суперкомпьютинг и распределенные вычисления. Один из возможных подходов к задаче клаудизации HPC реализован компанией HPC HUB.

КДПВ

Читать дальше →

Что такое большие данные, часть 3

Reading time15 min
Views23K


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


Вторая часть объяснила сам термин Big Data и показала, как он превратился в индустрию, причиной появления для которой стало влияние экономики. Эта, третья часть, в которой должно быть логическое продолжение предыдущих двух и у всего этого должен появиться смысл — грустная, местами ироничная, а местами пугающая. Вы видите сами, как технологические, бизнес, и даже социальные контракты в перспективе уже переопределялись большими данными таким путём, который мы только сейчас начинаем понимать. И, возможно, они никогда уже не станут контролируемыми.


С помощью чего бы не проводился анализ — суперкомпьютера или составленной вручную в 1665 году таблицы из списков мёртвых, некоторые аспекты больших данных существовали гораздо дольше, чем мы можем представить.


Темная сторона больших данных. Исторически роль больших данных не всегда была кристально чистотой. Идея переработки цифр, приводящей к количественной рационализации для чего-то, что мы и так хотели сделать, существует с тех пор, как у нас появились лишние деньги.

Читать дальше →

Обходим детектирование виртуальной машины программами в VMWare

Reading time3 min
Views147K
Разработчики вирусного ПО и просто разработчики, не желающие, чтобы их программу пытались реверсить, на этапе запуска или установки проводят проверки на виртуальную машину, и в случае её обнаружения отказываются работать, а то и вовсе самоликвидируются. Под катом описан способ, как можно попробовать решить эту проблему.
Читать дальше →

Information

Rating
378-th
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity