SlideShare a Scribd company logo
1 of 155
Download to read offline
Развитие баз
данных в
Dropbox.
Путь от одной глобальной базы MySQL
к тысячам серверов.
Слава Бахмутов - Dropbox SRE
Автор доклада
Site reliability engineer в Dropbox
Techlead в команде баз данных
Евангелист Go, соведущий golangshow.com
twitter: m0sth8
email: m0sth8@gmail.com
Структура доклада
• Кратко	об	архитектуре	Dropbox	
• История	развития	баз	данных	
• Операции	(фейловеры,	бекапы,	клоны)	
• Автоматизация	
• Мониторинг	
• Тестирование,	стейджинг	и	DRT
Кратко об архитектуре Dropbox
Простым	языком
Dropbox
500 млн пользователей
более 1.2 млрд новых файлов каждый день
200 000 бизнесов
Dropbox - файловое хранилище
Metaserver Blockserver
Клиенты (web, api, desktop)
Dropbox - файловое хранилище
https://blogs.dropbox.com/tech/2014/07/streaming-file-synchronization/
Dropbox - файловое хранилище
https://blogs.dropbox.com/tech/2014/07/streaming-file-synchronization/
Client Metaserver
commit("video.avi",	"h1,h2,h3,h4)
Dropbox - файловое хранилище
https://blogs.dropbox.com/tech/2014/07/streaming-file-synchronization/
Client Metaserver
("no	blocks",	"h1,h2,h3,h4")
commit("video.avi",	"h1,h2,h3,h4)
Dropbox - файловое хранилище
https://blogs.dropbox.com/tech/2014/07/streaming-file-synchronization/
store([h1,	h2,	h3,	h4],	[b1,	b2,	b3,	b4])
Client Blockserver
Dropbox - файловое хранилище
https://blogs.dropbox.com/tech/2014/07/streaming-file-synchronization/
store([h1,	h2,	h3,	h4],	[b1,	b2,	b3,	b4])
ok
Client Blockserver
Dropbox - файловое хранилище
Metaserver Blockserver
Clients (Web, api, desktop)
MySQL
Dropbox - файловое хранилище
Metaserver Blockserver
Clients (Web, api, desktop)
MySQL
Dropbox - файловое хранилище
Exabytes	of	raw	data
Metaserver Blockserver
Clients (Web, api, desktop)
MySQL
Block	
Storage
Dropbox - файловое хранилище
Exabytes	of	raw	data
Petabytes	of	data	
~6000	servers
Metaserver Blockserver
Clients (Web, api, desktop)
MySQL
Block	
Storage
История развития баз данных
от	одной	глобальной	базы	до	6000	серверов
2008
Metaserver
Global	DB
2011 - Shards?
Metaserver
Global	DB User	1
User	2
Host	1
Host	2
Misc
Misc	не	в	обработке	запросов	в	продакшене
Blockserver
Рост пользовательской базы
2011 - Shards!
Metaserver
Global	DB User	1
User	2
Host	1
Host	2
Misc
Blockserver
Shard	0-1600	
Shard	0-1600	
Shard	0-1600
2012 - Edgestore
Metaserver
Global	DB User	1
User	2
Host	1
Host	2
Misc
Blockserver
Shard	0-1600	
Shard	0-1600	
Shard	0-1600	
Edgestore
Edgestore	
Shard	0-2048	
https://www.youtube.com/watch?v=VZ-zJEWi-Vo
2012 - Edgestore
https://blogs.dropbox.com/tech/2016/08/reintroducing-edgestore/
2015 - Magic Pocket
Metaserver
Global	DB User	1
User	2
Host	1
Host	2
Misc
Blockserver
Shard	0-1600	
Shard	0-1600	
Shard	0-1600	
Edgestore
Edgestore	
Shard	0-2048	
Magic	Pocket
BlockIndex	
0-64
https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/
Архитектура баз данных
Топология,	мультиинстанс,	дисковери
Принципы
1. Надежность	и	долговечность
Принципы
1. Надежность	и	долговечность	
2. Оптимальность	решения
Принципы
1. Надежность	и	долговечность	
2. Оптимальность	решения	
3. Простота	решения
Принципы
1. Надежность	и	долговечность	
2. Оптимальность	решения	
3. Простота	решения	
4. Стоимость	владения
Принципы
1. Надежность	и	долговечность	
2. Оптимальность	решения	
3. Простота	решения	
4. Стоимость	владения
• Все	принципы	должны	быть	проверяемыми	и	измеряемыми
Принципы
1. Надежность	и	долговечность	
2. Оптимальность	решения	
3. Простота	решения	
4. Стоимость	владения
• Все	принципы	должны	быть	проверяемыми	и	измеряемыми	
• Мы	должны	следовать	этим	принципам	при	любых	решениях
Базовая топология
master
DC	1
Базовая топология
master
slave slave
DC	1
Cluster	11
Cluster	12 Cluster	13
Semisync
Базовая топология
master
slave slave
pseudo	master
slave
DC	1 DC	2
Cluster	11
Cluster	12 Cluster	13
Cluster	21
Cluster	22
Специализированные топологии
Топология Magic Pocket
master
slave slave
DC	1
Cluster	11
Cluster	12 Cluster	13
DC	2 DC	3
Топология active-active
master
slave slave
DC	1
Cluster	11
Cluster	12 Cluster	13
master
slave slave
DC	2
Cluster	21
Cluster	22 Cluster	23
Инстансы
2x	Xeon	10	cores	
5TB	(8	SSD	Raid	0)	
384	GB	memory
Сервер
Сингл инстанс
+	Просто	оперировать	
+	Простые	фейловеры	
-	Операции	над	одним	
сервером	
-	Шарды	влияют	друг	на	
друга	
mysqld:3306	
shard1	
shard2	
shard3	
shard4
proxy1-4:3001-3004
Сервер
Инстанс	1
		"config":	{	
				"mysqld":	{	
						"innodb_buffer_pool_size":	{	
								"value":	"310G"	
						},
Мульти инстанс Сервер
mysqld:3307	
shard1
proxy1-4:3001-3004
Инстанс	1
mysqld:3308	
shard2
mysqld:3309	
shard3
mysqld:3310	
shard4
Инстанс	2
Инстанс	3
Инстанс	4
+	Операции	над	
инстансом	
+	Шарды	почти	не	влияют	
друг	на	друга	
+	Микс	разных	категорий	
и	классов	баз	
+	Улучшение	репликации	
-	Сложнее	управлять	
-	Сложнее	фейловеры
Discovery
• Клиенты	должны	быстро	узнавать	об	изменениях	топологии	
• Топология	не	должна	зависеть	от	топологии	репликации	MySQL	
• Атомарность	изменений	и	верификация	состояния
2008 Discovery
Metaserver
Global	DB
Адрес	базы	в	конфиге	в	исходном	коде
Discovery - 1
ConfigDB
Databases	
scripts
Clients
Discovery - 1
+----------+-----------+--------+--------------+------+------------+	
|	category	|	shard_key	|	tclass	|	host									|	port	|	db_name				|	
+----------+-----------+--------+--------------+------+------------+	
|	host					|	1									|	master	|	10.20.2.48			|	3306	|	host1						|	
|	host					|	2									|	master	|	10.50.83.24		|	3306	|	host2						|	
|	sbc						|	0									|	master	|	10.48.58.170	|	3306	|	sbc0000000	|	
|	sbc						|	1									|	master	|	10.48.58.170	|	3306	|	sbc0000001	|	
|	sbc						|	2									|	master	|	10.48.34.176	|	3306	|	sbc0000010	|	
|	sbc						|	3									|	master	|	10.48.34.176	|	3306	|	sbc0000011	|	
|	sbc						|	4									|	master	|	10.22.60.40		|	3306	|	sbc0000100	|	
|	sbc						|	5									|	master	|	10.48.53.43		|	3306	|	sbc0000101	|	
|	sbc						|	6									|	master	|	10.22.60.40		|	3306	|	sbc0000110	|	
|	sbc						|	7									|	master	|	10.48.53.43		|	3306	|	sbc0000111	|	
+----------+-----------+--------+--------------+------+------------+	
Get	(category,	tclass,	shard_key)		
->	[host:port/dbname?user=password]
Discovery - 1.1
ConfigDB
Databases	
scripts
Clients
Memcache
Discovery - 3 Категория/класс	это	один	файл	в	AFS(zookeeper)
Discovery - 3 Категория/класс	это	один	файл	в	AFS(зукипере)
Discovery - 3 Категория/класс	это	один	файл	в	AFS(зукипере)
Discovery - 3. Формат данных
syntax	=	"proto3";	
package	register;	
message	Database	{	
				repeated	uint32	ports	=	1;	
				string	name	=	2;	
}	
message	Host	{	
				fixed32	ip4	=	1;	
				//	shard_key	->	Database	map	
				map<string,	Database>	shards	=	2;	
}	
message	FileContent	{	
				fixed64	version	=	1;	
				string	category	=	2;	
				string	tclass	=	3;	
				//	hostname	->	Host	map	
				map<string,	Host>	hosts	=	4;	
}	
afs	ls	-l	/afs/iad/services/registry3/topology	
28906		2017-06-14	04:35:57	shard.slave_proxy.pb.gz	
25570		2017-06-14	04:35:57	edgestore.slave.pb.gz	
20292		2017-06-14	04:35:57	shard.slave.pb.gz	
13727		2017-06-14	04:35:55	edgestore.master.pb.gz	
	8515		2017-06-14	04:35:58	shard.proxy.pb.gz	
	8101		2017-06-14	04:35:55	shard.master.pb.gz
Операции
promotion,	clone,	backups/recovery
Операция
Promotion (смена мастера)
Promotion
Фейловер (замена поломанного мастера)
• Мастер	умер	<-	идеальный	случай
Фейловер (замена поломанного мастера)
• Мастер	умер	<-	идеальный	случай	
• Мастер	иногда	жив
Фейловер (замена поломанного мастера)
• Мастер	умер	<-	идеальный	случай	
• Мастер	иногда	жив	
• Мастер	медленно	умирает	и	все	системы	сбоят	по	своему	(slow	
death)
Фейловер (замена поломанного мастера)
• Мастер	умер	<-	идеальный	случай	
• Мастер	иногда	жив	
• Мастер	медленно	умирает	и	все	системы	сбоят	по	своему	(slow	
death)	
• Мастер	перегружен.	<-	промоушен	сделает	только	хуже
Фейловер
• 4-5	раз	в	неделю	
• Полностью	автоматизирован	
• Занимает	около	30	секунд	
• Куча	дополнительных	проверок	(а	что	если	мастер	жив?)
Фейловер
Фейловер
Перезагрузка	мастера
Фейловер
Синхронизация	кластера
Фейловер
Промоушен
Бекапы
• Паттерны	использования	и	гарантии	
• Цикл	
• Операция	
• Планы
Паттерны использования
1.	👬	Добавить	новый	слейв.	(постоянно)
Паттерны использования
1.	👬	Добавить	новый	слейв.	(постоянно)	
2.	⏳	Восстановление	данных	на	точку	в	прошлом	(часто)
Паттерны использования
1.	👬	Добавить	новый	слейв.	(постоянно)	
2.	⏳	Восстановление	данных	на	точку	в	прошлом	(часто)	
3.	🆘	Восстановить	целиком	весь	кластер	с	нуля.	(никогда)
Гарантии.
1.	В	нормальных	условиях,	ожидаемая	скорость	восстановления	1TB	
за	40	минут.	
2.	Любую	базу	можно	восстановить	на	любой	период	времени	за	
последние	шесть	дней.
Основные факторы: ограничения скорости работы по сети, троттлинг.
Цикл
Global	DBShard	0-1600	
Edgestore	
Shard	0-2048	
BlockIndex	
0-64
HDFS
Каждые	24	часа
Цикл
Global	DBShard	0-1600	
Edgestore	
Shard	0-2048	
BlockIndex	
0-64
HDFS
Каждые	6	часов
Цикл
Global	DBShard	0-1600	
Edgestore	
Shard	0-2048	
BlockIndex	
0-64
HDFS S3
Каждые	3	дня
Цикл
Global	DBShard	0-1600	
Edgestore	
Shard	0-2048	
BlockIndex	
0-64
HDFS S3
Каждые	три	дня
Цикл
Hot backup							||		
								/	
							/				
						+-------------------------------------------+	
						|			xtrabackup	--parallel	--stream=xbstream	|	
						|									|																																	|	
						|					splitter	--chunks	8	--manifest_path			|	
						|					|					|					|																									|	
						|	qpress		qpress		...																							|	
						|					|					|																															|	
						|	encode		encode																												|	
						|					|					|																															|	
						|	HDFS/S3		HDFS/S3																										|	
						+-------------------------------------------+
Hot recovery
			/		
		/			
			||				
			2.	Crash-recovery	+	binlog	replay								
		+-------------------------------------------+	
		|			xtrabackup	--parallel	--stream=xbstream	|	
		|									|																																	|	
		|					splitter	--chunks	8	--manifest_path			|	
		|					|					|					|																									|	
		|	qpress		qpress		...																							|	
		|					|					|																															|	
		|	decode		decode																												|	
		|					|					|																															|	
		|	HDFS/S3		HDFS/S3																										|	
		+-------------------------------------------+			
				1.	Server	bootstrap
Binlogs
Планы
Холодные	бекапы.	
Предпосылки:	
1.	Скорость	каналов	стала	больше,	можно	утилизировать	больше.	
2.	Хочется	восстанавливать	быстрее	и	создавать	клоны	тоже	быстро.	
3.	Полная	верификация	бекапов	(pt-table-checksum).
Холодные бекапы. Гарантии
1.	В	нормальных	условиях,	ожидаемая	скорость	восстановления	1TB	
за	10	минут.	
2.	Любую	базу	можно	восстановить	на	любой	период	времени	за	
последние	шесть	дней.
Холодные бекапы
master
slave slave
pseudo	master
slave
DC	1 DC	2
Cluster	11
Cluster	12 Cluster	13
Cluster	21
Cluster	22
Останавливаем	этот	слейв,		
делаем	бекап,	запускаем	обратно.
Планы ++
Дополнительный	диск	(HDD)	на	каждом	сервере.	(10	TB)	
Горячие	бекапы	на	этот	диск	+	сrash	recovery	xtrabackup.
Клон
1. Восстановление	из	бекапа	и	проигрывание	бинарных	логов	
2. Процесс	бекапа	сразу	на	целевой	сервер
Автоматизация
Автоматизация
• Auto-replace	
• DBManager	
• Naoru,	Wheelhouse
Auto-replace
1. Сервер	почил	в	бозе	
2. Нужно	понять	что	за	проблема	
3. Решить	как	можно	быстрее
Availability (доступность)
MTBF - mean time between failure
MTTR - mean time to repair
MTTR = "time to detect" + "time to remediate"
https://www.vividcortex.com/blog/the-factors-that-impact-availability-visualized
Health check
mysqld:3306	
Node
proxy:3001-3004	
Service	1	
Пишет	heartbeat	в	мастер,	
реплицируется	на	слейвы
Health check
mysqld:3306	
Node
proxy:3001-3004	
Service	1	
Пишет	heartbeat	в	мастер,	
реплицируется	на	слейвы
Service	2	Проверяет	мастер	на	RW.		
Прокси	на	ответ.
Health check
mysqld:3306	
Node
proxy:3001-3004	
Service	1	
Пишет	heartbeat	в	мастер,	
реплицируется	на	слейвы
Service	2	Проверяет	мастер	на	RW.		
Прокси	на	ответ.	
Хранилище	
heartbeat	в	ДЦ
Auto-replace
Auto-replace
Auto-replace
Auto-replace
Auto-replace
Auto-replace
Auto-replace
Reverse health check
Auto-replace
Auto-replace
DBManager
• Умный	планировщик	задач	
• Источник	правды	
• Точка	синхронизации
DBManager
DBManager
Планировщик	и	API
DBManager
Клиенты
DBManager
Воркеры
DBManager
DBManager
DBManager
DBManager
Remediations
• Naoru	-	параноидальная	автоматизация	
• Wheelhouse	-	долгие	процессы	и	стейт	машины
https://m.youtube.com/watch?v=4Fe3DyzPtlo
Мониторинг
Метрики,	инциденты
Мониторинг mysql
Алёрты
Инциденты
Инциденты - анализ
Тестирование, стейджинг и DRT
Интеграционные тесты
• Тестирование	всех	используемых	топологий	
• Тестирование	всех	операций
Интеграционные тесты
➜		topologies	master	ls	
BUILD																										ext_proxy.json	
BUILD.bzl																						master_slave.json	
analytics_master_slave.json				master_slave_multi.json	
clone.json																					master_slave_multi_shards.json	
clone_2dc_free_multi.json						master_slave_shards.json	
clone_2dc_free_shards.json					multiple_clusters.json	
clone_2dc_free_test.json							no_node.json	
clone_shards.json														prodlike_1dc.json	
clone_target_finder.json							prodlike_1dc_multi.json	
cluster.json																			prodlike_1dc_multi_shards.json	
dbtestenv.bzl																		prodlike_1dc_shards.json
Интеграционные тесты
{	
		"mdb_common":	{	
				"tags":	[	
						"db"	
				],	
				"attrs":	{	
						"owner":	"team-server+database-ops",	
						"lifecycle":	"allocated",	
						"databases-isotester":	"shrink_instance",	
						"hwclass":	"mustafa",	
						"metro":	"sjc",	
						"cluster":	"sjc8a",	
						"row":	"c",	
						"os":	"Ubuntu-12.04"	
				}	
		},	
		"nodes":	{	
				"sjc8a-rc04-1a":	{	
						"mdb_overrides":	{	
		"instances":	{	
				"sjc8a-rc04-1a:3306":	{	
						"registered":	true,	
						"register_data":	[	
								{	
										"category":	"schema_test",	
										"tclass":	"master",	
										"port":	3306,	
										"shard_key":	"",	
										"db_name":	"schema_test"	
								},	
								{	
										"category":	"schema_test",	
										"tclass":	"proxy",	
										"port":	3001,	
										"shard_key":	"",	
										"db_name":	"schema_test"	
								},
Интеграционные тесты
class	TestAutoReplaceMaster(BaseIntegrationTest):	
				TOPOLOGY	=	'clone_shards.json'	
				def	test_auto_replace_master(self):	
								with	create_auto_replace_service()	as	auto_replace_service:	
												auto_replace_service.start()	
												cluster	=	self.instances['master'].cluster	
												master_kill	=	KillAllInstancesForce(node=self.nodes[self.master_node])	
												master_kill.run()	
												self.assertFalse(self.instances['master'].instance.is_responsive())	
												new_master	=	cluster.get_master_by_registry().config	
												self.assertIn(new_master,	[self.instances['slave1']])	
												self.assertTrue(new_master.state	==	'master')	
												self.assertIsNone(new_master.instance.get_master())	
												self.assertNotIn('mysql',	self.nodes[self.master_node].mdb.tags)	
												self.assertNotIn('master',	self.nodes[self.master_node].mdb.tags)
Stages
• Интеграционное	тестирование	в	реальной	инфраструктуре	
• Под	искусственной,	но	близкой	к	реальной	нагрузкой	
• Тестирование	алёртов/метрик	
• Тестирование	всей	автоматизации	вместе	(в	тестах	системы	
разделены)
DRT (Disaster recovery testing)
• Тестируем	наши	гарантии	
• Клиенты	готовы	к	ошибкам	(замена	и	смерть	мастера)	
• Бизнес	часы	дежурства,	меньше	стресса.
Заключение
1. Всё	автоматизировать	(не	лезть	руками)
Заключение
1. Всё	автоматизировать	(не	лезть	руками)	
2. Постоянные	автоматизированные	тесты	(и	в	продакшене)
Заключение
1. Всё	автоматизировать	(не	лезть	руками)	
2. Постоянные	автоматизированные	тесты	(и	в	продакшене)	
3. Владеть	клиентами	(библиотеками)
Заключение
1. Всё	автоматизировать	(не	лезть	руками)	
2. Постоянные	автоматизированные	тесты	(и	в	продакшене)	
3. Владеть	клиентами	(библиотеками)	
4. Соблюдать	принципы	и	проверять	свои	гарантии
Заключение
1. Всё	автоматизировать	(не	лезть	руками)	
2. Постоянные	автоматизированные	тесты	(и	в	продакшене)	
3. Владеть	клиентами	(библиотеками)	
4. Соблюдать	принципы	и	проверять	свои	гарантии
6000	серверов	баз	данных	на	5	человек
Вопросы?
twitter: m0sth8
email: m0sth8@gmail.com
Не влезло
Сплит шардов (two way)
1. Добавляем	3	слейва	в	основном	дц,	2	в	дополнительном	
2. Выбираем	таргет	слейв(будущий	новый	мастер)	
3. Реперентим	часть	слейвов	на	таргет	слейв	
4. Промоутим	только	часть	шардов	на	таргет	слейв	
5. Переименовываем	базы	данных	
1. на	1-ом	SHARD_5-8_REMOVED	
2. на	2-ом	SHARD_1-4_REMOVED	
6. У	нас	теперь	два	кластера	с	разделёнными	шардами.
Discovery - 2 Каждый	шард	это	нода	в	зукипере
Remediations by Naoru
																																														A	human	operator	must	authorize	execution	here,	
																																																	unless	the	Prescription	was	instantiated	
																																																							with	run_automatically=True	
																																																																				+	
																																																																				+	
																																																																				+	
																					Issues				Issue																			Prescription	+																									IssuePullPlugin	
				IssuePullPlugin	--------*--------->	DiagnosePlugin	-------------+>	RemediatePlugin	---->	verifies	that	the	------|	
			^															^																			^														^													+	^															^						issue	is	no	longer						^	
			|															|																			|														|															|															|										a	problem											|	
	Hooks											Hooks															Hooks										Hooks											Hooks											Hooks																										Hooks	
																											Hooks	have	the	ability	to	
																											postpone	execution	or	even	
																														to	completely	deny	it
Параноидальная автоматизация
Naoru
Alerting
Naoru
Naoru
Alerting
Diagnose
Plugin
Naoru
1. Проверить	что	ssh	работает	
2. Подключиться	по	IPMI	
A. Нет	ответа	-	Перезагрузка	
B. Зависло	в	initramfs	-	Деаллокация	машины	
C. CPU	soft	lockup	-	Перезагрузка
Naoru
Alerting
Diagnose
Plugin
Remediate
Plugin
Авторизация
оператором
Naoru
Naoru
Alerting
Diagnose
Plugin
Remediate
Plugin
Авторизация
оператором
Hooks
Naoru
Naoru
Alerting
Diagnose
Plugin
Remediate
Plugin
Авторизация
оператором
Hooks
Naoru
Naoru
Alerting
Diagnose
Plugin
Remediate
Plugin
Авторизация
оператором
HooksHooks
Wheelhouse
• Сложная	и	долгая	автоматизация	
• Обновление	ядра	или	версии	БД	
• Перемещение	серверов	из	одной	стойки	в	другую	
• 	http://bitly.com/stm-dropbox	<-	пример
Wheelhouse
144
Wheelhouse
145
Wheelhouse
146
Wheelhouse
147
Wheelhouse
148
Wheelhouse
149
Wheelhouse
150
Wheelhouse
151
Wheelhouse
152
Wheelhouse
• Только один маленький блок
• Переиспользуем в других проектах
153
DRT (Disaster recovery testing)
DRT (Disaster recovery testing)

More Related Content

What's hot

Client optimization drupal
Client optimization drupalClient optimization drupal
Client optimization drupalYury Glushkov
 
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"Yandex
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Tanya Denisyuk
 
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo). С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo). Badoo Development
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Ontico
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Ontico
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
 
Отказоустойчивые решения SQL
Отказоустойчивые решения SQLОтказоустойчивые решения SQL
Отказоустойчивые решения SQLAndrey Korshikov
 
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...CodeFest
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаDaniel Podolsky
 
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Ontico
 
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Ontico
 
Big switch: жизнь после Microsoft
Big switch: жизнь после MicrosoftBig switch: жизнь после Microsoft
Big switch: жизнь после MicrosoftAlexander Byndyu
 
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)Ontico
 
Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"IT Event
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Tanya Denisyuk
 
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва  Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва it-people
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовMax Lapshin
 
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)Ontico
 

What's hot (20)

Client optimization drupal
Client optimization drupalClient optimization drupal
Client optimization drupal
 
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"
 
1c bitrix-cluster-et
1c bitrix-cluster-et1c bitrix-cluster-et
1c bitrix-cluster-et
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"
 
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo). С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
Отказоустойчивые решения SQL
Отказоустойчивые решения SQLОтказоустойчивые решения SQL
Отказоустойчивые решения SQL
 
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилища
 
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
 
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
 
Big switch: жизнь после Microsoft
Big switch: жизнь после MicrosoftBig switch: жизнь после Microsoft
Big switch: жизнь после Microsoft
 
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
 
Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"Алексей Рагозин "Java и linux борьба за микросекунды"
Алексей Рагозин "Java и linux борьба за микросекунды"
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
 
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва  Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядов
 
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
Олег Бартунов (ГАИШ МГУ), Александр Коротков (Интаро-Софт)
 

Viewers also liked

DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)Ontico
 
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)Ontico
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Ontico
 
Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)
Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)
Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)Ontico
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Ontico
 
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...Ontico
 
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Ontico
 
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Ontico
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Ontico
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...Ontico
 
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Ontico
 
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...Ontico
 
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)Ontico
 
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)Ontico
 
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ) Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ) Ontico
 
Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)
Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)
Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)Ontico
 
Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...Ontico
 
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Ontico
 

