SlideShare a Scribd company logo
1 of 28
Download to read offline
МАСШТАБИРОВАНИЕ
БАЗ	ДАННЫХ
common	sense
Евгений	Шишкин
DBA,	wargaming.net
eshishki@gmail.com
—	We	define	a	DBMS	as	a	complete	software	system	used	to
define,	create,	manage,	update	and	query	a	database.
©	Gartner

	БД	общего	назначения,	OldSQL:	MySQL,	PostgreSQL
	Специализированные,	NewSQL:	VoltDB,	Vertica,
Clustrix			
NoSQL:	HBase,	Cassandra,	CouchDB,	Aerospark,	MongoDB
SCALABILITY	IS	A	FUNCTION
Мы	хотим	добавить	ресурсов	и	работать	быстрее
или	обрабатывать	больше.
Amdahl's	law
Gustafson-Barsis'	Law	
Neil	J.	Gunther's	Universal	Scalability	Law
Amdahl's	law
У	нас	есть	алгоритм,	который	однопоточно
работает	за	время	T1.
Мы	хотим	добавить	P	процессоров	и	решить	задачу
быстрее.
Какое	увеличение	производительности	S	мы	можем
получить?
«В	случае,	когда	задача	разделяется	на	несколько
частей,	суммарное	время	её	выполнения	на
параллельной	системе	не	может	быть	меньше
времени	выполнения	самого	длинного	фрагмента»
Amdahl's	law

Ускорение	ограничено	той	частью	работы,	которая
не	параллелизуется.
Например,	если	сериализованная	часть	алгоритма
составляет	только	0.1%,	при	2048	процессорах
ускорение	будет	только	в	672	раза.
Gustafson-Barsis'	Law
…speedup	should	be	measured	by	scaling	the	problem	to	the
number	of	processors,	not	by	fixing	the	problem	size.
—	John	Gustafson
В	реальности,	добившись	нужного	времени	ответа
системы,	нас	всё	устраивает.	И	мы	уже	добавляем
мощности	под	растущий	размер,	а	не	для
сокращения	латенси.
Gustafson-Barsis'	Law

Если	объем	данных	увеличивается	вместе	с
увеличением	числа	процессоров,	а	сериализовання
часть	растет	медленно	или	фиксирована,
ускорение	растет	пропорционально	росту
ресурсов.
Я	НИЧЕГО	НЕ	ПОНЯЛ
Разница	в	том,	хотите	ли	вы	ускорения	при	той	же
нагрузке	или	того	же	времени	ответа	при
увеличении	нагрузки.
В	реальной	жизни	больше	применим	закон
	Gustafson.
Но,	если	вам	надо	добиться	более	быстрой	работы
алгоритма	при	тех	же	данных,	руководствуйтесь
законом	Амдала.
ТАК	КАКАЯ	ЖЕ	БАЗА
МАСШТАБИРУЕТСЯ
ЛУЧШЕ?
Масштабировать	надо	не	базу,	а	сервис.
Бессмысленно	рассматривать	базу	данных	в
отрыве	от	профиля	нагрузки	и	приложения.	
Масштабирование	это	специализация.
Базы	данных	общего	назначения	в	общем	случае	не
масштабируются.
UNIVERSAL	SCALABILITY	LAW

Cost	of	sharing	resources
Diminishing	returns	from	contention
Negative	returns	from	incoherency
ТИПИЧНЫЕ	ПРОФИЛИ
НАГРУЗКИ
oltp
short-request	processing
web
olap/dwh
OLTP
буква	T	это	транзакции	-	забыли	nosql	сразу	же
можно	набить	любимую	базу	данных	до	отказа
памятью	и	ssd,	но	это	будет	печально	и
неэффективно
как	нам	сделать	500k	TPS	на	одном	сервере?	никак
пошардили?	добро	пожаловать	в	дивный	мир
алгоритмов	распределенного	коммита
Почему	всё	так	плохо	работает?	Вот	redis	же	делает
200к	на	одном	ядре!
OLTP
обычная	база	данных
OLTP
Прорывной	ресерч	H-Store	http://hstore.cs.brown.edu/
Готовый	продукт	VoltDB
main	memory	database	->	no	buffer	pool	management
	каждому	cpu	свой	кусочек	памяти	и
