|
|
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемые знатоки. Необходим дельный совет по поводу подбора конфигурации железа сервера для MySQL( тип таблиц InnoDB). К сожалению, дельной информации по этому поводу найти не удалось, поэтому вынужден обратиться сюда( за любые ссылки и пинки в какую-либо дельную сторону огромное спасибо) Сервер будет выделенной машиной, к которой будут иметь доступ сотрудники отдела по локальной сети. Предварительный объём хранимых данных 2-3ГБ. Собственно , следуя тем данным которые я смог найти, а именно: оперативная память, процессор, жесткие диски; являются ключевыми в данном вопросе. ( в некоторых книжках написано что для комфортной работы необходимо около 30% ОП от объема данных. Также планируется использовать аппаратный RAID10. Не могли бы вы дать советы по поводу данных комплектующих, чтобы этот вопрос можно было решить более рационально. За любые ответы,советы,указания огромное спасибо и низкий поклон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 18:13:40 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi, в отрыве от реальных задач это не решают. Ну возьмите типовую современную рабочую станцию. Поставьте памяти 16 гб и SSD поприличней . И можно, считать самый общий сервер БД у вас есть. Может и сервер и не справится, но, во всяком случае, хотя бы куда-нибудь в офис приткнете компьютер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 19:11:15 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
netwind, я прекрасно понимаю о чём вы говорите. К сожалению это военно-промышленное предприятие, апгрейт сервера ,после тестов работоспособности и быстродействия стандартной машины, будет весьма проблематичен в связи с внутренней политикой предприятия( постоянные служебные записки, ожидания разрешений на изменение чего-либо и т.д.) 16 гб ОП, 7 камень, 4гб видеокарта и ЖД на 1 ТБ это стандартная комплектация обычного рабочего ПК , которая сейчас предоставляется даже студентам для выполнения НИР. Поэтому и вызывает сложность подбор конфигурации , т.к. цель начального этапа это не установка стандартной машины ,а попытка, обладая весьма скудными начальными условиями, подобрать какой-то типовой вариант для конкретной задачи, ориентируясь на высокий объём хранимых данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 19:55:08 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiПредварительный объём хранимых данных 2-3ГБ.Оперативка сейчас дешевая. Ставьте столько, чтобы в innodb_buffer_pool_size влезали все таблицы и индексы с запасом на рост на пару-тройку лет. На все остальное - очень грубо говоря, еще примерно столько же. Итого 16 ГБ для начала пойдет. Но это плюс/минус порядок. Точнее сказать нельзя, не зная характера нагрузки и данных. unutcon MephiТакже планируется использовать аппаратный RAID10.Для копеечных данных, которые можно практически полностью закэшировать в оперативке??? абсолютно бессмысленно, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 19:57:33 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoft,netwind Прошу прощения за глупейшую ошибку. Только сейчас увидел что написал про обьёмы в 2-3 ГБ На самом деле Речь идет о 2-3 ТБ. Извиняюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 19:59:11 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiНа самом деле Речь идет о 2-3 ТБ.Теоретически, конечно, моя рекомендация остается в силе, но, боюсь, это будет уже совсем не бюджетно. Описывайте задачу, характер данных, характер основных запросов, требования к их быстродействию и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 20:03:00 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoft, Хранимые данные - характеристики АФАР.( грубо говоря АФХ антенны). Каждая АФАР состоит из нескольких блоков подрешеток, которые состоят из N числа элементов(от 256-384 в текущей задаче) Для каждого элемента могут быть произведены измерения с различными температурами, датами, местами измерений(различные заводы), сотрудниками и на разных точках. В результате основной обьём занимает таблица Значение Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Т.е. характер данных - огромный объём float значений. Характер запросов следующий : 1) На загрузку формируется при помощи интерфейса управления( MFC C++) текстовый файл на каждую таблицу ( 4 таблицы пока используется, если необходимо приведу DDL), и эти файлы последовательно загружаются в БД при помощи LOAD DATA. 2) Все остальные запросы на данный момент это выборки без JOIN и группировок, с использованием индексов. Т.е. из родительских таблиц получаем id_afx и по этому значению из таблицы "Значение" получаем необходимые данные. Требования к быстродействию определенно- "оптимальные". Конкретных значений никто сказать не может, но хотелось бы иметь мощную машину, которая сможет обрабатывать подобные объёмы и проводить выборки достаточно быстро. Прошу прощение за большой объём текста, постарался ответить на все вопросы как смог, если чего-то не хватает для ясности картины прошу дать знать. Спасибо большое за участие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 20:21:32 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
авторХранимые данные - характеристики АФАР.( грубо говоря АФХ антенны). Вот почему раньше не было понятия bigdata, а сейчас есть ? Потому что диски на терабайты стали доступы кому попало. Ну не храните там характеристики АФАР. Интенсивные физические расчеты - не конек SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 20:43:03 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
netwind, Я правильно понял, вы советуете посмотреть в сторону BigData? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 20:46:06 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi, ни в коем случае. Физик не должен вестись на маркетинговые понятия. Тут все зависит от конкретных алгоритмов обработки. Обычные приложения мы еще привыкли оценивать на глазок - там одни и те же люди кнопки жмут. 1 оператор - одна кнопка в секунду - 1 условный байт в секунду. Но расчеты с датчиков все разные. Может там любой расчет потребует поднять все 1 тб данных ? Я не возьмусь даже ничего прогнозировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 20:56:17 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
netwind, Передо мной изначально поставили задачу "Разработки реляционной БД", поэтому я и выбрал MySQL( изначально требования к хранимым данным были в районе 1 ТБ). Т.к. мне пришлось изучать эту сферу с нуля, я не могу сказать что осознаю рациональность поставленной задачи и не уверен в ее физической реализации. Работа конечного пользователя с БД основана на : 1) Добавлении характеристик в БД( что тоже весьма щепетильный вопрос, т.к. я не имею представления о поведении БД при загрузке новых значений в таблицу, размер которой уже составляет 700ГБ-1ТБ и реакции на обновление индексов). 2) Получении характеристик для конкретного БП ( порядка 1-2 миллиона строк), которые загоняются в динамические массивы и обрабатываются непосредственно интерфейсом управления БД. Я также понимаю, что такие проекты выполняются не одним сотрудником выступающим в роли разработчика, программиста и администратора, но на данный момент выбора у меня нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 21:14:37 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi, Имеют ли обособленный смысл отдельные значения? Я бы подумал над тем, нельзя ли их хранить большими пачками (например, в BLOB-е). Не исключено, что вообще данные хранить в БД не надо, вместо этого хранить их в файлах (вместо тех же BLOB-ов), а в БД хранить только каталог экспериментов/замеров со ссылками на файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 23:03:23 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoft, А если использовать тип данных BLOB , то будут ли работать для таблицы "Значение" с DDL представленным выше запросы вида: SELECT faza FROM znachenie WHERE id_afx = x AND kod_fazi = X; Ну или другие условия выборки?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 23:20:50 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiПередо мной изначально поставили задачу "Разработки реляционной БД", поэтому я и выбрал MySQL( изначально требования к хранимым данным были в районе 1 ТБ). Если это ВПК, то в первую очередь смотрите на сертифицированные средства, например Линтер-ВС. Ну или posgresql, проще будет потом адаптировать к сертификации. unutcon MephiТребования к быстродействию определенно- "оптимальные". Конкретных значений никто сказать не может, но хотелось бы иметь мощную машину, которая сможет обрабатывать подобные объёмы и проводить выборки достаточно быстро. Если требований нет, то проектируйте приложение с учетом возможности использования кэша в памяти. Это может быть как стороннее решение, так и возможности СУБД - какие нить промежуточные таблицы, располагающиеся исключительно в оперативке. unutcon MephiТолько сейчас увидел что написал про обьёмы в 2-3 ГБ На самом деле Речь идет о 2-3 ТБ. Тут, конечно, все уже в оперативку не поместить. Хотя я не уверен, что все эти данные вам нужны одновременно. Нужно понимать, какие именно запросы идут к таблицам. Но я не понимаю, это что получается, вы храните всю историю значений по каждому конкретному элементу? А все расчеты у вас только по последним измерениям? Если да, то грандиозный объем оперативки не нужен. Можете для ускорения последние данные держать на SSD RAID10, а основную массу старых данных на более дешевые носители (секционирование) unutcon MephiВсе остальные запросы на данный момент это выборки без JOIN и группировок, с использованием индексов. Т.е. из родительских таблиц получаем id_afx и по этому значению из таблицы "Значение" получаем необходимые данные. То есть вы выдаете данные, и их считает какой то другой процесс? Или хотите, чтобы СУБД в процессе считало? В принципе, если у вас бюджет резиновый (вы ведь его не озвучили), нужно быть проще и считать по максимуму. Мне почему то кажется, что 128 оперативки, 4 ядра и raid 10 на 2-4 терабайта (не обязательно SSD) должно хватить, при условии, чтоб вы своевременно будете архивировать неактуальные данные. А если вдруг нужно больше, то это уже дисковые массивы unutcon Mephimiksoft, А если использовать тип данных BLOB , то будут ли работать для таблицы "Значение" с DDL представленным выше запросы вида: SELECT faza FROM znachenie WHERE id_afx = x AND kod_fazi = X; Ну или другие условия выборки?? Возможно, вам стоит каждый набор значений от блока подрешеток хранить как массив байтов и выдавать в ответ на id_afx этот массив, возлагая ответственность за парсинг на клиента? Скорее всего, ведь имеет значение анализ всего подблока, а не элемента? Или это нормальная ситуация, когда один клиент запросом берет значение элемента в одном блоке, следующим запросом смотрит на элемент из другого блока и так далее? Такой рендомный access получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 23:55:27 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
Arm79, Спасибо за подробный ответ. В контексте задачи БД выступает в роли хранилища. Измерения проводятся довольно часто, с различными условиями(температуры, номера точек, различные места измерений, режимы работы антенны и т.д) Т.е. один БП может иметь в таблице "Значение" большое число различных АФХ(1-2 млн записей каждая). Предполагается, что БД может дать возможность в нужный момент просмотреть характеристики, которые были измерены и загружены 2 месяца назад, и таким образом накапливать различные измерения в "одном месте". Имеет смысл анализ как и всего БП, так и отдельных элементов. В любой момент пользователь должен иметь возможность посмотреть АФХ для текущего элемента на другой измеренной температуре(либо измеренной в другом месте). Arm79Или это нормальная ситуация, когда один клиент запросом берет значение элемента в одном блоке, следующим запросом смотрит на элемент из другого блока и так далее? Такой рендомный access получится. Это является нормальной ситуацией. Не совсем понимаю по поводу "рендомный access". По поводу самого железа огромное спасибо, как раз то что нужно. Arm79Нужно понимать, какие именно запросы идут к таблицам. Но я не понимаю, это что получается, вы храните всю историю значений по каждому конкретному элементу? А все расчеты у вас только по последним измерениям? Если да, то грандиозный объем оперативки не нужен. Хранится в БД вся история значений для каждого БП, которому соответствует N элементов. Для каждого БП может быть проведено несколько измерений. Расчеты могут быть по любым измерениям, вне зависимости от даты. Но тут основная роль БД предоставить собственно требуемые пользователем характеристики, затем эти данные заносятся в динамические массивы,а результат запроса очищается. И все дальнейшие операции над данными проделывает интерфейс управления. Постарался ответить на основные вопросы, если что-то не так, дайте знать.Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 00:29:03 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
авторПо поводу самого железа огромное спасибо, как раз то что нужно. И что, так у нас весь ВПК ? Хорошо, что еще не посоветовали "сервер килограмм на 15". ТС просто нужно читать, думать, экспериментировать самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 01:49:51 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
авторПо поводу самого железа огромное спасибо, как раз то что нужно.Вы там не торопитесь, прочитайте внимательней: Arm79Мне почему то кажется , что 128 оперативки, 4 ядра и raid 10 на 2-4 терабайта (не обязательно SSD) должно хватитьТри неуверенности в одно предложении. Три! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 08:32:15 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
tanglir, ясно дело )))) откуда уверенность то, не зная ни характера нагрузки, ни типа запросов. Есть только мои фантазии, основанные на скудном описании ТС. Под них все подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 10:40:40 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
netwind, tanglir. Netwind, по поводу ВПК выражение "то что нужно" звучало в контексте "спасибо за приблизительный ответ по конкретному вопросу, ради которого топик и создавался". Я прекрасно понимаю, что задача вовсе не типовая , и просить точную конфигурацию цели не было. Чтобы экспериментировать в любом случае нужен сервер, заявку на который нужно отправлять в ближайшее время, т.к. вопрос будет решаться в течение пол года-год. Нет возможности установить в качестве сервера любую стандартную машину, запрещено корпоративной политикой. Tanglir, по поводу читать, я бы с радостью, но видимо моих навыков серфинга в интернете не хватило, чтобы найти туториалы по подобным вопросам или подобные темы, поэтому и обратился сюда. Если есть какая-нибудь информация, прошу поделиться, где этот вопрос можно изучить более детально. По поводу "неуверенности" Arm, пока что это единственная информация по поводу диапазона характеристик самого железа. Мне собственно для закрытия данного вопроса и нужен приблизительный диапазон характеристик, относительно которого дальше и выделять ориентир дальнейшей работы. С моей колокольни с ВПК на данный момент все в порядке, обосновывать публично такую позиция не имею разрешения:) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:09:38 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephiс ВПК на данный момент все в порядкеТогда предлагаю итерационный подход. Сейчас берёте сервер без излишней крутизны - односокетный Xeon с самой высокой частотой, какой есть в пределах доступности (количество ядер роли пока не играет), побольше оперативки (ее вообще много не бывает) и RAID-10 на обычных HDD (серверный SSD такого объема для первого этапа будет неразумно дорог). Гоняете этот сервер, отлаживаете структуру БД (да и вообще структуру хранения) и запросы, а потом, по мере получения практического опыта эксплуатации системы (в т.ч. обнаружения узких мест), принимаете решение - жить с ним дальше или купить новый, а этот вывести в статус девелоперского/резервного. Если система окажется долгоживущей и будет расти по нагрузке, то итерацию повторить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:27:51 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoftТогда предлагаю итерационный подход.Сейчас берёте сервер без излишней крутизны - односокетный Xeon с самой высокой частотой, какой есть в пределах доступности (количество ядер роли пока не играет), побольше оперативки (ее вообще много не бывает) и RAID-10 на обычных HDD (серверный SSD такого объема для первого этапа будет неразумно дорог). Гоняете этот сервер, отлаживаете структуру БД (да и вообще структуру хранения) и запросы, а потом, по мере получения практического опыта эксплуатации системы (в т.ч. обнаружения узких мест), принимаете решение - жить с ним дальше или купить новый, а этот вывести в статус девелоперского/резервного. Если система окажется долгоживущей и будет расти по нагрузке, то итерацию повторить. Miksoft, большое спасибо. Можно только вас спросить по поводу примерного диапазона ОП для первой итерации, с расчетом на 1-2ТБ данных?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:33:38 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiМожно только вас спросить по поводу примерного диапазона ОП для первой итерации, с расчетом на 1-2ТБ данных?)я, например, так и не понял, сколько данных за раз предполагается выгребать. Существует ли разделение данных на "холодные" (очень редко используемые) и "горячие" (очень часто используемые, например, за последний день/эксперимент/замер)? Если да, то желательно, чтобы innodb_buffer_pool_size покрывал объем горячих данных. Другой момент - будете ли вы просто читать/писать данные или будет пытаться обработать их в SQL. Если второе, то желательно запастись памятью и под соответствующие буфера. Если запросы будут порождать временные файлы на диске, от которых нельзя избавиться, но которые нужно ускорить и потенциально влезают в ОП (т.е их объем не изменяется терабайтами), то еще нужно добавить ОП для Tmpfs. Поскольку вы вряд ли это все знаете сейчас, то берите те же 128 ГБ, только попросите не размазывать на много мелких модулей, а берите модулями максимально доступного размера, чтобы занять поменьше слотов и побольше оставить на случай расширения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:52:25 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoft, На холодные и горячие данные ( на данный момент") делить не планируется. Обрабатывать средствами SQL не планируется, все реализует интерфейс. От БД требуется только предоставлять данные, выбранные по различным условиям. Максимальный объём горячих данных может достигать 1-2 ГБ, не более(это и так гиперутрированное значение). Спасибо вам большое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:59:30 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiНа холодные и горячие данные ( на данный момент") делить не планируется.я говорил не столько о физическом разделении (например, по таблицам или по партициям таблиц), сколько о логическом (какие-то записи могут использоваться намного чаще других). В таких случаях не обязательно запасаться кэшем на всю таблицу, достаточно, чтобы влезали блоки с "горячими" записями. unutcon MephiМаксимальный объём горячих данных может достигать 1-2 ГБ, не более(это и так гиперутрированное значение).Тогда, может, и 32 ГБ хватит. Только не берите мелкими модулями, иначе при апгрейде они останутся не у дел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 13:41:40 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoftНе исключено, что вообще данные хранить в БД не надо, вместо этого хранить их в файлахНаткнулся тут по другому поводу на ссылку http://www.mysql.com/products/enterprise/backup.html Спланируйте заранее, как вы будете бэкапить и восстанавливать БД в 2-3 ТБ. Иначе, если исходить пропорционально из данных по этой ссылке, то восстанавливать БД придется месяц. Тогда как в случае с файлами диапазон инструментов, да и вообще вариантов, возрастает многократно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 19:26:05 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
miksoft, Спасибо за ссылку - наглядно и... пугающе :). Вариант с файлами действительно хорош, попытаюсь его тщательно обмозговать и обсудить с начальником. По крайней мере он позволяет тот же физический размер бд сильно уменьшить. Вот DDL таблицы "Значение", которая на данный момент хранит значения файлов. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Если одна строка в текстовом файле( полностью соответствующем загружаемым значениям в эту таблицу) занимает 30 байт, то , при занесении в БД, одна запись занимает уже 45байт данные и 17 байт индексы = 62 байта Код: plaintext Miksoft, позвольте еще у вас спросить есть ли смысл смотреть в сторону BLOB полей? И по поводу "холодных" и "горячих" данных не совсем понятно. Т.е. холодные, те что хранятся в БД, но используются редко или давно,а горячие это актуальные?. Если это так, то как можно это использовать? Все что мне в голову пришло, это хранить "горячие" данные в виде характеристик,а холодные при определенном сроке простоя переводить в вид строки, содержащей пути к файлу( как и предложено). Но в любом случае, при удалении "холодных" характеристик место InnoDB зарезервирует - хоть и данных не будет в таблице, но физическое место не освободится - или же это все таки ускорит выборки и операции загрузки?. Много вопросов и букв, спасибо за терпение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 21:25:23 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
Прошу прощения , редактировать нельзя... Нашел приблизительную информацию про "горячие" и "холодные" данные. Вот только не понимаю, как средствами MySQL физически реализовать хранения горячих данных в RAM, а холодных на HDD. Если есть возможность, подскажите направление, где можно более детально с этим вопросом ознакомиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 21:32:15 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi, это вопрос оценки базы, а не попытки программировать педально-шаговую систему с учетом разделения данных на горячие и холодные. Там все автоматически происходит : оценивают как работает база, ставят памяти чтобы оно все влезало и выставляют innodb bufer pool size соразмерно горячим данных. Можно много чего выдумать, но вам пока не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 22:07:23 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiВот DDL таблицы "Значение", которая на данный момент хранит значения файлов. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Если одна строка в текстовом файле( полностью соответствующем загружаемым значениям в эту таблицу) занимает 30 байт, то , при занесении в БД, одна запись занимает уже 45байт данные и 17 байт индексы = 62 байтаЧто-то не сходится. Прямым подсчетом получается 8+4+1+1+4+4=22 байта на запись в таблице и 4+8=12 байт на запись в индексе. Конечно, накладные расходы присутствуют, но не в два же раза. Если в таблице удалялось много записей, то попробуйте сделать ей OPTIMIZE TABLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 18:59:14 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiИ по поводу "холодных" и "горячих" данных не совсем понятно. Т.е. холодные, те что хранятся в БД, но используются редко или давно,а горячие это актуальные?. Если это так, то как можно это использовать?Например, у нас, есть таблица с документами/накладными/счетами. Обычно наши сотрудники работают с документами, сделанными в последние несколько дней. Документы старее недели нужны уже редко, обычно для разбора каких-то косяков. Старее месяца документы уже почти никого не интересуют и используются только в какой-нибудь статистике, которая обсчитывается ночью. Физически это одна таблица, с точки зрения СУБД записи в ней ничем не отличаются друг от друга, но некоторые записи используются значительно чаще, чем другие. Вот это и есть "горячие данные". Поскольку быстродействие при работе с холодными данными никого не интересует, то для приемлемой работы пользователей достаточно выделить памяти на кэш только под "горячие данные". Т.е. в моем примере на документы за последнюю неделю-месяц. Существуют методы раздельного хранения холодных и горячих данных, но обычно они применяются только в очень больших системах и когда деление данных вводится формально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 19:10:26 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon MephiДобрый день, уважаемые знатоки. Необходим дельный совет по поводу подбора конфигурации железа сервера для MySQL( тип таблиц InnoDB). К сожалению, дельной информации по этому поводу найти не удалось, поэтому вынужден обратиться сюда( за любые ссылки и пинки в какую-либо дельную сторону огромное спасибо) Сервер будет выделенной машиной, к которой будут иметь доступ сотрудники отдела по локальной сети. Предварительный объём хранимых данных 2-3ГБ. Собственно , следуя тем данным которые я смог найти, а именно: оперативная память, процессор, жесткие диски; являются ключевыми в данном вопросе. ( в некоторых книжках написано что для комфортной работы необходимо около 30% ОП от объема данных. Также планируется использовать аппаратный RAID10. Не могли бы вы дать советы по поводу данных комплектующих, чтобы этот вопрос можно было решить более рационально. За любые ответы,советы,указания огромное спасибо и низкий поклон. C железом под СУБД всё очень просто, оно должно удовлетворять только трём главным критериям: Иметь быстрые процессоры Иметь много оперативной памяти Иметь хорошую подсистему ввода-вывода. И всё. Памяти тебе надо размер твоей БД, плюс под накладные СУБД, плюс под накладные операционки, плюс лог. 8Гб в твоём случае будет выше крышы. Может хватить и 4-х (но по современным меркам это -- несерьёзно для сервера). Процы -- любые современные. Ультра супер пупер гигагерцы не нужны, нужен современный середнячёк. Лучше, естественно, всё в серверных вариантах, плата, процы, и т.п. Т.е. Xeon или аналоги. Ни в коем случае нельзя использовать мобильные и энергоэкономные платы и процы (хотя, может и они потянут). Диски -- как можно быстрее. Вот и всё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 20:05:35 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephimiksoft,netwind Прошу прощения за глупейшую ошибку. Только сейчас увидел что написал про обьёмы в 2-3 ГБ На самом деле Речь идет о 2-3 ТБ. Извиняюсь Блин, вот это фейл.... Ну, такие объёмы в память не лезут по определению, поэтому там уже нужно глядеть по задаче, обычно у задач есть т.н. рабочий набор данных, который сидит в кэше, и именно под него нужно иметь память. Но это естественно ты только решишь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 20:08:56 |
|
||
|
Подбор железа под MySQL Сервер
|
|||
|---|---|---|---|
|
#18+
unutcon Mephinetwind, Я правильно понял, вы советуете посмотреть в сторону BigData? Неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 20:10:11 |
|
||
|
|

start [/forum/topic.php?all=1&fid=47&tid=1832392]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 386ms |

| 0 / 0 |
