Рекомендации поршня по сравнению с SQL размер DB

При выполнении VirtualBox на аппаратных средствах Mac возможно установить виртуальную машину, выполняющую версии клиента OS X. Это быстро стало чрезвычайно ценным инструментом для меня, потому что он сделал тестирование настолько легче.

N.b. могло бы быть возможно, что Oracle вытянула ту функцию позже, документы, немного непоследовательны об этом, но это свободно, поэтому просто попробуйте его.

Кроме этого, назад в дни PPC, мультиначальной загрузки от различных разделов, работавших безупречный. При испытании проблем можно все еще соединить внешний HD через порт FW800 и работу оттуда. Это немного медленнее, но приемлемо для экспериментальной работы.

4
задан 28 July 2015 в 18:11
1 ответ

Нет хорошего практического правила.

Полезность дополнительной оперативной памяти во многом зависит от того, как спроектирована ваша база данных, а также от шаблонов запросов или ваших пользователей. В качестве крайнего примера, если у вас всего 1 ТБ данных, хорошая индексация и 1000 одновременных пользователей, которые когда-либо переходят только после одной конкретной строки (выберите * из dbo.BigTable, где pkey_id = 42), вы можете обойтись очень небольшим объемом оперативной памяти . Влияние увеличения объема оперативной памяти также может зависеть от скорости вашей дисковой подсистемы хранения. Если у вас сверхбыстрое хранилище ( хорошее SAN, хорошее DASD или SSD), вы можете не заметить отставания, когда серверу нужно читать данные.

В идеале, вам нужно все данные, которые , вероятно, потребуются базе данных в течение дня, кэшируются в ОЗУ. Иногда это называют «горячими данными» или «горячими страницами» (в SQL Server, данные организованы в блоки, называемые «страницами»). Примером горячих данных могут быть заказы, принятые сегодня или вчера, которые потребуются работникам, отправляющим эти заказы. Примером холодных данных могут быть заказы, принятые два года назад, но они все еще существуют в системе, так что CSR могут искать старые заказы.

С хорошо спроектированной системой OLTP с общим объемом данных 40 ГБ (в отличие от файлы данных, которые в сумме составляют до 40 ГБ), возможно, что горячие данные достигают только 10 ГБ, 5 ГБ, 1 ГБ или даже меньше. В былые времена разница между покупкой только 64 ГБ ОЗУ и 8 ГБ (или даже меньше) была астрономической, и на получение нужного количества ОЗУ стоило потратить много времени.

Вы всегда хотите немного дополнительная оперативная память для «накладных расходов», таких как ОС, антивирусные сканеры, сеансы RDP. Вы также хотите принять во внимание рост базы данных.

Еще одна вещь, о которой следует помнить, - это то, что ОЗУ бывает «частями». Вы не можете выбрать между 48 ГБ и 49 ГБ, вам нужно увеличить, вероятно, с 48 до 64 ГБ. Размер блока зависит от технологий оперативной памяти, продаваемых в настоящее время, и от количества каналов вашей памяти. На старых серверах было одно изменение памяти, затем на серверах было два, и теперь большинство мощных серверов имеют три канала памяти. Итак, вы не можете просто добавить одну флешку, вам нужно добавлять две по три за раз.

Если у вас плохо спроектированная и плохо проиндексированная база данных, как вы говорите, SQL в конечном итоге прочитает много данных, которые это не должно было быть с лучше спроектированной базой данных. Наличие всех этих данных в ОЗУ не означает, что он не считывает их все. Это просто означает, что он считывает все данные в ОЗУ быстрее, чем если бы данные находились на диске. Это не обязательно решит все ваши проблемы; чтение данных из ОЗУ происходит быстро, но все же занимает ограниченное время, и вы все равно можете получить проблемы с блокировкой и взаимоблокировкой, которые могут вызвать проблемы с производительностью.

Другое дело, что больше ОЗУ помогает, когда люди запускают большие отчеты в системе, которые действительно используют прошлогодние данные. Люди все время относятся к OLTP-системам как к системам отчетности. Это может быть не редкостью, особенно со случайными SQL-запросами.

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

