У нас вы можете посмотреть бесплатно Лучший способ ускорить работу с базами данных (хак с использованием LSM-дерева) или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Помните День 23 (Фильтры Блума)? Мы создали интеллектуальный фильтр для защиты нашей базы данных от ненужных операций чтения. Сегодня мы углубимся в этот вопрос и заменим традиционный механизм хранения данных, чтобы значительно ускорить запись. Если вы помните День 19 (Cassandra и Gossip), Cassandra использует тот же подход к хранению данных для обработки больших объемов входящих данных. Добро пожаловать в День 24 «100 дней проектирования систем». Сегодня мы перейдем к самому механизму базы данных и рассмотрим одну из самых мощных оптимизаций хранения, описанных в книге «Проектирование ресурсоемких приложений». Проблема случайной записи Традиционные базы данных обновляют записи, выполняя случайные записи по диску для поиска и изменения определенных строк. Жесткие диски крайне неэффективны при произвольном доступе, что делает этот подход медленным и дорогостоящим в больших масштабах. Решение: Журналы только для добавления и Memtable Вместо прямой записи на диск, входящие записи сначала попадают в быструю структуру в оперативной памяти, называемую Memtable. Memtable хранит данные в памяти в отсортированном виде, при этом обеспечивая быструю запись. При записи на диск система избегает произвольного доступа и выполняет последовательную запись, которая значительно быстрее. Очистка SSTable Как только Memtable достигает своего предела размера, он очищается на диск в виде SSTable (отсортированной строковой таблицы). Этот файл является неизменяемым и записывается последовательно, что позволяет базе данных эффективно сохранять большие объемы отсортированных данных. Путь чтения Для чтения данных система сначала проверяет Memtable. Если запись отсутствует, она ищет в самых последних SSTable, а затем в более старых. Фильтры Блума помогают оптимизировать этот процесс, быстро определяя, какие SSTable точно не содержат запрошенный ключ, избегая ненужных обращений к диску. Эта архитектура позволяет базам данных обрабатывать чрезвычайно высокую пропускную способность записи. Однако со временем на диске накапливается множество SSTable. В 25-й день мы рассмотрим компактизацию и то, как базы данных эффективно управляют этими файлами и объединяют их, а также классическое сравнение B-деревьев. Ссылки: «Проектирование ресурсоемких приложений» Мартина Клеппмана (Хранение и извлечение данных) #ПроектированиеСистем #LSMTrees #SSTables #БэкендИнженерия #ПроектированиеБазДляПроектирования #Cassandra #АрхитектураПрограммногоОбразования #DDIA #ТехническоеИнтервью #100ДнейПроектированияСистем #Масштабируемость #ХранениеДанные