Viewers also liked (20)

DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
 
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
 
Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)
Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)
Введение в блокчейн и алгоритмы консенсуса / Филипп Филиппак (Waves Platform)
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
 
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
Как мы сделали многопользовательскую браузерную игру для HL++ с воксельной гр...
 
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
 
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
 
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
 
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
 
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
 
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
 
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ) Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
Организации в бирюзовом цвете / Мария Груздева (НИУ ВШЭ)
 
Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)
Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)
Полнотекстовый поиск в PostgreSQL / Александр Алексеев (Postgres Professional)
 
Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...Database First! О распространённых ошибках использования РСУБД / Николай Само...
Database First! О распространённых ошибках использования РСУБД / Николай Само...
 
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
 

Similar to Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шардов / Слава Бахмутов (Dropbox)

Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров 1С-Битрикс
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и DrupalPVasili
 
Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)Ontico
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Andrey Akulov
 
Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015rusbase
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииDenis Latushkin
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)Pavel Alexeev
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data ServicesMedia Gorod
 
20160330 Приложение с использованием данных с сервера (EMS)
20160330 Приложение с использованием данных с сервера (EMS) 20160330 Приложение с использованием данных с сервера (EMS)
20160330 Приложение с использованием данных с сервера (EMS) Andrew Sovtsov
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
AZadonsky New Cloud Services
AZadonsky New Cloud ServicesAZadonsky New Cloud Services
AZadonsky New Cloud ServicesVasily Demin
 
Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Vad Tymoshyk
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Облачные технологии + Dropbox
Облачные технологии + DropboxОблачные технологии + Dropbox
Облачные технологии + DropboxEvgeny Smirnov
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Artur Baranok
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...ForkConf
 

Similar to Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шардов / Слава Бахмутов (Dropbox) (20)

Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и Drupal
 
Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)Интеграция сайта с облачным хранилищем (Александр Демидов)
Интеграция сайта с облачным хранилищем (Александр Демидов)
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
 
Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложении
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data Services
 
20160330 Приложение с использованием данных с сервера (EMS)
20160330 Приложение с использованием данных с сервера (EMS) 20160330 Приложение с использованием данных с сервера (EMS)
20160330 Приложение с использованием данных с сервера (EMS)
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
AZadonsky New Cloud Services
AZadonsky New Cloud ServicesAZadonsky New Cloud Services
AZadonsky New Cloud Services
 
Что нового в 11.0?
Что нового в 11.0?Что нового в 11.0?
Что нового в 11.0?
 
Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016
 
Укрощение XML
Укрощение XMLУкрощение XML
Укрощение XML
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Облачные технологии + Dropbox
Облачные технологии + DropboxОблачные технологии + Dropbox
Облачные технологии + Dropbox
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шардов / Слава Бахмутов (Dropbox)