Ходят слухи, что для баз данных важнее тактовая частота, то есть, количество выполняемых операций в секунду. Во многих случаях это и вправду так, но не всегда зависит именно от БД. Иногда от программного обеспечения.
Может ли многоядерный процессор быть лучше для баз данных? Может, отвечу, почему.
Производительность
База данных — это самостоятельные материалы, упорядоченные и представленные в виде объективной совокупности. Материалы систематизированы таким образом, чтобы можно было легко получить доступ с электронных вычислительных машин.
Баз данных существует великое множество. Многие компании прорабатывают их специально для себя, есть и универсальные типы с четко заданной разметкой. Соответственно, даже если раскидать по папкам несколько десятков текстовых файлов, упорядочить и сделать доступ, то мы уже получаем базу данных.
Но базы становятся сложнее, информативнее, требуются для во все больших сферах. Для универсализации и упрощения были созданы системы управления базами данных (СУБД). Они позволили лучше управлять БД и полностью реализовать их функционал.
Не буду вдаваться в подробности. На данный момент существует множество СУБД, вот ключевые:
- Microsoft SQL;
- SQLite;
- MySQL;
- Oracle Database;
- PostgreSQL;
- IBM DB2.
Ну, можно прокричать, что есть еще и Firebird, BerkeleyDB, но на перечисление всех существующих потратим слишком много времени.
Могу сказать сразу, что у тех же DB Oracle и Microsoft MySQL, по крайней мере последних, нет ограничений по многоядерности, главное не упереться в дисковую память, потому, лучше ставить на сервер баз данных производительный твердотельный накопитель.
У Postgre и IBM были проблемы с многопоточностью, но первая исправилась и уже даже начала упорно бодаться с Oracle. Но мы не об этом. Получается, базам данных многоядерность только на пользу? Ведь все операции по чтению/записи можно разбить на множество потоков и получить высокую производительность? Да, но есть нюансы.
Что мешает?
Итак, база данных для нас — не ключевой показатель. И системы управления оными тоже. Есть один серьезный аспект — программное обеспечение. Да, вся проблема лежит именно в нем. Например, какую СУБД ни поставь для 1С, а все равно с многопоточностью не дружит. А вот виртуальные хостинги с MySQL наоборот, любят много ядер, но не все. Зависит от хостера.
Банальный пример. «Аэрофлот» в свое время оформил огромный заказ на программное обеспечение Oracle. Да, все программное обеспечение такого титана не может существовать без баз данных, в которых хранится информация. Состояние самолетов, маршруты, персонал и много чего другого. Чем больше масштаб, тем крупнее БД. И серверы у них есть как с 4-8 ядрами для обеспечения работы одних программ, так и многопроцессорные системы с большим количеством ядер для выполнения других задач. И те, и другие отлично работают.
Вывод? Правильно, выбор зависит от программного обеспечения, потому в первую очередь стоит ориентироваться на него. Все остальное будет неверным подходом. К чему рассказали о компании «Аэрофлот»? Просто объяснили: если организация может позволить себе разработку ПО под целевые задачи, то все будет работать на ура.
Так что все зависит от применяемого программного обеспечения. Однозначного ответа на вопрос «что важнее: многоядерность или тактовая частота?» дать не получится.
Источник: https://servergid.ru/core-vs-speed-database/
#база данных #бд #sql #orlance database #postgresql #тактовая частота #многоядерность #субд #многоядерность #сервер гид