ScholarGate
Ассистент

Масштабируемые системы хранения данных

Масштабируемые системы хранения данных распределяют данные по множеству машин для обеспечения емкости, пропускной способности и доступности, превосходящих возможности любого отдельного сервера, при этом маскируя сбои отдельных узлов.

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

Масштабируемая система хранения данных хранит данные в кластере машин, разделяя их для увеличения емкости и пропускной способности и реплицируя для обеспечения долговечности и доступности, так что совокупная система масштабируется с увеличением числа узлов, допуская при этом сбои отдельных узлов.

Scope

Эта тема охватывает распределенные файловые системы, разработанные для стандартных кластеров, распределенные хранилища типа «ключ-значение» и ширококолоночные хранилища, а также методы структурированного наложения (согласованное хеширование и распределенные хеш-таблицы), используемые для разделения и поиска данных в масштабе. Она охватывает разделение данных (шардирование), репликацию для обеспечения долговечности, а также компромиссы между согласованностью и доступностью, которые отличают строго согласованные хранилища от высокодоступных.

Core questions

  • Как данные разделяются и размещаются в большом, постоянно меняющемся наборе узлов?
  • Как достигается долговечность и доступность, несмотря на частые сбои узлов?
  • Какие гарантии согласованности может предоставить масштабируемое хранилище и какой ценой?

Key theories

Кластерные файловые системы
Системы, такие как Google File System, хранят огромные файлы в виде фрагментов, реплицированных на стандартных серверах, оптимизируя их для большого последовательного доступа и рассматривая сбои как норму, а не исключение.
Распределенные структурированные хранилища
Ширококолоночные хранилища и хранилища типа «ключ-значение», такие как Bigtable и Dynamo, разделяют данные по ключам между узлами и реплицируют их, обменивая выразительность запросов и согласованность на горизонтальную масштабируемость и доступность.
Согласованное хеширование и распределенные хеш-таблицы
Согласованное хеширование отображает ключи и узлы на кольцо таким образом, что добавление или удаление узла перемещает лишь небольшую часть ключей, а распределенные хеш-таблицы, такие как Chord, обеспечивают масштабируемый, децентрализованный поиск ключей с логарифмической маршрутизацией.

Clinical relevance

Масштабируемое хранение данных является надежной основой облачных платформ и крупных веб-сервисов: объектные хранилища, базы данных и аналитические конвейеры — все они опираются на распределенные файловые системы и хранилища типа «ключ-значение», выбор разделения и репликации в которых определяет гарантии долговечности и согласованности системы.

History

Одноранговые распределенные хеш-таблицы, такие как Chord (2001), продемонстрировали масштабируемый децентрализованный поиск; Google File System (2003) и Bigtable (2006-2008) показали кластерное хранение структурированных данных; а Amazon Dynamo (2007) популяризировала высокодоступное хранилище типа «ключ-значение», заложив основу современного ландшафта масштабируемых хранилищ и NoSQL.

Debates

Строгая согласованность против высокой доступности в хранилищах
Строго согласованные хранилища упрощают логику приложения, но должны жертвовать доступностью при разделении, в то время как высокодоступные хранилища, такие как Dynamo, допускают временное расхождение и передают разрешение конфликтов приложению; правильный выбор зависит от допустимости устаревания данных.

Key figures

  • Sanjay Ghemawat
  • Werner Vogels
  • Ion Stoica
  • Hari Balakrishnan

Related topics

Seminal works

  • ghemawat2003
  • decandia2007
  • stoica2001

Frequently asked questions

Какую проблему решает согласованное хеширование?
Когда данные разделяются между узлами путем хеширования ключей, наивное хеширование перетасовывает почти все при добавлении или удалении узла. Согласованное хеширование располагает ключи и узлы на кольце таким образом, что такое изменение перемещает лишь небольшую, ограниченную часть ключей, что крайне важно для эластичных, постоянно меняющихся кластеров.

Methods for this concept

Related concepts