SlideShare una empresa de Scribd logo
1 de 73
Descargar para leer sin conexión
Cassandra	для	
хранения	метаданных:	
успехи	и	провалы	
Андрей Смирнов, Virtustream
Пару	слов	о	себе…
Principal	SoDware	Engineer	at	Virtustream	
Полностью	удаленная	команда	
Virtustream:	облако	для	enterprise
Virtustream	Storage	Cloud
Region:	us
Site	A
Site	B
async

replica2on
DNS

Load	Balancer
Customer
S3-compa2ble

API
AcRve-AcRve
Перенаправление	операций	в	“ближайший”	ДЦ	
Доступность	данных	при	отказе	ДЦ	
Чтение	и	запись	при	отказе	ДЦ	или	потере	связности
Object
Data



001110110011010101

101010101010101100

10101111011011011…
immutable
Metadata



owner:	user1

size:	3456

acl:	private

…
mutable,

business	logic
Цифры
Данные:	4	Пбайта	
Кластеры	метаданных:	3	
Объекты:	40	миллиардов		
Объем	метаданных:	160	Тбайт	(с	учетом	репликации)	
Скорость	изменений	(метаданных):	3000	объектов/с
Выбор	хранилища	для	метаданных
Поддержка	acRve-acRve	
Масштабируемость	
Баланс	отказоустойчивости	и	надежности	хранения	
Настраиваемая	консистентность	операций
Cassandra
Cassandra
Локальное	KV-хранилище	на	каждом	узле	
Шардирование	данных	по	узлам	(consistent	hashing)	
Координатор	для	перенаправления	запросов	к	другим	узлам
Стадии	познания
время
Хорошее
Время	отклика	в	миллисекундах	
Высокая	масштабируемость	по	записи	
Отказоустойчивость	
Простота
!	Потеря	объектов
Худший	день	в	истории	сервиса	или	почему	уровень	
консистентности	так	важен
Схема	хранения	объектов
bucket key current_version
backup2017 01/03/data.tar.gz 135
backup2017 01/04/data.tar.gz
photos IMG_0175.JPG 149
objects
object_versions
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 134 421343dc owner:	X,	…
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X,	…
backup2017 01/04/data.tar.gz 278 4e7ab0d4 owner:	X,	…
photos IMG_0175.JPG 149 1a2058a6 owner:	Y,	…
Схема	хранения	объектов
bucket key current_version
backup2017 01/03/data.tar.gz 135
backup2017 01/04/data.tar.gz
photos IMG_0175.JPG 149
objects
object_versions
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 134 421343dc owner:	X,	…
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X,	…
backup2017 01/04/data.tar.gz 278 4e7ab0d4 owner:	X,	…
photos IMG_0175.JPG 149 1a2058a6 owner:	Y,	…
Очистка	ненужных	версий
bucket key current_version
backup2017 01/03/data.tar.gz 135
backup2017 01/04/data.tar.gz
photos IMG_0175.JPG 149
objects
object_versions
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 134 421343dc owner:	X,	…
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X,	…
backup2017 01/04/data.tar.gz 278 4e7ab0d4 owner:	X,	…
photos IMG_0175.JPG 149 1a2058a6 owner:	Y,	…
Беда	пришла	незаметно…
Site	A Site	B
асинхронная	репликация
очистка
LOCAL_QUORUM LOCAL_QUORUM LOCAL_QUORUM
3	реплики 3	реплики+
bucket key current_version
backup2017 01/03/data.tar.gz
bucket key current_version
backup2017 01/03/data.tar.gz 135
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X
Site	A
Site	B
bucket key current_version
backup2017 01/03/data.tar.gz
bucket key current_version
backup2017 01/03/data.tar.gz 135
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X
bucket key version locaRon metadata
backup2017 01/03/data.tar.gz 135 76fa9949 owner:	X
Site	A
Site	B
💡Решение
Consistency	ALL:	
очень	медленно	
зависимость	от	доступности	всех	узлов	
зато	сразу	read-repair
#	Зомби
Зачем	нужны	tombstone	или	почему	надо	делать

