Доклад Юрия Насретдинова на MoscowJS Meetup. "Как мы начали работать со стати...Badoo Development
Два года назад мы начали активно развивать нашу деплой-систему, и довольно быстро начали релизить код два раза в день. При этом обнаружилась проблема: мы всегда генерирали новую версию для всех статических файлов (js/css/img), что заставляло пользователей загружать заново всю «статику» при каждом деплое. Чтобы ускорить отдачу статики пользователям, мы перешли на пофайловое версионирование статических файлов и смогли сократить трафик на наши CDN-сервера в 3 раза (примерно до 500 Мбит/сек). Расскажем о том как мы это сделали.
Если раньше при старте нового проекта нам нужно было выбрать одну из доступных на тот момент SQL баз данных, то за последние 5 лет ситуация кардинально изменилась. Теперь выбор стал гораздо сложнее. SQL или NoSQL? Сloud или on-premises? Если SQL/NoSQL - то какая именно? А может использовать и то и другое?
В данном докладе мы постараемся представить общий обзор доступных сегодня решений для хранения данных и определиться с критериями выбора.
TechEd 2012 - Сценарии хранения и обработки данных в windows azureДенис Резник
The document provides an agenda for a Windows Azure keynote presentation. It is divided into several sections including an introduction to Windows Azure, creating applications on Windows Azure, solving problems with Windows Azure, Windows Azure internals, storage and data processing scenarios, authentication using Azure ACS, Service Bus for connecting cloud services to on-premises systems, and several lab sessions on topics like Windows Azure Virtual Machines, diagnosing issues, and deploying Active Directory and SharePoint to Windows Azure. Slide details include storage metrics showing over 4 trillion objects stored and average/peak request rates. There are also client logos and case studies presented.
Talk is called Deep Dive, so be prepared to hold your breath. In this talk we will take a look at the mechanisms of the SQL Server and literally dive into the bowels of SQL Server, going through all the stages of the request processing.
Доклад Юрия Насретдинова на MoscowJS Meetup. "Как мы начали работать со стати...Badoo Development
Два года назад мы начали активно развивать нашу деплой-систему, и довольно быстро начали релизить код два раза в день. При этом обнаружилась проблема: мы всегда генерирали новую версию для всех статических файлов (js/css/img), что заставляло пользователей загружать заново всю «статику» при каждом деплое. Чтобы ускорить отдачу статики пользователям, мы перешли на пофайловое версионирование статических файлов и смогли сократить трафик на наши CDN-сервера в 3 раза (примерно до 500 Мбит/сек). Расскажем о том как мы это сделали.
Если раньше при старте нового проекта нам нужно было выбрать одну из доступных на тот момент SQL баз данных, то за последние 5 лет ситуация кардинально изменилась. Теперь выбор стал гораздо сложнее. SQL или NoSQL? Сloud или on-premises? Если SQL/NoSQL - то какая именно? А может использовать и то и другое?
В данном докладе мы постараемся представить общий обзор доступных сегодня решений для хранения данных и определиться с критериями выбора.
TechEd 2012 - Сценарии хранения и обработки данных в windows azureДенис Резник
The document provides an agenda for a Windows Azure keynote presentation. It is divided into several sections including an introduction to Windows Azure, creating applications on Windows Azure, solving problems with Windows Azure, Windows Azure internals, storage and data processing scenarios, authentication using Azure ACS, Service Bus for connecting cloud services to on-premises systems, and several lab sessions on topics like Windows Azure Virtual Machines, diagnosing issues, and deploying Active Directory and SharePoint to Windows Azure. Slide details include storage metrics showing over 4 trillion objects stored and average/peak request rates. There are also client logos and case studies presented.
Talk is called Deep Dive, so be prepared to hold your breath. In this talk we will take a look at the mechanisms of the SQL Server and literally dive into the bowels of SQL Server, going through all the stages of the request processing.
MS Swit 2012 - Windows 8 Application LifecycleДенис Резник
As your customers move your app between the foreground and background, Windows manages your app’s usage of critical system resources. Come learn the fundamentals of Process Lifetime Management and how to structure your app to suspend and resume quickly, save app state properly, and behave consistently. We will also highlight ways to keep your app fresh using push notifications and tile interactivity. Understanding these critical concepts will help you deliver a continuous experience that customers expect.
SQL Server 2012 introduced columnstore indexes which provide significant performance improvements for data warehouse and analytics queries against large datasets. Columnstore indexes store data by column rather than by row, allowing queries to access only the relevant columns needed. This results in lower I/O and higher data compression compared to row storage. Columnstore indexes also use a new batch processing execution mode which can further improve query performance by processing many rows at once in memory rather than row-by-row. Columnstore indexes require the table to be read-only but provide an easy way to boost query performance for analytics workloads by 10-100x without needing separate data marts or cubes.
The document discusses database locks and transaction isolation levels. It begins by defining shared, exclusive, and update locks. It then explains different isolation levels including read uncommitted, read committed, repeatable read, and serializable. Read uncommitted allows dirty reads while read committed does not. Repeatable read prevents non-repeatable reads and serializable prevents phantom records. The document also covers snapshot isolation and how to avoid deadlocks through proper database design and transaction ordering.
This document discusses federations in SQL Azure. Federations allow scaling out data by partitioning it across multiple databases. The document shows an example of a "CustData" federation with members for customer ID ranges that each contain sample data partitions. It also shows an "Orders_Fed" federation partitioned by customer ID that could include related order data spread across multiple databases. In the future, SQL Azure will support federations natively as a way to scale databases beyond a single server.
MS DevDay - SQLServer 2014 for DevelopersДенис Резник
Presentation about hidden treasures inside SQL Server 2014. It was 30 min presentation about 4 features: Cardinality Estimator, Query and Plan Fingerprints, Delayed Durability and TempDB performance.
The new realise of one Microsoft flagman product is approaching – SQL Server. New realizes of SQL Server are not so often, that is why every new realise causes a splash of society activities and wide discussions. We already know the content of the new realise and the product is going through the last stages of testing before the launch. Let’s look, what new things wull bring us new SQL Server.
Преимущества NoSQL баз данных на примере MongoDBUNETA
Докладчик: Винников Олег – .NET Developer in Digital Cloud Technologies (https://twitter.com/#!/VinnikovOleg)
Тема доклада: «Преимущества NoSQL баз данных на примере MongoDB».
Доклад посвящен альтернативе реляционных СУБД - классу концепций NoSQL. Вы узнаете о основных видах NoSQL баз данных, их отличие и преимущества перед реляционными базами данных. Как основное преимущество, в докладе будет рассмотренно масштабирование NoSQL баз данных на примере MongoDB. Ключевые вопросы, которые будут рассмотрены в докладе:
- Почему NoSql;
- Краткий обзор видов NoSql баз данных;
- Масштабирование NoSql баз данных;
- Шардинг и репликация на примере MongoDB;
http://uneta.ua/community/events/9
Привет!
Очень много было сообщений о том, что мы, вопреки плану на год, не обсудили Docker.
Исправляемся - предлагаем проводить уходящий год митапом про Atlassian и Docker.
Сергей Чугай с Центра Информационных проектов поделится докладом «Jira за пять минут».
Он опишет свой опыт установки, запуска контейнера с Jira, какие ошибки были с переездом проекта и плюсы в сравнение с классической схемой развертывания платформы Jira.
Далее Владимир Василькин (ALM Works, Санкт-Петербург) выступит с докладом «Pocker: играем с Jira и не только» - о том, как разработчики плагинов используют Docker.
Он расскажет, как с помощью инструмента Pocker можно просто и быстро поднимать разные конфигурации Jira и Confluence, выбирая разные СУБД, версии, плагины, базы, а затем управлять ими – запускать/выключать, просматривать логи и так далее.
Ждем-с, Вас на митапе.
P.S. Пицца будет:)
С уважением,
Atlassian User Group
В этой презентации мы расскажем о своем опыте применения этого хранилища на примере одной из самых высоконагруженных подсистем — хранилища Класс!ов. В данный момент в системе хранится около 50 миллиардов записей о Класс!, что занимает в сумме около 8 Тб. Для того чтобы реализовать такое хранилище пришлось отойти от классического способа работы с Cassandra. Мы расскажем об этом, а также о том, как Cassandra устроена под капотом, её сильные и слабые стороны, какие решения мы принимали и что мы изменили в Cassandra, чтобы сделать наше хранилище более высокопроизводительным и надежным.
SECON'2016. Еманов Дмитрий, "D" в ACID или чем быстрее бежать, тем больнее па...SECON
Доклад посвящен поиску оптимального баланса между транзакционной надежностью и производительностью операций с данными в современных СУБД, операционных системах и системах хранения данных.
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Ontico
Зачем мы каждый раз изобретаем велосипед, только потому что можем? Корпоративные СХД существуют более 25 лет и умеют очень многое.
Защита данных, качество обслуживания, многоуровневое хранение и кэширование на флэш-памяти. Система хранения данных - это не только гигабайт по минимальной цене, но так же и гарантированная производительность и отказоустойчивость.
Вы узнаете, как можно обеспечить своим данным высокую степень защиты, значительно сократив время реализации проекта. Или, наоборот, убедитесь в том, что СХД корпоративного класса вашему проекту не подходят.
In-Memory features is the most perspective trend in the area of high performance. Columnstore Indexes is one of such features, and even with their restrictions, they can accelerate your queries at times! How to get more from this feature? In which situations should we use them? Which internal mechanisms help to achive that? You can get answers on these questions on this session.
Масштабирование в SQL Azure - SQL Azure FederationsДенис Резник
Масштабируемость приложения стала критическим элементом дизайна после перехода от модели индивидуальных программ к серверной модели работы приложений. Масштабируемые приложения способны справиться с более активным использованием и возросшим объёмом данных. Масштабируемые приложения обладают высокой доступностью и отказоустойчивостью. Масштабируемые приложения управляемы и сопровождаемы. Всё это справедливо по отношению ко всем слоям приложения, в том числе и к базе данных. Масштабирование базы данных - процесс отнюдь не тривиальный и довольно сложный. SQL Azure, со своей концепцией моментального создания и распределения баз данных внутри ЦОД, является хорошей альтернативой одиночному серверу, а SQL Azure Federations выводят масштабирование в SQL Azure на совершенно новый уровень.
Масштабирование в SQL Azure - SQL Azure FederationsДенис Резник
Масштабируемость приложения стала критическим элементом дизайна после перехода от модели индивидуальных программ к серверной модели работы приложений. Масштабируемые приложения способны справиться с более активным использованием и возросшим объёмом данных. Масштабируемые приложения обладают высокой доступностью и отказоустойчивостью. Масштабируемые приложения управляемы и сопровождаемы. Всё это справедливо по отношению ко всем слоям приложения, в том числе и к базе данных. Масштабирование базы данных - процесс отнюдь не тривиальный и довольно сложный. SQL Azure, со своей концепцией моментального создания и распределения баз данных внутри ЦОД, является хорошей альтернативой одиночному серверу, а SQL Azure Federations выводят масштабирование в SQL Azure на совершенно новый уровень.
MS Swit 2012 - Windows 8 Application LifecycleДенис Резник
As your customers move your app between the foreground and background, Windows manages your app’s usage of critical system resources. Come learn the fundamentals of Process Lifetime Management and how to structure your app to suspend and resume quickly, save app state properly, and behave consistently. We will also highlight ways to keep your app fresh using push notifications and tile interactivity. Understanding these critical concepts will help you deliver a continuous experience that customers expect.
SQL Server 2012 introduced columnstore indexes which provide significant performance improvements for data warehouse and analytics queries against large datasets. Columnstore indexes store data by column rather than by row, allowing queries to access only the relevant columns needed. This results in lower I/O and higher data compression compared to row storage. Columnstore indexes also use a new batch processing execution mode which can further improve query performance by processing many rows at once in memory rather than row-by-row. Columnstore indexes require the table to be read-only but provide an easy way to boost query performance for analytics workloads by 10-100x without needing separate data marts or cubes.
The document discusses database locks and transaction isolation levels. It begins by defining shared, exclusive, and update locks. It then explains different isolation levels including read uncommitted, read committed, repeatable read, and serializable. Read uncommitted allows dirty reads while read committed does not. Repeatable read prevents non-repeatable reads and serializable prevents phantom records. The document also covers snapshot isolation and how to avoid deadlocks through proper database design and transaction ordering.
This document discusses federations in SQL Azure. Federations allow scaling out data by partitioning it across multiple databases. The document shows an example of a "CustData" federation with members for customer ID ranges that each contain sample data partitions. It also shows an "Orders_Fed" federation partitioned by customer ID that could include related order data spread across multiple databases. In the future, SQL Azure will support federations natively as a way to scale databases beyond a single server.
MS DevDay - SQLServer 2014 for DevelopersДенис Резник
Presentation about hidden treasures inside SQL Server 2014. It was 30 min presentation about 4 features: Cardinality Estimator, Query and Plan Fingerprints, Delayed Durability and TempDB performance.
The new realise of one Microsoft flagman product is approaching – SQL Server. New realizes of SQL Server are not so often, that is why every new realise causes a splash of society activities and wide discussions. We already know the content of the new realise and the product is going through the last stages of testing before the launch. Let’s look, what new things wull bring us new SQL Server.
Преимущества NoSQL баз данных на примере MongoDBUNETA
Докладчик: Винников Олег – .NET Developer in Digital Cloud Technologies (https://twitter.com/#!/VinnikovOleg)
Тема доклада: «Преимущества NoSQL баз данных на примере MongoDB».
Доклад посвящен альтернативе реляционных СУБД - классу концепций NoSQL. Вы узнаете о основных видах NoSQL баз данных, их отличие и преимущества перед реляционными базами данных. Как основное преимущество, в докладе будет рассмотренно масштабирование NoSQL баз данных на примере MongoDB. Ключевые вопросы, которые будут рассмотрены в докладе:
- Почему NoSql;
- Краткий обзор видов NoSql баз данных;
- Масштабирование NoSql баз данных;
- Шардинг и репликация на примере MongoDB;
http://uneta.ua/community/events/9
Привет!
Очень много было сообщений о том, что мы, вопреки плану на год, не обсудили Docker.
Исправляемся - предлагаем проводить уходящий год митапом про Atlassian и Docker.
Сергей Чугай с Центра Информационных проектов поделится докладом «Jira за пять минут».
Он опишет свой опыт установки, запуска контейнера с Jira, какие ошибки были с переездом проекта и плюсы в сравнение с классической схемой развертывания платформы Jira.
Далее Владимир Василькин (ALM Works, Санкт-Петербург) выступит с докладом «Pocker: играем с Jira и не только» - о том, как разработчики плагинов используют Docker.
Он расскажет, как с помощью инструмента Pocker можно просто и быстро поднимать разные конфигурации Jira и Confluence, выбирая разные СУБД, версии, плагины, базы, а затем управлять ими – запускать/выключать, просматривать логи и так далее.
Ждем-с, Вас на митапе.
P.S. Пицца будет:)
С уважением,
Atlassian User Group
В этой презентации мы расскажем о своем опыте применения этого хранилища на примере одной из самых высоконагруженных подсистем — хранилища Класс!ов. В данный момент в системе хранится около 50 миллиардов записей о Класс!, что занимает в сумме около 8 Тб. Для того чтобы реализовать такое хранилище пришлось отойти от классического способа работы с Cassandra. Мы расскажем об этом, а также о том, как Cassandra устроена под капотом, её сильные и слабые стороны, какие решения мы принимали и что мы изменили в Cassandra, чтобы сделать наше хранилище более высокопроизводительным и надежным.
SECON'2016. Еманов Дмитрий, "D" в ACID или чем быстрее бежать, тем больнее па...SECON
Доклад посвящен поиску оптимального баланса между транзакционной надежностью и производительностью операций с данными в современных СУБД, операционных системах и системах хранения данных.
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Ontico
Зачем мы каждый раз изобретаем велосипед, только потому что можем? Корпоративные СХД существуют более 25 лет и умеют очень многое.
Защита данных, качество обслуживания, многоуровневое хранение и кэширование на флэш-памяти. Система хранения данных - это не только гигабайт по минимальной цене, но так же и гарантированная производительность и отказоустойчивость.
Вы узнаете, как можно обеспечить своим данным высокую степень защиты, значительно сократив время реализации проекта. Или, наоборот, убедитесь в том, что СХД корпоративного класса вашему проекту не подходят.
In-Memory features is the most perspective trend in the area of high performance. Columnstore Indexes is one of such features, and even with their restrictions, they can accelerate your queries at times! How to get more from this feature? In which situations should we use them? Which internal mechanisms help to achive that? You can get answers on these questions on this session.
Масштабирование в SQL Azure - SQL Azure FederationsДенис Резник
Масштабируемость приложения стала критическим элементом дизайна после перехода от модели индивидуальных программ к серверной модели работы приложений. Масштабируемые приложения способны справиться с более активным использованием и возросшим объёмом данных. Масштабируемые приложения обладают высокой доступностью и отказоустойчивостью. Масштабируемые приложения управляемы и сопровождаемы. Всё это справедливо по отношению ко всем слоям приложения, в том числе и к базе данных. Масштабирование базы данных - процесс отнюдь не тривиальный и довольно сложный. SQL Azure, со своей концепцией моментального создания и распределения баз данных внутри ЦОД, является хорошей альтернативой одиночному серверу, а SQL Azure Federations выводят масштабирование в SQL Azure на совершенно новый уровень.
Масштабирование в SQL Azure - SQL Azure FederationsДенис Резник
Масштабируемость приложения стала критическим элементом дизайна после перехода от модели индивидуальных программ к серверной модели работы приложений. Масштабируемые приложения способны справиться с более активным использованием и возросшим объёмом данных. Масштабируемые приложения обладают высокой доступностью и отказоустойчивостью. Масштабируемые приложения управляемы и сопровождаемы. Всё это справедливо по отношению ко всем слоям приложения, в том числе и к базе данных. Масштабирование базы данных - процесс отнюдь не тривиальный и довольно сложный. SQL Azure, со своей концепцией моментального создания и распределения баз данных внутри ЦОД, является хорошей альтернативой одиночному серверу, а SQL Azure Federations выводят масштабирование в SQL Azure на совершенно новый уровень.
SQL Server StreamIinsight - data processing in real time
24 hop - Deadlocks
1. Professional Association for SQL Server
Взаимоблокировки, блокировки и
уровни изоляции в SQL Server
Резник Денис
Киев
The Frayman Group
MVP, MCT, MCITP, MCPD, MCTS
7. Гранулярность блокировки
• Строка (Key или RowID)
• Диапазон ключей (несколько строк)
• Страница
• Экстент
• Секция (включается дополнительной опцией)
• Таблица
• База Данных
8. READ COMMITTED
• Уровень изоляции по умолчанию
• Нет «грязных чтений»
• Блокировка на чтение снимается сразу по окончании
операции
• Возможны неповторяемые чтения
10. READ UNCOMMITTED
• Самый лѐгкий уровень изоляции
• Допускает «грязные чтения»
• Не ставится блокировка на чтение
• Блокировки на запись удерживаются до конца
транзакции
12. REPEATABLE READ
• Более жесткий чем READ COMMITTED
• Блокировка на чтение удерживается до конца
транзакции
• Повторяемые чтения
• Возможно появление фантомных записей
16. READ COMMITTED SNAPSHOT
• Оптимистичная блокировка
• При изменении данных, старая версия строки
сохраняется в хранилище версий в tempdb
• Не ставится блокировка на чтение
• Возможны неповторяемые чтения
• Возможно появление фантомных записей
18. SNAPSHOT
• Оптимистичная блокировка
• Нет грязных чтений
• Повторяемые чтения
• Нет фантомных записей
• Блокировка на чтение не ставится
• При попытке пользователя изменить запись, которая
в данный момент изменяется кем-то, генерируется
ошибка
20. Как избежать?
• Проектировать базу данных так, чтобы не было
возможности дедлока
• Выравнивать порядок использования таблиц в
транзакциях
• Добавление или удаление индексов
• Смена уровня изоляции транзакции
• Нерешаемых дедлоков нет.. Есть варианты решения,
которые не до конца устраивают
21. Ресурсы
• Locking in the Database Engine
• Analyze Deadlocks with SQL Server Profiler
• Handling Deadlocks in SQL Server
• Deadlock Trobleshot series
• Twitter to SQL
22. Professional Association for SQL Server
Взаимоблокировки, блокировки и
уровни изоляции в SQL Server
Резник Денис
Киев
@denisreznik
denisreznik@live.ru
http://reznik.uneta.com.ua