Что такое запись в буфер? - PullRequest
1 голос
/ 14 ноября 2010

Может ли кто-нибудь помочь мне понять, что такое запись в буфер? MySQL говорит, что я особенно заинтересован в изучении его функций в системах контекстных баз данных! Было бы полезно кое-что из следующего:

  1. Какова цель записи в буфер
  2. Есть ли какие-либо преимущества в производительности
  3. Пример записи в буфер в приложении базы данных

Я сталкивался с этим термином несколько раз и не мог понять его значение.

Спасибо

1 Ответ

1 голос
/ 14 ноября 2010

Представьте себе компьютер с 100М памяти, работающий с базой данных.База данных хранит данные в файлах, но также хранит 50М в памяти в буферах.Если есть запрос данных (SELECT или INSERT), запрос может быть обработан из буферов в памяти, что намного быстрее, чем весь путь к диску.

Буферизация запроса на доступ к информации в файлах базы данных по сути является кешированием запросов на дисковый ввод-вывод.Если информация вставлена, то УДАЛИТЬ в течение очень короткого периода времени, запись на диск может быть ненужной.Не запись (буферы) значительно повышает производительность.

Если в качестве запроса на ВСТАВКУ 100 МБ данных в базу данных, то все ожидающие записи (от буферов до диска) должны быть выполнены.Затем как минимум половина новых данных записывается на диск.Данные должны быть записаны, потому что недостаточно памяти для 100M новых данных плюс 50M старых данных, чтобы все находилось в памяти.Эта необходимость записать некоторые существующие буферы на диск снижает производительность.К счастью, только буферы, содержащие измененные или новые записи, должны быть записаны (или очищены) на диск.Эти измененные буферы называются «грязными».

После вышеупомянутого INSERT в 100M, около 50M новых данных могут временно храниться в памяти до тех пор, пока не станет наиболее удобным для записи - потому что не запись увеличивает производительность.Удобное время для записи измененных записей обратно на диск, когда система некоторое время простаивает.Запись (запись в буфер), когда система простаивает, не снижает производительность.

...