регулярный	repair	кластера
Удаление	в	Cassandra
1 2 3 4 5 6
XX X X X X
Удаление	в	Cassandra
1 2 3 4 5 6
X
Удаление	в	Cassandra
1 2 3 4 5 6
X
X
Удаление	в	Cassandra
1 2 3 4 5 6
XX X X X X
Удаление	в	Cassandra
1 2 3 4 5 6
XX X X X X
Удаление	в	Cassandra
1 2 3 4 5 6
XX X X X X
X
Tombstone
Удаление	==	запись	
Tombstone	имеет	маленький	размер	
Tombstone	удаляется	через	gc_grace_period	секунд
Repair
1 2 3 4 5 6
X X
Repair
1 2 3 4 5 6
X X
Repair
1 2 3 4 5 6
X XX X X X
💡Решение
Repair	по	расписанию,	автоматизация	процесса	
gc_grace_period	>	интервала	repair
$	Large	parRRon
Как	сохранить	отсортированный	список	ключей	заранее		
неизвестной	структуры,	не	убив	при	этом	Cassandra
Список	объектов	в	бакете
bucket key current_version
backup2017 01/03/data.tar.gz 135
backup2017 01/04/data.tar.gz 1456
backup2017 02/01/data.tar.gz 149
objects
SELECT	*	FROM	objects	WHERE	bucket	=	?
Список	объектов	в	бакете
bucket key current_version
backup2017 01/03/data.tar.gz 135
backup2017 01/04/data.tar.gz 1456
backup2017 02/01/data.tar.gz 149
objects
primary	key
SELECT	*	FROM	objects	WHERE	bucket	=	?
Список	объектов	в	бакете
bucket key current_version
backup2017 01/03/data.tar.gz 135
backup2017 01/04/data.tar.gz 1456
backup2017 02/01/data.tar.gz 149
objects
primary	key
SELECT	*	FROM	objects	WHERE	bucket	=	?
bucket key metadata
backup2017 01/03/data.tar.gz size:	1455,	…
backup2017 01/04/data.tar.gz size:	1459,	…
backup2017 02/01/data.tar.gz size:	1470,	…
bucket_contents
composite	key
primary	key
bucket key metadata
backup2017 01/03/data.tar.gz size:	1455,	…
backup2017 01/04/data.tar.gz size:	1459,	…
backup2017 02/01/data.tar.gz size:	1470,	…
bucket_contents
composite	key
primary	key
SELECT	*	FROM	bucket_contents	

