Имеет ли появление SSD какое-либо значение для оптимизации базы данных?


26

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


С SSD это, кажется , вам нужно оптимизировать больше уменьшить износ , чем увеличение чистой производительности ...
Trezoid

интересная мысль и несколько классных ответов, +1
Дрю

Ответы:


9

Да, они меняют игру. Оптимизация, основанная на характеристиках вращающихся магнитных дисков (таких как время поиска и задержка вращения ), может не иметь отношения к накопителям SSD. В недавней статье *, опубликованной в FITME 2010, представлен один новый алгоритм оптимизации запросов, основанный на характеристиках твердотельных накопителей.

Однако эти изменения, вероятно, будут низкоуровневыми (например, в алгоритмах хранения и поиска), которые могут быть эффективно реализованы разработчиками баз данных. Они, вероятно, не сильно повлияют на пользователей базы данных.

* IEEE Xplore - Оптимизация запросов хранилища на основе столбцов для флэш-баз данных


3
Да - но большинство оптимизаций базы данных уже прошло, когда мы просто положили все в оперативную память. Как только 64-гигабайтный RaM стал дешевле, чем эксперт по SQL, все уже изменилось, я не уверен, сколько SSD добавит к этому
Мартин Беккет

3
@ Мартин согласился. С другой стороны, в последнее время произошел решительный поворот к горизонтальному (облачное и т. Д.), А не вертикальному (чудовищные блоки $ 500 тыс.) Масштабированию. Распределенные системы могут получить глобальные нелинейные улучшения производительности от такой локальной линейной оптимизации. Часто это также может быть более выгодной моделью.
Рейн Хенрикс

8

Спектакль

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

долговечность

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


1
Хм что? SSD имеют высокую частоту отказов? Годовая частота отказов для твердотельных накопителей значительно ниже, чем для жестких дисков. Пока что немногим удалось исчерпать доступные записи на SSD, особенно с более продвинутыми контроллерами (например, SandForce от LSI).
Мирча Chirea

5

Общее снижение цены на хранение имеет гораздо более глубокие последствия.

До того, как у нас был SQL, у нас были супероптимизированные иерархические и сетевые базы данных, где администраторам баз данных приходилось тщательно планировать отслеживание и размещение данных.

Базы данных SQL гораздо менее эффективны. Но теперь, когда диски дешевые, огромные и быстрые, нам все равно.

Базы данных NoSQL («Документ») могут быть несколько менее эффективными, чем SQL, потому что не существует такой же возможности логического-физического сопоставления между логической схемой SQL и базовой физической схемой файлов или табличных пространств или чем-то еще. И мы едва заботимся.

Улучшения производительности SSD, скорее всего, будут потеряны из-за изменений, вызванных использованием баз данных NoSQL, для общей архитектуры систем.


2

Основная проблема с оптимизацией чего-либо для твердотельных накопителей связана с тем, как они записывают данные. Традиционный жесткий диск обычно хранит данные в небольших секторах размером около 512 байт и может фактически манипулировать секторами непосредственно на этом уровне или даже ниже этого уровня.

SSD имеют некоторые недостатки в отношении записи:

  • Минимальный размер записи блока составляет около 4-8 КБ.
  • Запись может быть выполнена только на полной странице размером обычно 256 КБ.
  • Только пустые блоки могут быть записаны в.

Типичный сценарий кошмара, называемый усилением записи , - это когда вы хотите записать один байт в место на диске, где уже используются некоторые блоки. Чтобы записать туда, вам нужно сначала скопировать всю страницу размером 256 КБ в память, стереть весь блок, изменить один байт на странице, а затем записать обратно всю измененную страницу размером 256 КБ. Таким образом, чтобы записать один байт, было около половины мегабайта «трафика»!

Существует множество оптимизаций для этой проблемы, реализованных на уровне SSD, контроллера и даже операционной системы, но, несомненно, СУБД могут выиграть, приспособив эти оптимизации к своей конкретной работе.

Однако это не то, о чем должны думать пользователи базы данных (например, при использовании базы данных в своем приложении), поскольку это будет сильно зависеть от решений по проектированию / реализации на уровне СУБД.


2

Из того, что я почерпнул из блога ServerFault , серверы баз данных должны иметь крепкое оборудование. На сервере базы данных стековых сайтов обмена работают SSD (см. Http://blog.serverfault.com/post/our-storage-decision/ ), и я думаю, что оптимизация запросов все еще очень необходима. CPU и памяти будут затронуты запросами к базе данных, а также ввод - вывод.

Однако производительность базы данных во многом зависит от ввода-вывода, поэтому SSD наверняка поможет.


1

Да, по причинам, которые все заявили.

Я слушал подкаст, в котором говорилось, что большие куски СУБД, такие как Oracle, SQL Server и т. Д., Начнут «отключаться», если они смогут правильно распределить данные. Определите, является ли это SSD-накопителем, и оптимизируйте соответствующим образом.

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

Еще интереснее RAMSAN и его варианты. В основном жесткий диск, состоящий из микросхем ОЗУ, со встроенным ИБП X часа и возможностью фоновой записи в долговременное хранилище жесткого диска.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.