Jump to content

Надгробие (хранилище данных)

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

Мотивация

[ редактировать ]

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

Удаление надгробий

[ редактировать ]

Чтобы не заполнять хранилище данных бесполезной информацией, существует политика полного удаления надгробий. Для этого система проверяет возраст надгробия и удаляет его по истечении заданного времени. В Apache Cassandra прошедшее время устанавливается с помощью параметра GCGraceSeconds параметр [ 1 ] и этот процесс называется уплотнением. [ 2 ] Сжатие потребляет системные ресурсы, а также замедляет вычислительную мощность. [ 2 ] [ 3 ]

Последствия

[ редактировать ]

Из-за отложенного удаления удаленная информация будет отображаться как пустая после удаления содержимого некоторых столбцов ряда записей. После сжатия неиспользуемые столбцы будут удалены из этих записей. [ 4 ] [ самостоятельный источник ]

  1. ^ Перейти обратно: а б с «Распределенныеудаления» . Фонд программного обеспечения Apache . Архивировано из оригинала 11 мая 2011 г. Проверено 13 апреля 2011 г. Таким образом, «конечная» консистентность: если клиент читает из реплики, которая не получила обновление с достаточно низким уровнем ConsistencyLevel, он потенциально увидит старые данные. [...] Есть еще один аспект проблемы: как мы узнаем, когда можно безопасно удалять надгробия? [...] [Он] определил константу GCGraceSeconds и заставил каждый узел локально отслеживать возраст надгробия. Как только он устареет, превысив константу, его можно будет собрать во время сжатия (см. MemtableSSTable).
  2. ^ Перейти обратно: а б «Что такое надгробия» . Апач Кассандра . Проверено 18 июня 2019 г.
  3. ^ «Удаление надгробий в Кассандре» . ИБМ . 21 мая 2018 года . Проверено 18 июня 2019 г.
  4. ^ «Руководство пользователя: Работа с надгробиями» . Гитхаб . Проверено 13 апреля 2011 г. Если представить это в контексте примера, предположим, что мы только что создали 10 строк данных по три столбца в каждой. Если половина столбцов позже будет удалена, а уплотнение еще не произошло, эти столбцы будут отображаться в запросах get_range_slices как пустые. Используя RangeSlicesQuery, как описано в предыдущем разделе, мы получим 10 результатов, но только пять из них будут иметь значения. Что еще более важно, вызовы get (через ColumnQuery) изначально предполагают, что извлекаемый вами столбец существует в хранилище. Поэтому, если вы вызываете get для захороненных данных, возвращается значение null (примечание: это отличается от предыдущих версий Hector, где базовое исключение NotFoundException распространялось вверх по стеку).
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ee5e456e013ea1bd233bfc16cc81e619__1712033760
URL1:https://arc.ask3.ru/arc/aa/ee/19/ee5e456e013ea1bd233bfc16cc81e619.html
Заголовок, (Title) документа по адресу, URL1:
Tombstone (data store) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)