WHERE	bucket	=	?	AND	key	>	?	ORDER	BY	key
bucket key metadata
backup2017 01/03/data.tar.gz size:	1455,	…
backup2017 01/04/data.tar.gz size:	1459,	…
backup2017 02/01/data.tar.gz size:	1570,	…
bucket_contents
bucket key metadata
backup2017 01/03/data.tar.gz size:	1455,	…
backup2017 01/04/data.tar.gz size:	1459,	…
backup2017 02/01/data.tar.gz size:	1570,	…
bucket_contents
bucket key:	01/03/data.tar.gz key:	01/04/data.tar.gz key:	02/01/data.tar.gz …
backup2017 size:	1455,	… size:	1459,	… size:	1570,	… …
на	самом	деле:
ширина	=	размер	бакета
bucket key metadata
backup2017 01/03/data.tar.gz size:	1455,	…
backup2017 01/04/data.tar.gz size:	1459,	…
backup2017 02/01/data.tar.gz size:	1570,	…
bucket_contents
bucket key:	01/03/data.tar.gz key:	01/04/data.tar.gz key:	02/01/data.tar.gz …
backup2017 size:	1455,	… size:	1459,	… size:	1570,	… …
на	самом	деле:
ширина	=	размер	бакета
LARGE	PARTITION!
Хеширование
bucket	+	key_hash	-	партиция:	
размер	партиции	должен	быть	ограничен	сверху	
возможность	быстро	получить	отсортированный	список	ключей
bucket key_hash key metadata
backup2017 ? 01/03/data.tar.gz size:	1455,	…
backup2017 ? 01/04/data.tar.gz size:	1459,	…
backup2017 ? 02/01/data.tar.gz size:	1470,	…
bucket_contents
primary	key
Статическое	хеширование:	hash
bucket key_hash key
backup2017 0 …
backup2017 1 …
backup2017 … …
backup2017 N-1 …
key hash
Как	выбрать	N?	Как	его	изменить?	
Выборка	отсортированного	списка	-	запрос	ко	всем	key_hash
Статическое	хеширование:	префикс
Как	угадать	распределение	ключей	в	бакете?	
Сколько	символов	в	префиксе?
bucket key_hash key
backup2017 A Aa,	Ab,	Ac,	…
backup2017 B Ba,	Bb,	Bc,	…
backup2017 … …
backup2017 Z Za,	Zb,	Zc,	…
key LEFT(x,	1)
Динамическое	распределение
bucket key_hash key
backup2017 4 …
backup2017 7 …
backup2017 … …
backup2017 3123 …
key DT
bucket keys key_hash
backup2017 [‘’,	‘A1’) 33
backup2017 [‘A1’,	‘Ca5’) 48
backup2017 … …
backup2017 [‘ZZa1’,	∞) 11
distribu2on_table:
Динамическое	хеширование
Динамическая	таблица	распределения	
Генетический	алгоритм	для	поиска	идеального	распределения	и	
идеального	перераспределения	
Подсчет	размера	патриции	вне	Cassandra	
Online-перераспределение	(без	остановки	операций	и	потери	
консистентности)
💡Решение
Никогда,	никогда	не	допускайте	появления	large	par22on	
Разбивайте	данные	по	primary	key	в	зависимости	от	задачи
%Проблемы	производительности
Почему	узлы	Cassandra	на	самом	деле	не	совсем	независимы	или	
почему	нужна	детальная	статистика	на	уровне	узла	(таблицы)
Сложности	интерпретации
Время	отклика	координатора	(сам	узел	vs.	реплики)	
Конкретная	таблица	или	весь	узел?	
GC	Pause?	Недостачный	Thread	Pool?	
Слишком	много	uncompacted	SSTables?
Понимание	контекста
Работает	ли	repair?	
Замена/добавление	узла?	Streaming?	
Проблемы	с	“железом”?	
Проблемы	JVM?
💡Решение
Детальный	мониторинг	как	со	стороны	кластера,	так	и	со	стороны	
приложения	
Тюнинг	JVM	(бесконечный	процесс)	
Избегать	large	parRRon,	batch,	condiRonal	update,	…
&«Испорченные»	данные
Про	то,	как	Cassandra	испортила	данные,	а	мы	искали	иголку	в	
стоге	сена	(и	нашли)
Проблема
Примерно	раз	в	неделю…	
несколько	десятков	испорченных	строк	(мусор)…	
которые	невозможно	прочитать
Поиски
Поиски
Общий	узел
Поиски
Общий	узел
Плохой	диск
Поиски
Общий	узел
Плохой	диск
Плохая	память
Поиски
Общий	узел
Плохой	диск
Плохая	память
Проблема	репликации
Поиски
Общий	узел
Плохой	диск
Плохая	память
Проблема	репликации
Проблема	приложения
Поиски
Общий	узел
Плохой	диск
Плохая	память
Проблема	репликации
Проблема	приложения
Общий	узел	
Плохой	диск	
Плохая	память	
Проблема	репликации	
Проблема	приложения
Иголка	нашлась!
Хм…	а	почему	JVM	crash	dump?	
А	почему	в	stack	trace	часто	есть	G1GC?	
А	что	за	версию	JVM	мы	используем?	Из	2015	г.?	🤦
Восстановление	данных
Backup	не	поможет	
Частичное	восстановление	неповрежденных	колонок	
Восстановление	из	разных	источников	
Логи	-	это	бесценно!
💡Решение
Обновляйте	JVM	после	длительного	тестирования	
Мониторинг	JVM	сrash	
Имейте	независимую	от	Cassandra	копию	данных
🐞Баги
🐞Баги
Низкое	качество	тестирования	релизов
🐞Баги
Низкое	качество	тестирования	релизов
Постоянные	проблемы	со	сложными	фичами
🐞Баги
Низкое	качество	тестирования	релизов
Постоянные	проблемы	со	сложными	фичами
…	не	используйте	инкрементальный	repair	в	2.1	🤦
🐞Баги
Низкое	качество	тестирования	релизов
Постоянные	проблемы	со	сложными	фичами
…	не	используйте	инкрементальный	repair	в	2.1	🤦
…	не	используйте	инкрементальный	repair	в	3.x	🤦	🤦	🤦
🐞Баги
Низкое	качество	тестирования	релизов
Постоянные	проблемы	со	сложными	фичами
…	не	используйте	инкрементальный	repair	в	2.1	🤦
…	не	используйте	инкрементальный	repair	в	3.x	🤦	🤦	🤦
Надо	следить	за	JIRA
Предсказуемость
PostgreSQL Redis
предсказуемонепредсказуемо
MySQLCassandra
Cassandra	-	это	хорошо	и	нескучно!	
Только	помните	о	кочках	на	дороге!

