Что такое фрагментация базы данных?
Фрагментация базы данных, или шардинг – это шаблон архитектуры базы данных, связанный с горизонтальным секционированием (это разделение строк одной таблицы на несколько различных таблиц, называемых разделами). Каждый раздел имеет одинаковую схему и столбцы, но разные строки. Соответственно, данные, хранящиеся в каждом из них, уникальны и не зависят от данных, хранящихся в других разделах.
Полезно сравнить горизонтальное секционирование с вертикальным. В таблице с вертикальным секционированием целые столбцы разделяются и помещаются в отдельные таблицы. Данные, содержащиеся в одном вертикальном разделе, не зависят от данных во всех остальных таких разделах, каждый из них содержит как отдельные строки, так и отдельные столбцы.
CUSTOMER ID | FIRST NAME | LAST NAME | FAVORITE COLOR |
1 | TAEKO | OHNUKI | BLUE |
2 | O.V. | WRIGHT | GREEN |
3 | SELDA | BAGCAN | PURPLE |
4 | JIM | PEPPER | AUBERGINE |
VP1 | VP2 | |||
CUSTOMER ID | FIRST NAME | LAST NAME | CUSTOMER ID | FAVORITE COLOR |
1 | TAEKO | OHNUKI | 1 | BLUE |
2 | O.V. | WRIGHT | 2 | GREEN |
3 | SELDA | BAGCAN | 3 | PURPLE |
4 | JIM | PEPPER | 4 | AUBERGINE |
HP1 | |||
CUSTOMER ID | FIRST NAME | LAST NAME | FAVORITE COLOR |
1 | TAEKO | OHNUKI | BLUE |
2 | O.V. | WRIGHT | GREEN |
HP2 | |||
3 | SELDA | BAGCAN | PURPLE |
4 | JIM | PEPPER | AUBERGINE |
Фрагментация включает в себя разбиение данных на две или несколько меньших частей, которые называются логическими сегментами. Затем они распределяются по отдельным узлам базы данных, — так называемым физическим сегментам, — которые могут содержать несколько логических сегментов. Данные, хранящиеся во всех сегментах, представляют собой целый набор логических данных.
Сегментированная базы данных – пример архитектуры без общего доступа. Это означает, что все сегменты автономны; они не используют одни и те же данные или вычислительные ресурсы. В некоторых случаях, однако, может иметь смысл копировать определенные таблицы в каждый сегмент, чтобы использовать их для справки. Например, скажем, есть база данных для приложения, которая зависит от фиксированных коэффициентов пересчета для измерений веса. Реплицируя таблицу, содержащую необходимые данные о коэффициенте конверсии, в каждый сегмент, вы можете предоставить каждому сегменту все данные, необходимые для запросов.
Часто фрагментация реализуется на прикладном уровне, то есть приложение включает в себя код, который определяет, какой сегмент передавать на чтение и запись. Однако некоторые системы управления базами данных имеют встроенные возможности фрагментации, что позволяет реализовать ее непосредственно на уровне базы данных.
Теперь давайте рассмотрим некоторые плюсы и минусы этой архитектуры базы данных.
Программное обеспечение
Для устранения проблемы фрагментации существуют программы-дефрагментаторы, принцип работы которых заключается в «сборе» каждого файла из его фрагментов. Общим недостатком таких программ является их медленная работа — процесс дефрагментации обычно занимает очень много времени (до нескольких часов).
Файловые системы
- FAT: MS-DOS 6.x и Windows 4.x содержат утилиту Defrag. Версия для DOS основана на Norton SpeedDisk, версия для Windows — на Diskeeper.
- NTFS: Windows NT 5 и новее содержат дефрагментатор, основанный на Diskeeper. Windows NT 4 и ранее не имели встроенных утилит для дефрагментации.
- ext2 использует дефрагментатор e2defrag.
- ext3: e2defrag может работать с ext3, только если её временно преобразовать в ext2. Вместо этого можно использовать дефрагментатор, не зависящий от файловой системы — например, Shake.
- ext4: e4defrag, работающий за счет создания экстентов и перемещения в них файлов.
Btrfs: используется встроенный оффлайн-дефрагментатор. Опционально поддерживается автоматическая дефрагментация ФС.
XFS: онлайн-дефрагментатор xfs_fsr.
# xfs_fsr -v /dev/sdX1
Информацию о фрагментированности файла можно получить с помощью утилиты filefrag из пакета e2fsprogs.
Когда нужно фрагментировать базу данных?
Вопрос о том, следует ли фрагментировать базу данных, почти всегда является предметом споров. Некоторые считают, что фрагментация баз данных, которые достигли определенного размера, неизбежной; для других это лишняя головная боль, которой следует избегать до тех пор, пока не возникнет критической необходимости.
Поскольку фрагментация – непростая процедура, она обычно выполняется только при работе с очень большими объемами данных. Вот несколько распространенных сценариев, в которых будет полезно сегментировать данные:
- Объем данных приложения увеличивается и скоро превысит емкость хранилища одного узла базы данных.
- Объем операций записи или чтения в БД превосходит возможности отдельного узла или его реплик, что приводит к замедлению отклика или превышению времени ожидания.
- Требуемая приложением пропускная способность сети превышает пропускную способность, доступную для одного узла БД и любых реплик, что приводит к медленной обработке запросов и превышению времени ожидания.
Прежде чем сегментировать данные, вы должны рассмотреть все другие возможности для оптимизации вашей базы данных. Вот некоторые другие средства:
Настройка удаленной БД. Если вы работаете с монолитным приложением, в котором все его компоненты находятся на одном сервере, вы можете повысить производительность своей базы данных, перенеся ее на отдельную машину. Это не так сложно, как фрагментация, поскольку таблицы базы данных остаются нетронутыми. К тому же, это решение позволяет выполнить вертикальное масштабирование базы данных отдельно от остальной инфраструктуры.
Кэширование. Если производительность чтения вашего приложения оставляет желать лучшего, кэширование – это одна из стратегий, которая может улучшить ее. Кэширование подразумевает временное хранение данных, которые уже были запрошены в памяти, что позволяет гораздо быстрее получить к ним доступ позже.
Создание одной или нескольких реплик чтения. Другая стратегия, которая может помочь улучшить производительность чтения, заключается в копировании данных с одного сервера базы данных (ведущего сервера) на один или несколько вторичных (ведомых) серверов. При этом каждая новая запись передается на ведущий сервер, затем копируется на ведомые серверы, а операции чтения производятся исключительно с ведомых серверов. Такое распределение операций чтения и записи защитит любую машину от чрезмерной нагрузки, предотвратит замедления и сбои
Обратите внимание, что создание реплик чтения требует больше вычислительных ресурсов и, следовательно, стоит больше денег.
Переход на больший сервер. В большинстве случаев масштабирование ресурсов сервера БД требует меньше усилий, чем фрагментация
Как и в случае создания реплик чтения, более мощный сервер с большим количеством ресурсов, вероятно, будет стоить больше денег. Соответственно, вам следует менять сервер только в том случае, если это решение действительно окажется лучшим вариантом для вас.
Сторонние программы дефрагментации
Если пользователя не устраивают возможности Windows по дефрагментации дисков, существуют внешние инструменты для поведения этой процедуры.
К ним, например, относятся такие известные и простые в использовании утилиты, как Piriform Defraggler и Ashampoo Magical Defrag.
Программа Defraggler компании Piriform, в отличие от стандартных средств Windows, может искать отдельные файлы и дефрагментировать их. Кроме того, программу можно не устанавливать на жесткий диск.
Magical Defrag, в свою очередь, не требует отдельного процесса дефрагментации, т.к. работает в фоновом режиме и гарантированно дефрагментирует файлы. Недостаток программы заключается в том, что при ее установке загрузка маломощных ПК занимают больше времени.
Работа с Piriform Defraggler
Программа имеет наглядный графический интерфейс для анализа и дефрагментации любых данных на жестких дисках ПК.
Файл-установщик можем в «Настройках» браузера интернет, открываем меню «Загрузки»
Шаг 2. Запустить инсталлятор. Выбрать в раскрывающемся меню (вверху справа) русский язык, и снять, если имеется, галочку с «Install Chrome». Нажать «Install».
Снимаем галочку и нажимаем «Install»
Шаг 3. После запуска Defraggler нажать кнопку «Анализ» и после его выполнения выбрать вкладку «Список файлов». Здесь, щелкнув на файле, можно посмотреть его распределение на диске (отмечен красным).
После запуска Defraggler нажимаем кнопку «Анализ» и после его выполнения выбираем вкладку «Список файлов»
Шаг 4. Щелкнуть «Настройки» и выбрать в выпадающем списке «Расписание». В этом окне, помимо настройки периодичности дефрагментации, можно указать ее тип и дополнительные условия. Нажать «OK».
Щелкаем «Настройки» и выбираем в выпадающем списке «Расписание»
Шаг 5. Нажать «Дефрагментация выбранных» для проведения дефрагментации диска.
Нажимаем «Дефрагментация выбранных»
После проведения указанных настроек у пользователя не должно возникнуть особых проблем с обслуживанием дисков.
Помимо их дефрагментации по расписанию, имеет также смысл запускать этот процесс каждый раз, когда ПК замедляется, держа системные диски в отличной форме.
Как это работает?
Diskeeper работает ненавязчиво в фоновом режиме, поддерживая отличную производительность ПК без вмешательства пользователя: требуется просто установить и забыть о нем. В то время как фоновая работа Diskeeper является невидимой, и ее практически невозможно обнаружить, преимущества в производительности легко увидеть. Запустите программу — и увидите, что ваш компьютер будет испытывать меньше простоев, сократится время загрузки, появится более высокая скорость доступа в сеть и ускоренный просмотр веб-страниц. Кроме того, если вы предотвратите такое явление, как фрагментация памяти, антивирусное сканирование и загрузка всевозможных программ будет происходить гораздо быстрее, чем привыкли видеть.
Помимо этого, ваши персональные компьютеры, ноутбуки и серверы будут служить до трех лет дольше, экономя деньги на ненужное модернизирование. Diskeeper — это наилучшее решение для предотвращения фрагментации и дефрагментации. Только благодаря этому ПО вы получите систему, работающую на оптимальной скорости и с наилучшей производительностью, надежностью и эффективностью использования энергии.
Дефрагментация SSD и USB дисков
Диски SSD (твердотельные диски) и USB-накопители не требуют дефрагментации, т.к. имеют другой способ распределения файлов и ограниченное количество циклов чтения/записи до отказа.
Диски SSD (твердотельные диски) и USB-накопители не требуют дефрагментации
Дефрагментация этих устройств уменьшает продолжительность их работы.
Учитывая высокие скорости чтения и записи в SSD технологии, на дисках этого типа не должно возникать существенного замедления при их продолжительной работе.
ОС Windows «знает» об этой особенности указанных дисков и по умолчанию не дефрагментирует диски SSD.
Что такое фрагментация ДНК?
ДНК (дезоксирибонуклеиновая кислота) – это макромолекула, содержащая генетическую информацию о данных человека. Именно ДНК влияет на рост, развитие, внешность человека и многое другое. При оплодотворении ДНК сперматозоида соединяется с ДНК яйцеклетки. Так образуется уникальный генетический код ребенка.
ДНК состоит из 2 свитых между собой спиралей-цепочек аминокислот. ДНК содержится в ядре каждой клетки организма. Однако если хотя бы одна из двух цепочек разрывается хотя бы в одном месте, происходит нарушение целостности ДНК, это и называется фрагментацией ДНК.
Почему может повреждаться ДНК у сперматозоидов? Важно понимать, что созревающие сперматозоиды – довольно уязвимые клетки, они постоянно подвергаются различным опасностям, которые могут вызывать отклонения в развитии и повреждать ДНК. Вот основные из них:. Атака свободными радикалами
«Бомбардировки» агрессивными свободными радикалами молодых клеток приводят к повреждению различных молекул, а так как ДНК – крупная молекула, которая «занимает» довольно много пространства в клетке, то она является удобной мишенью для свободных радикалов. Поэтому если в организме много свободных радикалов, то и количество «молодых» сперматозоидов с фрагментированными ДНК будет увеличиваться. Для защиты ДНК от свободных радикалов в нашем организме есть антиоксиданты. Чем меньше антиоксидантов, тем вероятней нарушение целостности сперматозоидов.
Атака свободными радикалами. «Бомбардировки» агрессивными свободными радикалами молодых клеток приводят к повреждению различных молекул, а так как ДНК – крупная молекула, которая «занимает» довольно много пространства в клетке, то она является удобной мишенью для свободных радикалов. Поэтому если в организме много свободных радикалов, то и количество «молодых» сперматозоидов с фрагментированными ДНК будет увеличиваться. Для защиты ДНК от свободных радикалов в нашем организме есть антиоксиданты. Чем меньше антиоксидантов, тем вероятней нарушение целостности сперматозоидов.
Повышенное количество свободных радикалов может возникать по следующим причинам:
- сигареты и алкоголь;
- возраст;
- электромагнитные излучения;
- инфекционные заболевания;
- загрязненный воздух в промышленных городах;
- вдыхание автомобильных выхлопов;
- недостаточное количество свежих сезонных овощей и фруктов;
- прием некоторых лекарств (особенно от гипертонии, которые нередко назначают мужчинам 45+).
Атоптоз, то есть естественная гибель сперматозоида, из-за которой происходит распад сперматозоида. Из-за атоптоза в сперме постоянно содержится определенная доля «фрагментированных» сперматозоидов (нормальный уровень – 15% от общего числа). Если мужчина бесплоден, то это значение может доходить до 30%, иногда выше. При этом спермограмма может показывать нормальные результаты по обычным параметрам.
В таких ситуациях необходимо сдать ДНК на фрагментацию сперматозоидов.
Показания к анализу фрагментации ДНК сперматозоидов:
- «привычные» выкидыши на ранних этапах беременности;
- ненаступление беременности у здоровой женщины при нормальной спермограмме (это называется идиопатическим мужским бесплодием).
Что представляет собой дефрагментация
Под дефрагментацией подразумевают обратный процесс — склеивание файлов для облегчения их чтения. При этом происходит следующее: целые файлы записывают в начало очереди, а в конце её остаётся свободное пространство для новой информации. Происходит упорядочивание файловой системы, необходимое для ускорения чтения данных.
Дефрагментация позволяет:
- ускорить выгрузку данных с диска;
- увеличить скорость записи на накопитель;
- увеличить быстродействие в программах, требующих много ресурсов;
- быстрее запускать приложения и файлы.
Преимущество этой процедуры в том, что её позволяется настроить по расписанию. К примеру, проводить один или несколько раз в неделю, когда ПК не используется.
Дефрагментацию используют не только на домашних машинах, но и на серверах. В этом случае процедура проводится «на лету» — без остановки системы. Изменение файловой структуры происходит практически постоянно.
Лечение фрагментации ДНК сперматозоидов
Методы лечения зависят от выявленной причины. Если БАК-посев или микроскопическое исследование показали наличие инфекции, то назначают курс антибиотиков. Варикоцеле, нарушение проходимости уретры, крипторхизм лечат путем хирургического вмешательства.
Пациентам была предложена антиоксидантная терапия, включающая ежедневный прием следующих препаратов:
- Селен (100 мг);
- L-карнитин (3000 мг);
- Витамины группы Е (токоферолы и токотриенолы в количестве 400 МЕ).
- Витамин С (1000 мг).
Препараты-антиоксиданты в таблетках и капсулах
Курс лечения продолжался 12 недель, в течение которых пациентам был рекомендован регулярный секс с использованием презервативов. По истечении 12 недель пары вступили в повторный протокол ЭКО. Результаты:
- Повышение концентрации сперматозоидов, увеличение количества подвижных и морфологически нормальных (рисунки 1, 2, 3).
- Снижение уровня ДНК-фрагментации до 23% (рисунок 4).
- Уменьшение количества АФК до 4,1 (рисунок 5).
После лечения у 47% пар произошло успешное оплодотворение и родоразрешение (дети были выношены и рождены здоровыми).
Рисунок 1. Концентрация после лечения
Рисунок 2. Подвижность после лечения
Рисунок 3. Процент нормальных сперматозоидов
Рисунок 4. Уровень фрагментации ДНК
Рисунок 5. Уровень активного кислорода (АФК)
Еще один вариант лечения:
- Витамин С (500 мг).
- Фолиевая кислота (2 мг).
- Витамин Е (400 МЕ).
- Селен (25 мг).
- Цинк (26 мкг).
- L-карнитин (2000 мг).
В рамках антиоксидантной терапии можно принимать биоактивные препараты: «Спермактин», «Синергин», «Профертил», «Сперотон».
Антиоксиданты содержатся в продуктах питания:
- Любые ягоды (лучше клюква или смородина);
- Зелень листовая;
- Орехи (лидируют пекан и грецкие);
- Бобовые (красная фасоль);
- Сухофрукты (сушеные груши, агава, яблоки);
- Овощи (корень имбиря, артишоки, чеснок);
- Какао-порошок, черный шоколад.
Из специй больше всего антиоксидантов содержит гвоздика и корица. В небольших количествах полезно красное сухое вино.
Виды фрагментированных архитектур
Приняв решение фрагментировать свои данные, вам нужно выяснить, каким именно образом это делать
При выполнении запросов или распределении входящих данных в сегментированные таблицы или БД важно, чтобы они передавались в правильный сегмент. В противном случае это может привести к потере данных или крайне медленной обработке запросов
В этом разделе мы рассмотрим несколько распространенных архитектур фрагментации, каждая из которых использует немного другой процесс для распределения данных между сегментами.
Фрагментация по ключам
Фрагментация по ключам (key based sharding), также известная как фрагментация по хешу (hash based sharding), подразумевает использование значения, взятого из вновь записанных данных (таких как идентификационный номер клиента, IP-адрес клиентского приложения, почтовый индекс и т. д.), и включение его в хэш-функцию, чтобы определить, к какому сегменту данных следует обращаться. Хеш-функция – это функция, которая принимает в качестве ввода часть данных (например, электронную почту клиента) и выводит дискретное значение, известное как хеш. В контексте фрагментации значение хэша является идентификатором сегмента, который используется для определения того, на каком сегменте будут храниться входящие данные. В целом процесс выглядит так:
Ключ | |||||||
Столбец1 | Столбец2 | Столбец3 | |||||
A | |||||||
B | |||||||
C | |||||||
D | |||||||
↓ | Сегмент1 | ||||||
↓ | Столбец1 | Столбец2 | Столбец3 | ||||
↓ | Столбец1 | Хеш-значения | A | ||||
Хеш-функция |
→ |
A | 1 | C | |||
B | 2 | ||||||
C | 1 | Сегмент2 | |||||
D | 2 | Столбец1 | Столбец2 | Столбец3 | |||
B | |||||||
D |
Чтобы обеспечить правильное размещение записей в правильных сегментах, все значения, введенные в хэш-функцию, должны поступать из одного столбца. Этот столбец называется ключом сегмента. Проще говоря, ключи сегментов похожи на первичные ключи тем, что они представлены столбцами, которые используются для создания уникального идентификатора отдельных строк. Вообще ключ сегмента должен быть статическим, то есть он не должен содержать значений, которые могут меняться со временем. В противном случае это увеличит объем работы и может снизить производительность.
Фрагментация по ключам является довольно распространенной архитектурой, но она может усложнить задачу при динамическом добавлении или удалении дополнительных серверов в БД. Когда вы добавляете серверы, каждому из них потребуется соответствующее значение хеш-функции, и многим из существующих записей (если не всем) необходимо будет присвоить новое, правильное значение хеш-функции, а затем перенести на соответствующий сервер. Когда вы попробуете заново сбалансировать данные, ни новые, ни старые хеш-функции не будут действительны. Следовательно, ваш сервер не сможет записывать какие-либо новые данные во время миграции, и ваше приложение может простаивать.
Основная привлекательность этой стратегии в том, что она может использоваться для равномерного распределения данных и предотвратить hotspot. Кроме того, поскольку эта модель распределяет данные алгоритмически, нет необходимости поддерживать карту расположения всех данных, как для других стратегий, таких как фрагментация по интервалам и каталогам.
Фрагментация по интервалам
Фрагментация по интервалам подразумевает сегментирование данных на основе диапазонов заданного значения. Предположим, у вас есть база данных, в которой хранится информация обо всех продуктах в каталоге. Вы можете создать несколько разных сегментов и отделить информацию о каждом продукте в зависимости от ценового диапазона, в который они попадают, например, так:
PRODUCT | PRICE | ||||||
WIDGET | $118 | ||||||
GIZMO | $88 | ||||||
TRINKET | $37 | ||||||
THINGAMAJIG | $18 | ||||||
DOODAD | $60 | ||||||
TCHOTCHKE | $999 | ||||||
↓ |
|||||||
($0-$49.99) |
($50-$99.99) |
($100+) |
|||||
PRODUCT | PRICE | PRODUCT | PRICE | PRODUCT | PRICE | ||
TRINKET | $37 | GIZMO | $88 | WIDGET | $118 | ||
THINGAMAJIG | $18 | DOODAD | $60 | TCHOTCHKE | $999 |
Основное преимущество этой модели состоит в том, что она относительно проста в реализации. Каждый сегмент содержит различный набор данных, но все они имеют идентичную схему, а также исходную базу данных. Код приложения просто читает, в какой диапазон попадают данные, и записывает их в соответствующий фрагмент.
С другой стороны, сегментирование по интервалу не защищает данные от неравномерного распределения, что приводит к вышеупомянутым hotspots. Вернемся к нашему примеру: даже если каждый шард содержит одинаковое количество данных, существует вероятность того, что конкретным продуктам будет уделено больше внимания, чем другим. И соответствующие сегменты, в свою очередь, получат непропорциональное количество операций чтения.
Скорость дефрагментации
На продолжительность процесса влияет несколько факторов:
- Объем винчестера. Если на нем всего 10 гигабайт, то на его обработку уйдет 3 минуты. На терабайтном диске, да еще если на нем никогда не наводили порядок, для этого может потребоваться весь день.
- Объем оперативной памяти.
- Частота процессора.
Также в силу того, что разные программы используют разные алгоритмы анализа, время и качество самого процесса тоже может существенно отличаться.
Но с другой стороны, если процесс запущен, работу на компьютере можно не прерывать.
Итак, на полный цикл может потребоваться значительное время, так что лучше делать дефрагментацию диска по расписанию ночью, когда он не используется.
Какие плюсы:
- Разделённые данные объединяются в один раздел и заполняют пустые разделы диска.
- Повышается производительность компьютера за счет более быстрого чтения/записи с харда.
Вот, собственно, для чего нужна полная дефрагментация диска.
Дефрагментация вручную и предотвращение фрагментации
Несмотря на то, что среди программ такого рода имеются довольно интеллектуальные, хорошую дефрагментацию можно провести и своими силами. Для этого достаточно создать на диске новый раздел с файловой системой, после чего просто скопировать на этот логический диск те файлы, которые на нём будут храниться. Во время такого копирования на пустой диск запись данных осуществляется последовательно, без фрагментации. Кроме того, сам процесс записи файлов занимает в несколько раз меньше времени, чем дефрагментация с помощью программ.
Знание файловой структуры и принципов работы жёсткого диска помогает сильно уменьшить фрагментацию файлов благодаря правильной организации работы пользователя. Эта организация заключается в том, что на чистый диск сначала записываются те файлы, которые предполагается хранить долго: любимые фильмы, архивы, музыку. Те же файлы, которые не планируется долго хранить, лучше записывать в конец диска: их удаление не вызовет дробления других файлов.
Помогает использование отдельного раздела для часто изменяемых файлов. Например, в Unix-подобных ОС на отдельных разделах часто размещаются пользовательские данные и настройки (каталог /home), временные файлы (/tmp), протоколы, кэши и др. (/var); см. также FHS.
Типы дефрагментации
Процесс дефрагментации можно разделить на несколько типов:
- При запуске Windows — на этот тип дефрагментации повлиять невозможно. Она не контролируется пользователем, и затрагивает только важные системные файлы.
- «Быстрая» процедура — изменениям подвергаются исключительно ранее фрагментированные файлы, а свободное место при этом не изменяется. Преимущество этого варианта в том, что он проводится максимально быстро, но создаваемые или изменяемые файлы не будут значительно ускорены. Намного легче взаимодействовать у пользователя получится с существующими данными.
- Изменение свободного пространства — при этом типе остаётся целостным свободное место на диске. Такой вариант используется крайне редко, так как основные файлы остаются фрагментированными, поэтому скорость работы с ними не изменится.
- Полная обработка — затрагивает файловую систему и свободное пространство. Недостаток её в том, что выполняется она в течение нескольких часов на больших дисках. При этом работать будет легче как с уже существующими, так и с новыми файлами.
- Оптимизация — её стоит запускать на старых и давно используемых дисках. В её процессе в начало дискового пространства перемещают часто используемые и небольшие файлы, а те, к которым пользователь обращается реже – остаются в конце.
Оптимально проводить дефрагментацию в свободное от использования ПК время, тогда вы сможете запустить длительный вариант процедуры, а потом наслаждаться слаженной и быстрой работой системы.
Необходимость дефрагментации
Кроме быстродействия, существуют другие причины для использования дефрагментации. Она необходима как для файловой системы, так и для жёсткого диска. Разберёмся, что для каждой части системы означает дефрагментация:
- В приложениях для работы файловых систем Microsoft Windows, FAT32, FAT16, MS-DOS не предусмотрены надстройки, предотвращающие дефрагментацию. Она появляется даже на практически пустых дисках и при небольшой нагрузке на систему.
- Фрагментация негативно сказывается на «здоровье» носителя. Заметнее всего это на стандартных HDD, подверженных аппаратному износу. Также разбивка файлов на части увеличивает время доступа к ним, повышает температуру внутри носителя, изнашивает его считывающие головки.
- Что касается SSD и USB-носителей, то здесь мнения специалистов расходятся. Некоторые программисты считают, что эта процедура позволяет продлить срок службы носителя, а другие «железячники» — высказывают мнение, что она вредна.
Существуют программы, которые способны провести дефрагментацию и оптимизацию диска. Они встроены в систему, а также распространяются сторонними разработчиками.
Дефрагментация через средства Windows
В современных версиях Windows (начиная с Windows Vista, которая вышла в далеком 2006 году), дефрагментация на компьютере выполняется автоматически. Тем не менее, никто не мешает самостоятельно запустить анализ накопителя и при желании выполнить дефрагментацию. Сделать это можно как через графический интерфейс операционной системы, так и через оболочку PowerShell.
Дефрагментация через графический интерфейс
- Открываете Проводник, и переходите в нем к списку жестких дисков. Нажимаете правой кнопкой мыши на нужном жестком диске, и выбираете пункт «Свойства».
- В окне свойств нужно перейти на вкладку «Сервис». Там будет раздел «Оптимизация и дефрагментация диска», с единственной кнопкой «Оптимизировать», которую нужно нажать.
- Откроется окно «Оптимизация дисков», где будет перечислено состояние накопителей, и их фрагментация. Для ручного запуска анализа, нужно выбрать нужный накопитель и нажать на кнопку «Анализировать».
Для выполнения фрагментации, нужно выбрать жесткий диск и нажать на кнопку «Оптимизировать». После этого запустится процесс дефрагментации, длина которого будет зависеть от состояния накопителя.
Дефрагментация через PowerShell
Для выполнения операций по оптимизации (в том числе анализу и дефрагментации) накопителей с помощью командлета Optimize-Volume, требуются запустить PowerShell с правами администратора.
-
Выполнить анализ накопителя можно с помощью следующей команды:
К примеру, анализ диска с буквой F будет выглядеть следующим образом:
В случае, если с диском все хорошо, то в окне PowerShell так и будет написано — «Дефрагментация этого тома не требуется». В противном случае, будет написано «Рекомендуется выполнить дефрагментацию этого тома».
-
Если диск требует фрагментацию, то можно выполнить её с помощью команды:
Например, для дефрагментации диска с буквой F нужно ввести следующее:
Дефрагментация через командную строку
Так же, начиная с MS-DOS, в комплекте с операционной системой поставляется утилита командной строки defrag, которая предназначена для дефрагментации накопителя.
Для анализа состояния жесткого диска, следует использовать параметр /a, следующий сразу после буквы диска:
То есть для выполнения анализа фрагментированности диска F, следует выполнить следующую команду:
После чего, по завершению анализа будет выведен отчет:
C:\Windows\system32>defrag F: /a
Оптимизация диска (Майкрософт)
(c) Корпорация Майкрософт (Microsoft Corporation).
Вызов анализ на (F:)…
Операция успешно завершена.
Post Defragmentation Report:
Сведения о томе:
Размер тома = 931,51 ГБ
Свободное место = 888,08 ГБ
Общий объем фрагментированного пространства = 0%
Максимальный размер свободного места = 855,16 ГБ
Примечание. В статистику фрагментации не включаются фрагменты файлов, размер которых превышает 64 МБ.
Дефрагментация этого тома не требуется.
Для дефрагментации диска можно просто выполнить команду defrag с буквой диска, без каких-либо дополнительных параметров:
Например, дефрагментация диска F:
По завершению дефрагментации будет так же отображен отчет, который показывался при анализе:
C:\Windows\system32>defrag F:
Оптимизация диска (Майкрософт)
(c) Корпорация Майкрософт (Microsoft Corporation).
Вызов дефрагментация диска на (F:)…
Объединение свободного пространства: выполнено на 100%.
Операция успешно завершена.
Post Defragmentation Report:
Сведения о томе:
Размер тома = 931,51 ГБ
Свободное место = 888,08 ГБ
Общий объем фрагментированного пространства = 0%
Максимальный размер свободного места = 855,16 ГБ
Примечание. В статистику фрагментации не включаются фрагменты файлов, размер которых превышает 64 МБ.
Флешки и твердотельные (SSD) накопители
Такую операцию рекомендовано проводить с обычными жесткими дисками.
Для флэш-накопителей делать это вообще не рекомендуется. Так как при дефрагментации происходит большое количество циклов «запись/чтение», а для flash-памяти количество таких циклов жестко ограничено. Именно поэтому такой процесс может повлиять на срок службы флэшки, он уменьшится.
Нужно ли это делать с SSD-дисками. Так как и SSD-накопители основаны на той же технологии что и флэшки, такую операцию с ними лучше не проводить. А в Windows 7 уже предусмотрено автоматическое отключение дефрагментации, когда система распознает SSD-диск.
Если при анализе SSD-накопителя все же наблюдается большой процент фрагментированных файлов, то лучше будет поступить следующим образом:
- Скопировать все данные на сторонний носитель.
- Отформатировать SSD-накопитель.
- Вернуть на него снова все данные.