Использование машин баз данных мотивируется, прежде всего, целью освобождения основного компьютера общего назначения от бремени обработки баз данных, чтобы могла быть повышена общая производительность системы. Перемещения функциональность СУБД с основного компьютера на вспомогательную машину баз данных можно достичь применением программного или аппаратного подхода.
В подходе software backend (обзор см., например, в [Maryanski 1980]) база данных вместе с программным обесечением СУБД перемещается на автономный компьютер общего назначения. Программный backend полностью обрабатывает каждый запрос к базе данных, позволяя основному компьютеру в параллель выполнять задачи, не связанные с базами данных. Другой привлекательной чертой этого подхода является разумная цена традиционного компьютера. Однако для приложений с очень интенсивным использованием базы данных этот подход кажется непригодным. В этих ситуациях сам вспомогательный компьютер становится узким местом системы, поскольку обладает теми же ограничениями, что и основной компьютер общего назначения. Общая производительность может быть даже хуже, чем в конфигурации с одним главным компьютером по причине требуемых дополнительных межпроцессорных коммуникаций.
В таком случае может быть выбран подход hardware backend (обзор см., например, в [Hsiao 1979 и Langdon 1979). С точки зрения оптимизации запросов аппаратный backend может быть использован для поддержки важных стратегий оптимизации, таких как ранее вычисление ограничительных операций и параллельная обработка, путем размещения аппаратной логики как можно ближе к базовым данным и разделения работы между существующими аппаратными компонентами.
Вообще говоря, аппаратный backend состоит из набора взаимодействующих сециализированных процессоров. Существует большое разнообразие архитектурных альтернатив, от ассоциирования идентичных процессоров с непересекающимися фрагментами базы данных до назначения конкретным процессорам разных функций СУБД; эти назначения могут делаться статически или динамически.