Más contenido relacionado

La actualidad más candente

Apache Spark — Егор Пахомов
Apache Spark — Егор ПахомовApache Spark — Егор Пахомов
Apache Spark — Егор ПахомовYandex
 
Hadoop > cascading -> cascalog (very short)
Hadoop  > cascading -> cascalog (very short)Hadoop  > cascading -> cascalog (very short)
Hadoop > cascading -> cascalog (very short)Andrew Panfilov
 
PostgreSQL Streaming Replication
PostgreSQL Streaming ReplicationPostgreSQL Streaming Replication
PostgreSQL Streaming ReplicationAlexey Lesovsky
 
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Ontico
 
Введение. Key-value.
Введение. Key-value.Введение. Key-value.
Введение. Key-value.Vadim Tsesko
 
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...PavelKonotopov
 
Hadoop implementation in Wikimart
Hadoop implementation in WikimartHadoop implementation in Wikimart
Hadoop implementation in WikimartRoman Zykov
 
Базы данных. Hash & Cache
Базы данных. Hash & CacheБазы данных. Hash & Cache
Базы данных. Hash & CacheVadim Tsesko
 
Call of Postgres: Advanced Operations (part 2)
Call of Postgres: Advanced Operations (part 2)Call of Postgres: Advanced Operations (part 2)
Call of Postgres: Advanced Operations (part 2)Alexey Lesovsky
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...Ontico
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupMail.ru Group
 
Базы данных. Введение
Базы данных. ВведениеБазы данных. Введение
Базы данных. ВведениеVadim Tsesko
 
Apache cassandra (rus)
Apache cassandra (rus)Apache cassandra (rus)
Apache cassandra (rus)Dmitriy Gutman
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)Ontico
 
Software Transactional Memory
Software Transactional MemorySoftware Transactional Memory
Software Transactional MemoryVadim Tsesko
 
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Magneta AI
 
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Badoo Development
 
Новые возможности и оптимизация запросов в Google BigQuery
Новые возможности и оптимизация запросов в Google BigQueryНовые возможности и оптимизация запросов в Google BigQuery
Новые возможности и оптимизация запросов в Google BigQueryМаркетинг-аналитика с OWOX BI
 
SAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentationSAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentationNikolay Samokhvalov
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Ontico
 

La actualidad más candente (20)

Apache Spark — Егор Пахомов
Apache Spark — Егор ПахомовApache Spark — Егор Пахомов
Apache Spark — Егор Пахомов
 
