20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Когда сто...IT-Portfolio20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Когда стоит написать свою БД", Олег Краснов (cистемный Архитектор SEMrush)
Аннотация
В 2008 году система хранения SEMrush была построена на базе сочетания SQL и файлового хранилища. Это позволило выдерживать нагрузку примерно до 3 миллионов запросов в день. Но уже в 2009 году было видно, что интерес к сервису растет стремительно и очень скоро старая система хранения будет основным сдерживающим фактором. Мы провели ряд экспериментов и в результате исследования остановились на собственной структуре хранения данных. Новая система была создана в предельно короткие сроки и уже через 3 месяца была введена в строй. Эта система используется и по сей день, хотя нагрузка выросла на порядок.
В докладе будет освещены история и методы построения хранилища данных проекта SEMrush. В ходе выступления будет проведена ретроспектива требований. Также докладчик расскажет об особенностях применяемого хранилища данных и отличиях от стандартных методов и средств. В том числе, будут освещены перспективы данной технологии применительно к реалиям и новым потребностям проекта.
О компании
Сегодня SEMrush – ведуший сервис для анализа конкурентов. Он позволяет узнать кейворды, по которым любой домен или сайт попадает в AdWords, выдачу Google и Bing. В отличие от других инструментов, которые позволяют анализировать только ваши собственные данные, SEMrush дает возможность изучить рекламные тексты конкурентов и собирает сведения об их бюджетах на продвижение в поисковиках.
Защита веб-ресурса от DDoS-атак на примере нашего клиента - Rutracker.orgIT61Дмитрий Рудь, Head Of Key Account Department, DDoS-GUARD, d.rud@ddos-guard.net
Фильтрация и очистка трафика по схеме SECaaS на примере подключения Рутрекера к сервису защиты от ddos-атак провайдера DDoS-GUARD. Что такое ddos, как осуществляется фильтрация, про типы атак по протоколам. Статистика, чутка анализа.
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминHOWWEDOIT— Как мы пришли к использованию ClickHouse.
— Сильные и слабые стороны.
— Практические кейсы использования ClickHouse для решения аналитических задач.
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...HappyDevБольшие объемы данных и огромное число запросов в единицу времени - особенности систем, о которых рассказано в докладе.
Анализируем данные с ClickhouseАлександр СигачевПримеры использования базы clickhouse для анализа данных.
Экспорт данных access.log в clickhouse. Примеры анализа скорости пользователей на основе логов сервера.
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...YandexВ условиях постоянного роста объёма данных нам нужно расширять хранилище на всё большее количество машин и дата-центров. А чем больше у нас железа, тем чаще что-нибудь ломается, и это приводит к всё более неожиданным проблемам.
Я расскажу об архитектуре бесконечно расширяемого хранилища для пользовательского контента сервисов Яндекса. Вы узнаете, почему мы отказались от DHT, как используем Elliptics и что такое Mastermind.
Спецкурс Разработка серверов и серверных приложений лекция №1Eugeniy TyumentcevВ 70-годах прошлого века в ИТ-отрасли сложилось стойкое убеждение, что будущее будет за многопроцессорными системами. Активно разрабатывались методы написания параллельных программ, в том числе и модель акторов Карла Хьюита. Однако все попытки создать многопроцессорную систему завершились провалом - полученные системы оказались дорогими и существенно не превосходили однопроцессорные системы. Самым известным провалом стал японский проект по разработке вычислительных машин 5-го поколения, на который было потрачено 500 млн. долларов. Причина заключается в законе Амдала, который устанавливает ограничения на увеличение производительности при распараллеливании программ. Кроме того, на рынке появилась компания Intel, которая сумела создать успешный однопоточный процессор и постепенно наращивать производительность своих процессоров. Это было время, когда программистам для ускорения своих программ не надо было делать ничего - достаточно дождаться более мощной версии процессора. Только спустя 30 лет, когда Intel уперлась в технологические проблемы наращивания производительности процессоров в лоб, интерес к параллельным технологиям опять возрос. Возникает резонный вопрос: этот интерес надолго или опять повторится история 70-х? В статье Герба Саттера 2005 года Бесплатного супа больше не будет: фундаментальный поворот к параллельности в программном обеспечении утверждается, что нет - больше не возврата к однопоточным программам, и программисты теперь будут вынуждены заботиться о параллельности...
Исследование работы Кэш-памяти центрального процессораSemen MartynovИсследование работы Кэш-памяти
центрального процессора при помощи динамического профилировщика Intel Pin
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...HappyDevБольшие объемы данных и огромное число запросов в единицу времени - особенности систем, о которых рассказано в докладе.
Анализируем данные с ClickhouseАлександр СигачевПримеры использования базы clickhouse для анализа данных.
Экспорт данных access.log в clickhouse. Примеры анализа скорости пользователей на основе логов сервера.
Архитектура бесконечного хранилища для пользовательского контента — Артём Сок...YandexВ условиях постоянного роста объёма данных нам нужно расширять хранилище на всё большее количество машин и дата-центров. А чем больше у нас железа, тем чаще что-нибудь ломается, и это приводит к всё более неожиданным проблемам.
Я расскажу об архитектуре бесконечно расширяемого хранилища для пользовательского контента сервисов Яндекса. Вы узнаете, почему мы отказались от DHT, как используем Elliptics и что такое Mastermind.
Спецкурс Разработка серверов и серверных приложений лекция №1Eugeniy TyumentcevВ 70-годах прошлого века в ИТ-отрасли сложилось стойкое убеждение, что будущее будет за многопроцессорными системами. Активно разрабатывались методы написания параллельных программ, в том числе и модель акторов Карла Хьюита. Однако все попытки создать многопроцессорную систему завершились провалом - полученные системы оказались дорогими и существенно не превосходили однопроцессорные системы. Самым известным провалом стал японский проект по разработке вычислительных машин 5-го поколения, на который было потрачено 500 млн. долларов. Причина заключается в законе Амдала, который устанавливает ограничения на увеличение производительности при распараллеливании программ. Кроме того, на рынке появилась компания Intel, которая сумела создать успешный однопоточный процессор и постепенно наращивать производительность своих процессоров. Это было время, когда программистам для ускорения своих программ не надо было делать ничего - достаточно дождаться более мощной версии процессора. Только спустя 30 лет, когда Intel уперлась в технологические проблемы наращивания производительности процессоров в лоб, интерес к параллельным технологиям опять возрос. Возникает резонный вопрос: этот интерес надолго или опять повторится история 70-х? В статье Герба Саттера 2005 года Бесплатного супа больше не будет: фундаментальный поворот к параллельности в программном обеспечении утверждается, что нет - больше не возврата к однопоточным программам, и программисты теперь будут вынуждены заботиться о параллельности...
Исследование работы Кэш-памяти центрального процессораSemen MartynovИсследование работы Кэш-памяти
центрального процессора при помощи динамического профилировщика Intel Pin
«Рынок ЦОД: состояние, тенденции, перспективы»BDA
• Мировой рынок ЦОД. Изменение динамики роста ЦОД, появление новых технологий, закрытие старых ЦОДов.
• Крупнейшие ЦОДы в мире.
• Российский рынок ЦОД. Объемы, выручка, рост.
• Определяющие тенденции ЦОДо-строения: модульность, PUE, масштабируемость, экологичность
• Рынок ЦОД в России. Операторы связи, коммерческие, корпоративные.
• Статистика рынка ЦОД. Игроки, объемы, распределение по стране.
• Модульные технологии Stack Data Network, новые проекты.
Зайцев Сергей Валерьевич, директор Управления регионального развития Stack Data Network(Москва)[/b]
Презентация к защите курсовой работы на заказ на www.studentam-in.ruAlexandr KonfidentsialnoЗаказ курсовых, контрольных; создание презентации, баннера, контента, сайта и многое другое студентам на studentam-in.ru
Где сегодня использовать ElasticSearchИлья СередаПро некоторые кейсы использования elasticsearch в современных проектах.
- С какими сложностями столкнулись
- Где успешо применили elasticsearch, а где был избыточен
Презентация с мероприятия https://habr.com/ru/company/odnoklassniki/blog/452978/
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...OnticoКаждый разработчик web приложений рано или поздно сталкивается с довольно типичной проблемой: перед ним стоит задача построить фабрику по производству омнониевых торсиометров.
Фабрика производит омнониевые торсиометры очень быстро, но для калибровки прибора (как известно) необходим омноний, за которым приходится летать на Андромеду.
Пока корабль летит до Андромеды, фабрика простаивает.
Самый очевидный выход из ситуации - построить склад омнониума прямо рядом с фабрикой.
Терминология кэширования
Выбор места для кэширования в WEB
Выбор данных для кэширования
Кэширование на стороне бэкенда
Отдельный кэширующий сервис
Пара слов о memcached
Пара слов о Redis
Автоматизированная информационная система «Электронное дело»КРОКАИС «Электронное дело» предназначена для оперативного формирования электронного хранилища документов судебных дел, рассматриваемых в Арбитражном суде г.Москвы. Система позволяет получить электронный аналог бумажного судебного дела.
Презентация технологии веб-кластеров 1С-БитриксПрезентация технологии веб-кластеров
Основные задачи, которые решает веб-кластер:
Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры)
Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры)
Балансирование нагрузки, трафика, данных между несколькими серверами
Создание целостной резервной копии данных для MySQL
Druid - Interactive Analytics At ScaleLohika_Odessa_TechTalksDruid is one useful and popular tool in the Big Data world. It is this OLAP system that allows you to efficiently process, store and query data. Which confirms the demand for Druid among tools in the Big Data processing environment.
With Vladimir Iordanov we will talk about how Druid works, what it consists of and what its capabilities are. Vladimir will introduce us to the Druid components, talk about the cluster architecture, how data processing is going on.
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Tanya Denisyuk"Контейнеры могут динамически появляться и исчезать, являются легковесными, не резервируют все необходимые ресурсы при старте, потому их оркестрация дается не простой ценой. Каждый из виртуальных контейнеров в один момент времени может потребовать максимум доступных ему ресурсов и это может привести к тому, что закончатся все ресурсы на физическом сервере, на котором они размещаются. В докладе мы поговорим о механизме, который решает эту непростую задачу, и умеет проводить непрерывную балансировку нагрузки, перемещать контейнеры с одного физического сервера на другие для проведения технических работ без простоя приложений - умная живая миграция (Smart Live Migration).
Многие считают, что контейнеры не подходят для хранения важных данных, т.к. в любой момент они могут упасть и все данные пропадут навсегда. Мы расскажем как этого избежать с помощью технологии Software-defined-storage."
Testing, qa, qc. what the differenceISsoftThe document discusses the differences between testing, quality control (QC), and quality assurance (QA) in software development. It states that testing is the process of evaluating software to check if it meets requirements and finds errors, QC checks test results to identify defects in the finished product, and QA focuses on preventing defects by improving development processes.
Ranorex presentationISsoftThe document discusses Ranorex, a test automation tool that offers both script-free and programmatic testing. It can be used to automate testing of desktop, web, and mobile applications. The document provides an overview of Ranorex's capabilities and outlines how to install, record tests, create code modules, and generate reports with the tool. Contact and resource details are included at the end.
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoftПредлагаем вашему вниманию презентацию «BDD JBehave and Cucumber JVM + Appium for efficient cross-platform Mobile Automation». Этой презентацией сопровождался доклад Антона Семенченко, прочитанный 29 июня на конференции MobileOptimized 2014 в Минске.
Bdd and dsl как способ построения коммуникации на проектеISsoftThis document discusses Behavior Driven Development (BDD) and Domain Specific Languages (DSLs). It defines BDD as a formalized approach to effective communication between project teams using behavioral specifications, backlog items, acceptance tests and a ubiquitous language. DSLs are described as computer programming languages with limited expressiveness focused on a particular domain. The benefits of DSLs include improved productivity by making code easier to read and understand and avoiding duplication. DSLs can also help communicate with domain experts by providing a language for their domain. Potential problems with DSLs include lack of experience using or developing them and not having resources for the time required.
Sql practise for beginnersISsoftThis document provides an overview of databases and SQL. It discusses key concepts like database structure, normalization, keys, queries, joins, constraints and more. SQL is used to work with relational databases and allows users to define, manipulate and query data. Common SQL commands are explained like SELECT, INSERT, UPDATE, DELETE and more.
ToDoListISsoftThis document provides an overview of the ToDoList time management application. It describes the main features of ToDoList including creating tasks and subtasks, setting priorities and statuses, sorting tasks, setting reminders, and using Gantt charts and burn-down charts. It also notes that ToDoList is available on iOS and Android through mobile apps that sync with the desktop version using DropBox. The document concludes by thanking the reader and providing contact information for the author.
Prototype presentationISsoftThe Prototype design pattern allows the creation of new objects by copying existing objects, known as prototypes. This pattern avoids subclasses to create new types of objects, instead objects are created as copies of prototypes. The prototype encapsulates the details of its own cloning process to hide how copies are created. Clients only interact with the prototype interface to create copies without knowing the concrete classes.
решение одной из ключевых проблем компетенции Ba специалистовISsoftThis document discusses the role of business analysts (BA) as proxies between business and development teams. It notes that just as translators must understand cultural differences, BAs must deeply understand both business and IT domains. It then outlines a comprehensive 2-3 month program to train BAs in relevant programming and software development practices including object-oriented programming, UML, architectural patterns, and an introduction to Python programming. The program details various Python and visual programming concepts and tools including CPython, Blockly, external Blockly projects, and visual languages for children.
Development of automated tests for ext js based web sitesISsoftThe document discusses various automated testing tools that support the WebDriver protocol including BadBoy, Selenium, CodedUI, Siesta, HP Unified Functional Testing, and TestComplete. It provides details on the operating systems, browsers, automation types, documentation/support, licensing, and testing types supported by WebDriver and BadBoy. The document also discusses project structure, test method structure, variable values, parallel test execution using a hub, and locator strategies for WebDriver including CSS, custom classes, and JavaScript execution.
2. Кэш
Кэш (от фр. cacher — «прятать») — промежуточный буфер с
быстрым доступом, содержащий информацию, которая
может быть запрошена с наибольшей вероятностью.
3. Задачи кэширования
• ускорение обращения к данным, содержащимся
постоянно в памяти с меньшей скоростью доступа
• снижение нагрузки на сервер
• уменьшение трафика
4. Структура записи в кэше
• тег - идентификатор
• индекс — номер строки кэша в кэш-памяти
• смещение определяет порядковый номер байта внутри строки
5. Соответствие кэша и основной
памяти
идентификатор определяет соответствие между
элементами данных в кэше и их копиями в основной
памяти
6. Основные понятия
• Попадание кэша – использование элементов данных из кэша при
нахождении записи с совпадающим идентификатором.
• Промах кэша - элемент данных читается из основной памяти в
кэш при отсутствии записи с совпадающим идентификатором.
• Уровень попаданий или коэффициентом попаданий в кэш процент обращений к кэшу, когда в нём найден результат.
7. Виды кэширования
аппаратная реализация
• кэширование центрального процессора
• кэширование внешних накопителей
программная реализация
• кэширование интернет-страниц
• кэширование, выполняемое операционной системой
• кэширование результатов работы
8. Кэширование центрального процессора
• Кэш микропроцессора — кэш, используемый
микропроцессором компьютера для уменьшения среднего
времени доступа к компьютерной памяти.
• Является одним из верхних уровней иерархии памяти
11. Уровни кэша
• L1 cache - адресация команд и инструкций, но не их
временное хранение
• L2 cache, L3 cache - запись значений вычислений и
служебной информации
12. Политика записи кэша
• Сквозная запись (write through) - одновременно с кэш-памятью
обновляется оперативная память.
• Буферизованная сквозная запись (buffered write through) информация задерживается в кэш-буфере перед записью в
оперативную память и переписывается в оперативную память в
те циклы, когда ЦП к ней не обращается.
• Обратная запись (write back) - используется бит изменения в
поле тега, и строка переписывается в оперативную память
только в том случае, если бит изменения равен 1.
13. Кэширование, выполняемое операционной
системой
• набор страниц оперативной памяти, разделённых на буферы,
равные по длине блоку данных соответствующего устройства
внешней памяти;
• набор заголовков буферов, описывающих состояние
соответствующего буфера;
• хеш-таблицы, содержащей соответствие номера блока
заголовку;
• списки свободных буферов.
14. Кэширование интернет-страниц
• Процесс сохранения часто запрашиваемых документов на
(промежуточных) прокси-серверах или машине пользователя, с
целью предотвращения их постоянной загрузки с сервераисточника и уменьшения трафика
• Кэширование может производиться как в память, так и в
файловый кэш
15. Куки
•
ки (от англ. cookie — печенье) — небольшой фрагмент
данных, отправленный веб-сервером и хранимый на компьютере
пользователя.
• Веб-клиент при повторной попытке открыть страницу
соответствующего сайта пересылает этот фрагмент данных вебсерверу в виде HTTP-запроса.
16. Применение
• аутентификация пользователя;
• хранение персональных предпочтений и настроек пользователя;
• отслеживание состояния сеанса доступа пользователя;
• ведение статистики о пользователях.
17. Условия истечения срока хранения
• В конце сеанса (например, когда браузер закрывается), если
куки не являются постоянными.
• Дата истечения была указана и срок хранения вышел.
• Браузер удалил куки по запросу пользователя.
18. Недостатки куки
• Неточная идентификация
• Кража кук
• Подмена куки
• Межсайтовые куки
• Нестабильность между клиентом и сервером
• Срок действия куки
29. CCleaner
• CCleaner (ранее — Crap Cleaner) — это инструмент для очистки и
оптимизации 32-битных и 64-разрядных операционных систем
Microsoft Windows.
• Утилита была создана британской частной фирмой Piriform
Limited и написана на C++