MPP Vs. SMP Database
Massively Parallel Processor and Symmetric Multiprocessor are competing forms of databases. Servers called nodes store the data in both MPP and SMP databases. MPP databases are scalable, while SMP systems are simpler to maintain.
MPP database searches are performed by each processor on the computers where segments of the database are stored. MPP databases can be expanded by adding new CPUs. MPP databases are a form of linear scalable database or parallel database. Spreading data across more systems in thinner slices results in faster database searches. Performance of an MPP system is linear, increasing roughly in proportion to the number of nodes. MPP nodes are managed as a single computer. SQL originated as a means of processing data across MPP databases. Cognos Business Intelligence and Teradata software run on MPP databases.
SMP databases share software, input / output resources and memory disks. Symmetric Multiprocessor databases generally use one CPU to perform database searches. While Symmetrical Multiprocessors can have hundreds of CPUs, they are most commonly configured with 2, 4, 8 or 16. Memory is the primary constraint on SMP databases. SMP databases can run on more than one server, though they will share other resources; this is known as a called a clustered configuration. SMP databases assign tasks to a single CPU, regardless of how many are in the database. SMP databases have lower fault tolerance and efficiency due to their reliance on shared resources. SMP databases have lower administrative costs than MPP. Oracle and Sybase run on SMP databases.
MPP vs SMP Databases
An MPP database sends the same query to each CPU in the MPP where it searches the data. When two MPP databases are connected, the search time will be almost half that of a similarly sized SMP database. The search time is not exactly half since there are delays as data travels between the MPP nodes. High speed processors used in an SMP database can be cost competitive with MPP systems.
When a company runs its payroll, records labor time card entries or saves product data in a drawing database on a single server, it is using an SMP database. SMP databases are used for hosting small Web sites and email servers. MPP databases are commonly used for data warehousing. MPP databases are also used for large scale data processing and data mining.
References & Resources
- Taming the Big Data Tidal Wave; Bill Franks
- Practical Guide to Business Forecasting; Chaman L. Jain and Jack Malehorn
- High Performance Parallel Database Processing and Grid Databases; David Taniar
- Data Warehousing; Paul Westerman
- Physical Database Design; Sam Lightstone, et al.
- The Data Warehouse Lifecycle Toolkit; Ralph Kimball, et al.
- Planning for Big Data; Edd Dumbill
- Pro Oracle Database 11g Rac on Linux; Julian Dyke, et al.