Parallel database
A parallel database system seeks to improve performance through parallelization of various operations, such as loading data, building indexes and evaluating queries.[1] Although data may be stored in a distributed fashion, the distribution is governed solely by performance considerations. Parallel databases improve processing and input/output speeds by using multiple CPUs and disks in parallel. Centralized and client–server database systems are not powerful enough to handle such applications. In parallel processing, many operations are performed simultaneously, as opposed to serial processing, in which the computational steps are performed sequentially. Parallel databases can be roughly divided into two groups, the first group of architecture is the multiprocessor architecture, the alternatives of which are the followings:
- Shared memory architecture
- Where multiple processors share the main memory space.
- Shared disk architecture
- Where each node has its own main memory, but all nodes share mass storage, usually a storage area network. In practice, each node usually also has multiple processors.
- Shared nothing architecture
- Where each node has its own mass storage as well as main memory.
The other architecture group is called hybrid architecture, which includes:
- Non-Uniform Memory Architecture (NUMA), which involves the non-uniform memory access.
- Cluster (shared nothing + shared disk: SAN/NAS), which is formed by a group of connected computers.
References
- ↑ Dewitt, David; Gray, Jim (1992). "Parallel database systems: The future of high performance database systems" (PDF). Communications of the ACM 35 (6): 85. doi:10.1145/129888.129894.