Parallel Database Architecture
1. Shared Memory Architecture
|Figure 1 - Shared Memory Architecture|
- Simple implementation
- Establishes effective communication between processors through single memory addresses space.
- Above point leads to less communication overhead.
- Higher degree of parallelism (more number of concurrent operations in different processors) cannot be achieved due to the reason that all the processors share the same interconnection network to connect with memory. This causes Bottleneck in interconnection network (Interference), especially in the case of Bus interconnection network.
- Addition of processor would slow down the existing processors.
- Cache-coherency should be maintained. That is, if any processor tries to read the data used or modified by other processors, then we need to ensure that the data is of latest version.
- Degree of Parallelism is limited. More number of parallel processes might degrade the performance.
2. Shared Disk Architecture
|Figure 2 - Shared Disk Architecture|
- Failure of any processors would not stop the entire system (Fault tolerance)
- Interconnection to the memory is not a bottleneck. (It was bottleneck in Shared Memory architecture)
- Support larger number of processors (when compared to Shared Memory architecture)
- Interconnection to the disk is bottleneck as all processors share common disk setup.
- Inter-processor communication is slow. The reason is, all the processors have their own memory. Hence, the communication between processors need reading of data from other processors’ memory which needs additional software support.
Example Real Time Shared Disk Implementation
- DEC clusters (VMScluster) running Rdb
3. Shared Nothing Architecture
|Figure 3 - Shared Nothing Architecture|
- Number of processors used here is scalable. That is, the design is flexible to add more number of computers.
- Unlike in other two architectures, only the data request which cannot be answered by local processors need to be forwarded through interconnection network.
- Non-local disk accesses are costly. That is, if one server receives the request. If the required data not available, it must be routed to the server where the data is available. It is slightly complex.
- Communication cost involved in transporting data among computers.
Example Real Time Shared Nothing Implementation
- Oracle nCUBE