однопоточное	выполнение	->	нет	локов
вся	работа	в	хранимых	процедурах	и	куча
ресерча	->
2pc	иногда	не	нужен	и	во	время	ожидания	можно
выполнять	другие	транзакции
Подробнее	тут	http://hstore.cs.brown.edu/publications/
OLTP
Все	основные	сложности	с	распределенными
транзакциями.
Рецепт	-	детерминизм.
Зная	наперед	в	какой	последовательности	будут
выполняться	транзакции,	у	нас	нет	ожидания.	База
данных	всегда	делает	полезную	работу.
Подробности	тут	
http://cs.yale.edu/homes/thomson/publications/calvinsigmod12.pdf
SHORT-REQUEST
PK/INDEX	LOOKUP
Такая	нагрузка	масштабируется	чем	угодно.
Не	надо	быть	семи	пядей	во	лбу,	чтобы	пошардить
PK
Речь	об	эффективности	и	удобстве.
MySQL	делает	200k	rps,	PostgreSQL	120k	rps.
Невероятно,	но	редкая	nosql	система	покажет
такие	числа.
Есть	Mysql	Cluster	(NDB,	не	галера),	есть	Postgres-xc.
NoSQL,	которые		AP,	работают	медленней	CP.
WEB
short-request	+	joins	+	tons	of	order	by	+	orm
95%+	чтения
почти	нет	транзакций
небольшой	объем	горячих	данных
data	skew	(zipfian	distribution)
Нам	хватает	одного	сервера,	пока	у	него	не
кончается	CPU.
MySQL	Cluster,	Postgres-xc,	Pgpool	и	прочие	шардят
только	по	одному	атрибуту.
WEB
Представьте	себе	табличку	с	постами	
create	table	thread_posts	(
				post_id					bigint,
				thread_id			bigint,
				user_id					bigint,
				posted_on			timestamp,
				contents				text,
				primary	key	(thread_id,	post_id),
				key	(user_id,	posted_on)
);	

И	два	популярных	запроса:
select	*	from	thread_posts	where	thread_id	=	314	order	by	post_id;
select	*	from	thread_posts	where	user_id	=	546	order	by	posted_on	desc	limit	10;

Хочется	пошардить	и	по	thread_id,	post_id	и	по
user_id,	posted_on
Выбирая	только	одно,	далеко	не	уехать.
WEB
Нам	надо:
отправлять	запросы	только	туда,	где	лежат	наши
данные
избегать	распределенных	запросов
балансировать	нагрузку
Хороший	способ:
отвязать	логическую	схему	от	физической,	чтобы
шардить	по	разным	атрибутам
использовать	consistent	hashing	для
балансирования	данных
это	сделано	в	Clustrix
WEB
Советики
чтобы	избежать	запросов	на	ноды,	где	данных	нет
lookup	таблица
bloom	filter
можно	шардить	по	двум	атрибутам	руками,
делая	две	таблицы
можно	денормализовать,	помня	про	update,	delete
аномалии
можно	материализовывать	данные	при	записи
(push	модель)	для	сверхпопулярных
пользователей	(лента)
WEB
Если	заморочиться
Проблема	эффективного	распределения	данных	по
нодам	это	локальность	данных	и	оверхед
репликации	данных.
Научный	подход	это	положить	данные	вместе,	не
по	хешу,	а	те,	которые	реально	запрашиваются
вместе.
Schism:	a	Workload-Driven	Approach	to	Database
Replication	and	Partitioning
The	Little	Engine(s)	That	Could:	Scaling	Online	Social
Networks
OLAP
огромный	объем	данных
огромные	выборки
куча	сортировок	и	джойнов
однотипные	репорты
хорошо	шардится
хорошо	сжимается
OLAP
Можно:
пошардить	руками
взять	postgres-xc,	mysql	cluster,	любой
автоматический	шардинг
и	даже	можно	использовать	materialized	view	(аля
push)
и	можно	даже	что-то	денормализовать
OLAP
Нужно:
1.	хранить	данные	в	колонках
сжатие
векторизованный	процессинг
эффективный	доступ	к	данным
2.	оперировать	над	сжатыми	данными	в	памяти
3.	делать	row	reconstructure	только	когда	это
необходимо
4.	делать	join	индексы	или	prejoin	проекции
5.	хранить	данные	уже	отсортированными	(merge
join	бесплатный)
OLAP
Все	эти	"нужно"	сделаны	в	Vertica.
Часть	сделана	в	Cloudera	Impala.
Greenplum	не	умеет	column	storage.
Oracle	не	умеет	column	storage.
NoSQL	не	умеет	column	storage.
DB2	и	MSSQL	умеют,	но	не	MPP.
Половина	NewSQL,	которые	про	онлайн	аналитику,
это	просто	in	memory	базы.	Очень	часто	даже	без
dictionary	компрессии	и	RLE.
SQL	VS	NOSQL
Представьте	себе	nosql	базу	данных,	которая	
умеет	secondary	indexes
умеет	эффективно	выполнять	часть	запросов	у
себя
умеет	транзакции
дает	гарантии,	когда	это	необходимо
Боже	мой,	да	это	же	RDBMS!
ВЫВОДЫ
Используйте	нужную	базу	данных	для	своей
нагрузки
Не	масштабируйте	базу	в	отрыве	от	приложения
Если	вы	знаете,	как	решить	свою	проблему	NoSQL
базой,	значит	вы	знаете,	как	решить	проблему	и	в
RDBMS
Не	ленитесь	думать	и	читать