Очень быстрое путешествие в хп. com показывает, что я могу получить (очень) урезанный сервер с 96 ГБ ОЗУ примерно за 9000 долларов США.

(Это менее 100 долларов США за 1 ГБ без учета других компонентов сервера. Такие компоненты, как блок питания или процессор. Старые люди, такие как я, помнят, когда объем оперативной памяти стоил 5000 долларов США за мегабайт. .)

Как быстро вы сможете потратить 9 000 долларов США на разработку и тестирование? (По корпоративным тарифам в моем районе это вряд ли позволит вам получить одного человека за целый месяц.) Будет ли этого времени достаточно, чтобы исправить все в базе данных? Что если ошибка в измененном коде проскользнет?

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

Добавление ОЗУ вряд ли вызовет какие-либо ошибки. Переход на новый сервер вряд ли вызовет какие-либо трудные для поиска проблемы. (Обычно все работает или явно не работает. Обычно это «упс, неверный пароль» или «упс, забыл скопировать связанный сервер», но никогда не «эй, этот расчет внезапно работает некорректно».)

Итак, предполагая, что мы собираемся хранить все в ОЗУ и у нас есть база данных на 40 ГБ, нам нужно немного места для накладных расходов. Я бы подумал о сервере с 48 ГБ или около того. Кроме того, нам нужно пространство для роста. Скажем так, рост на 25% отсюда, что составляет 12 ГБ, а у нас получается до 60 ГБ. Следующий уровень (который я действительно могу купить) - 64 ГБ. Если ваш консультант рекомендует трехканальный сервер, следующий уровень может быть 72 ГБ. Итак, его предложение не t обязательно диковинно. Может быть, вам не нужно столько ядер / сокетов, и это может вернуть вас к двухканальному серверу (который в любом случае будет дешевле), и вы сможете купить немного меньше оперативной памяти.

TL; DR:

Короче говоря, что я редко делаю, оперативная память стоит дешево, а время - дорого. Если у вас нет денег, времени или желания исправить базу данных, или вы не хотите рисковать добавлением ошибок в свое приложение, использование оперативной памяти для решения проблемы не вызывает сомнений. Другой хороший шаг - повысить скорость отклика дисковой системы хранения (IOW, добавить больше шпинделей, больше оборотов в минуту или перейти на SSD).

Я бы спросил, почему консультант не хотел, чтобы вы потратили год и 100 000 долларов США, чтобы он переписал систему.

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

TL; DR:

Короче говоря, что я редко делаю, оперативная память стоит дешево, а время - дорого. Если у вас нет денег, времени или желания исправить базу данных, или вы не хотите рисковать добавлением ошибок в свое приложение, то вопрос использования оперативной памяти для решения проблемы сложно. Другой хороший шаг - повысить скорость отклика дисковой системы хранения (IOW, добавить больше шпинделей, больше оборотов в минуту или перейти на SSD).

Я бы спросил, почему консультант не хотел, чтобы вы потратили год и 100 000 долларов США, чтобы он переписал систему.

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

TL; DR:

Короче говоря, что я редко делаю, оперативная память стоит дешево, а время - дорого. Если у вас нет денег, времени или желания исправить базу данных, или вы не хотите рисковать добавлением ошибок в свое приложение, использование оперативной памяти для решения проблемы не вызывает сомнений. Другой хороший шаг - повысить скорость отклика дисковой системы хранения (IOW, добавить больше шпинделей, больше оборотов в минуту или перейти на SSD).

Я бы спросил, почему консультант не хотел, чтобы вы потратили год и 100 000 долларов США, чтобы он переписал систему.

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

Я бы спросил, почему консультант не хотел, чтобы вы потратили год и 100 000 долларов США, чтобы он переписал систему.

время или желание исправить базу данных, или вы не хотите рисковать добавлением ошибок в свое приложение, использование оперативной памяти для решения проблемы является трудным вопросом. Другой хороший шаг - повысить скорость отклика дисковой системы хранения (IOW, добавить больше шпинделей, больше оборотов в минуту или перейти на SSD).

Я бы спросил, почему консультант не хотел, чтобы вы потратили год и 100 000 долларов США, чтобы он переписал систему.

9
ответ дан 3 December 2019 в 02:45

Теги

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