Компьютерные спецификации для большой базы данных

Вы попытались выполнить пакет установки за пределами Windows Update? Вы находите пакет в %WINDIR%\SoftwareDistribution\Download\Install после того как Вы попытались установить его. Обычно, этот путь Вы получаете лучшие сообщения об ошибках

Обновленный: можно попробовать это: Остановите сервисный Windows Updates от services.msc и удалите или переименуйте папку SoftwareDistribution впоследствии. Запустите Windows Updates снова, и он должен воссоздать структуру папок (по крайней мере, когда новые обновления прибывают),

1
задан 25 November 2010 в 20:56
2 ответа

Аппаратные средства Speccing для огромной базы данных - что-то, в чем это невероятно трудно разобраться. У нас есть несколько больших баз данных (9M + записи в некоторых таблицах) и одна крупная база данных (300M + записи в большинстве таблиц), и даже для нас это было что-то вроде бессистемного дела.

Но столь же важный как аппаратные спецификации Ваша схема базы данных, и как упомянутый Ira, Индексы являются королем в этом сценарии.

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

То, что сделает вещи тяжелее для Вас в этом сценарии, является скоростью Вашего диска. Единственный жесткий диск на 5 400 об/мин (я видел, что ноутбуки с еще более медленными шпиндельными скоростями, 5400 довольно хорошо для ноутбука), возьмет НАМНОГО дольше для загрузки данных в кэш для индексации, чем диск на 15 000 об/мин. Как сравнение, наш SQL-сервер имеет 14x диски на 15 000 об/мин (для общего итога 210 000 об/мин или избиения 38x более быстрая шпиндельная скорость, и я предположил бы, возможно, 50x более быстрая скорость доступа в реальной жизни), и я буду ожидать создавать индекс на 200M, записи все еще приняли бы час.

Так, получите тот SSD, если Вы можете. Это поможет существенно. Увеличение производительности одного SSD более чем диск на 5 400 об/мин является почти слишком большим для измерения.

Если Вы можете, получить это 4 ГБ RAM. Мало того, что это поможет Вашей скорости SQL-сервера (не так как SSD, но это все еще поможет), но на основе моего (краткого) опыта с Matlab, он поможет там также.

1
ответ дан 3 December 2019 в 22:21

Вы не жаловались на то, сколько времени это взяло для заполнения DB 200 миллионами записей, таким образом, я прихожу к заключению, что ноутбук достаточно быстр.

Базы данных работают, потому что они снабжают записи данных определенными "ключевыми" полями, индексированными для обеспечения быстрого доступа. (Иначе каждый запрос должен был бы считать каждую запись каждый раз, и 25 ГБ занимают много времени для чтения).

Если бы Ваш запрос, как предполагается, производит скромное количество результатов (скажите, 10K записи), я предположил бы, что Ваша проблема состоит в том, что Ваши записи не индексируются основным элементом запроса.

1
ответ дан 3 December 2019 в 22:21
  • 1
    Возможно, что файл базы данных был дан OP pre-popuated. –   25 November 2010 в 18:06
  • 2
    База данных была предоставлена мне и была заполнена на другой машине. Вы корректны, что индексы не являются установкой правильно, но добавлением, что индекс не завершался даже после ожидания 8 часов... –   25 November 2010 в 18:14
  • 3
    Так, настройте индекс и пойдите домой в течение ночи. Ожидайте, что это займет много времени; это должно просканировать все записи последовательно потому что... хорошо... нет никакого индекса:-} С индексами на месте, запросы должны быть намного быстрее. –  Ira Baxter 25 November 2010 в 18:20
  • 4
    Это - то, что я сделал, но только спал 8 часов. Возможно, я должен сделать это в течение выходных. Я предположил, что это должен быть кластерный индекс? –   25 November 2010 в 18:25
  • 5
    Зависит от того, в чем Вы нуждаетесь, но скорее всего нет. Кластерный индекс реорганизовывает все строки в таблице, таким образом, что строки находятся в том же порядке как индекс. По сути, может быть только 1 на таблицу и займет много времени для создания. Некластерные индексы только заказывают индексные данные в отдельном пространстве и затем используют указатели на строки для остальной части данных. Эмпирическое правило: кластерный индекс создаваемый для сортировки результатов (ORDER BY), некластерные индексы для условий фильтра (операторы Where) данных. результаты –  Evan M. 26 November 2010 в 00:04

Теги

Похожие вопросы