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

Может ли многоядерный процессор быть лучше для баз данных? Может, отвечу, почему.

Производительность

База данных — это самостоятельные материалы, упорядоченные и представленные в виде объективной совокупности. Материалы систематизированы таким образом, чтобы можно было легко получить доступ с электронных вычислительных машин.

Баз данных существует великое множество. Многие компании прорабатывают их специально для себя, есть и универсальные типы с четко заданной разметкой. Соответственно, даже если раскидать по папкам несколько десятков текстовых файлов, упорядочить и сделать доступ, то мы уже получаем базу данных.

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

Не буду вдаваться в подробности. На данный момент существует множество СУБД, вот ключевые:

  • Microsoft SQL;

  • SQLite;

  • MySQL;

  • Oracle Database;

  • PostgreSQL;

  • IBM DB2.

Ну, можно прокричать, что есть еще и Firebird, BerkeleyDB, но на перечисление всех существующих потратим слишком много времени.

Могу сказать сразу, что у тех же DB Oracle и Microsoft MySQL, по крайней мере последних, нет ограничений по многоядерности, главное не упереться в дисковую память, потому, лучше ставить на сервер баз данных производительный твердотельный накопитель.

У Postgre и IBM были проблемы с многопоточностью, но первая исправилась и уже даже начала упорно бодаться с Oracle. Но мы не об этом. Получается, базам данных многоядерность только на пользу? Ведь все операции по чтению/записи можно разбить на множество потоков и получить высокую производительность? Да, но есть нюансы.

Представление БД

Что мешает?

Итак, база данных для нас — не ключевой показатель. И системы управления оными тоже. Есть один серьезный аспект — программное обеспечение. Да, вся проблема лежит именно в нем. Например, какую СУБД ни поставь для 1С, а все равно с многопоточностью не дружит. А вот виртуальные хостинги с MySQL наоборот, любят много ядер, но не все. Зависит от хостера.

Банальный пример. «Аэрофлот» в свое время оформил огромный заказ на программное обеспечение Oracle. Да, все программное обеспечение такого титана не может существовать без баз данных, в которых хранится информация. Состояние самолетов, маршруты, персонал и много чего другого. Чем больше масштаб, тем крупнее БД. И серверы у них есть как с 4-8 ядрами для обеспечения работы одних программ, так и многопроцессорные системы с большим количеством ядер для выполнения других задач. И те, и другие отлично работают.

Вывод? Правильно, выбор зависит от программного обеспечения, потому в первую очередь стоит ориентироваться на него. Все остальное будет неверным подходом. К чему рассказали о компании «Аэрофлот»? Просто объяснили: если организация может позволить себе разработку ПО под целевые задачи, то все будет работать на ура.

Так что все зависит от применяемого программного обеспечения. Однозначного ответа на вопрос «что важнее: многоядерность или тактовая частота?» дать не получится.

Рекомендуемые записи