More Related Content

Viewers also liked

Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Andrew Avdeev
 
Mongo Sharding: Case Study
Mongo Sharding: Case StudyMongo Sharding: Case Study
Mongo Sharding: Case StudyWill Button
 
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...Mikhail Kurnosov
 
An Integrated Solution Approach
An Integrated Solution ApproachAn Integrated Solution Approach
An Integrated Solution ApproachCees W.M. Nieboer
 
Webinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX Datamatics
Webinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX DatamaticsWebinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX Datamatics
Webinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX DatamaticsMongoDB
 
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...pgdayrussia
 
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...pgdayrussia
 
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...Mail.ru Group
 
Опыт применения Kanban для управления портфелем Agile-проектов
Опыт применения Kanban для управления портфелем Agile-проектовОпыт применения Kanban для управления портфелем Agile-проектов
Опыт применения Kanban для управления портфелем Agile-проектовSQALab
 
Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Ontico
 
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...Ontico
 
Потоковая репликация PostgreSQL
Потоковая репликация PostgreSQLПотоковая репликация PostgreSQL
Потоковая репликация PostgreSQLDevOWL Meetup
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQLAlex Chistyakov
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахAlexey Vasiliev
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Mikhail Kurnosov
 
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Ontico
 
NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)
NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)
NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)Ontico
 
NoSQL into E-Commerce: lessons learned
NoSQL into E-Commerce: lessons learnedNoSQL into E-Commerce: lessons learned
NoSQL into E-Commerce: lessons learnedLa FeWeb
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...Ontico
 

Viewers also liked (20)

Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)
 
Mongo Sharding: Case Study
Mongo Sharding: Case StudyMongo Sharding: Case Study
Mongo Sharding: Case Study
 
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
Лекция 6: Многопоточное программирование: часть 2 (Speedup, Amdahl's law, POS...
 
An Integrated Solution Approach
An Integrated Solution ApproachAn Integrated Solution Approach
An Integrated Solution Approach
 
Webinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX Datamatics
Webinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX DatamaticsWebinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX Datamatics
Webinar: Scaling MongoDB through Sharding - A Case Study with CIGNEX Datamatics
 
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 1...
 
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
 
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Опыт применения Kanban для управления портфелем Agile-проектов
Опыт применения Kanban для управления портфелем Agile-проектовОпыт применения Kanban для управления портфелем Agile-проектов
Опыт применения Kanban для управления портфелем Agile-проектов
 
Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)
 
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...
 
Потоковая репликация PostgreSQL
Потоковая репликация PostgreSQLПотоковая репликация PostgreSQL
Потоковая репликация PostgreSQL
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQL
 
PostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектахPostgreSQL в высоконагруженных проектах
PostgreSQL в высоконагруженных проектах
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
 
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
 
NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)
NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)
NoSQL - неспроста ли это ЖЖЖ / Даниил Подольский (inCaller.org)
 
NoSQL into E-Commerce: lessons learned
NoSQL into E-Commerce: lessons learnedNoSQL into E-Commerce: lessons learned
NoSQL into E-Commerce: lessons learned
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Масштабирование баз данных