Hadoop > cascading -> cascalog (very short)
Hadoop  > cascading -> cascalog (very short)Hadoop  > cascading -> cascalog (very short)
Hadoop > cascading -> cascalog (very short)
 
PostgreSQL Streaming Replication
PostgreSQL Streaming ReplicationPostgreSQL Streaming Replication
PostgreSQL Streaming Replication
 
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
 
Введение. Key-value.
Введение. Key-value.Введение. Key-value.
Введение. Key-value.
 
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
 
Hadoop implementation in Wikimart
Hadoop implementation in WikimartHadoop implementation in Wikimart
Hadoop implementation in Wikimart
 
Базы данных. Hash & Cache
Базы данных. Hash & CacheБазы данных. Hash & Cache
Базы данных. Hash & Cache
 
Call of Postgres: Advanced Operations (part 2)
Call of Postgres: Advanced Operations (part 2)Call of Postgres: Advanced Operations (part 2)
Call of Postgres: Advanced Operations (part 2)
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...PostgreSQL: практические примеры оптимизации SQL-запросов /  Иван Фролков (Po...
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
 
Базы данных. Введение
Базы данных. ВведениеБазы данных. Введение
Базы данных. Введение
 
Apache cassandra (rus)
Apache cassandra (rus)Apache cassandra (rus)
Apache cassandra (rus)
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Software Transactional Memory
Software Transactional MemorySoftware Transactional Memory
Software Transactional Memory
 
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
 
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
 
Новые возможности и оптимизация запросов в Google BigQuery
Новые возможности и оптимизация запросов в Google BigQueryНовые возможности и оптимизация запросов в Google BigQuery
Новые возможности и оптимизация запросов в Google BigQuery
 
SAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentationSAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentation
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
 

Similar a Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtustream)

распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2rit2011
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Ontico
 
Azure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAzure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAlexey Bokov
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
Введение в Apache Cassandra
Введение в Apache CassandraВведение в Apache Cassandra
Введение в Apache CassandraAlexander Tivelkov
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»DataArt
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Ontico
 
Krizhanovsky Ddos
Krizhanovsky DdosKrizhanovsky Ddos
Krizhanovsky DdosLiudmila Li
 
Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...
Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...
Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...Ontico
 
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...Michael Oreshin
 
Живые приложения с Rx
Живые приложения с RxЖивые приложения с Rx
Живые приложения с RxGoSharp
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Andrey Akulov
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунетаCEE-SEC(R)
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров 1С-Битрикс
 
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей ПантюхинExtreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей ПантюхинFuenteovejuna
 

Similar a Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtustream) (20)

распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
Azure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAzure for IT pro - TechDays Armenia
Azure for IT pro - TechDays Armenia
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
Cache in web (Secon 2008)
Cache in web (Secon 2008)Cache in web (Secon 2008)
Cache in web (Secon 2008)
 
Administrarea DSpace
Administrarea DSpaceAdministrarea DSpace
Administrarea DSpace
 
Веб-кластер
Веб-кластерВеб-кластер
Веб-кластер
 
Введение в Apache Cassandra
Введение в Apache CassandraВведение в Apache Cassandra
Введение в Apache Cassandra
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
 
Krizhanovsky Ddos
Krizhanovsky DdosKrizhanovsky Ddos
Krizhanovsky Ddos
 
Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...
Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...
Эффективные алгоритмы поиска подобных объектов для терабайтов данных / Евгени...
 
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
СУБД PostgreSQL ИЗ ДИСТРИБУТИВА ОПЕРАЦИОННОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ ...
 
Живые приложения с Rx
Живые приложения с RxЖивые приложения с Rx
Живые приложения с Rx
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Azure for retails
Azure for retailsAzure for retails
Azure for retails
 
Cassandra
CassandraCassandra
Cassandra
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров
 
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей ПантюхинExtreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
 

Más de 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
 

Más de 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...
 

Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtustream)