Kiến trỳc chia sẻ bộ nhớ (Shared-Memory) là kiến trỳc đơn giản của hệ thống song song. Trong kiến trỳc này, mỗi bộ xử lý truy cập
đến một mụ-đun nhớ hoặc một đơn vịđĩa bất kỳ qua một liờn kết tốc
độ cao, chẳng hạn như bus tốc độ nhanh hoặc chuyển mạch chữ nhật. Mụ hỡnh của kiến trỳc chia sẻ bộ nhớđược thể hiện như trong hỡnh 5.2.
Hỡnh 5.2: Kiến trỳc chia sẻ bộ nhớ
Một trong những mụ hỡnh thụng dụng nhất của kiến trỳc chia sẻ
bộ nhớ là mụ hỡnh mỏy song song truy cập ngẫu nhiờn (Parallel Random Access Machine - PRAM). Mụ hỡnh này cú thể được mở
rộng tựy theo số lượng bộ vi xử lý, được đồng bộ húa ở mức xử lý lệnh. Vỡ vậy, mỗi bộ vi xử lý sẽ thực hiện những tập lệnh của bản thõn nú và sẽđược hệ thống điều hành ở mức chu kỳ lệnh.
Một số hệ thống song song dựa trờn kiến trỳc chia sẻ bộ nhớ như: XPRS, DBS2 và Volcano. Hệ quản trị cơ sở dữ liệu trờn mỏy tớnh đa bộ vi xử lý chia sẻ bộ nhớ, sự thực thi của DB2 trờn mỏy IBM 3090 với 6 bộ vi xử lý. Hầu hết cỏc sản phẩm thương mại chia sẻ bộ nhớ đều lợi dụng song song húa cỏc liờn truy vấn (Inter - Query) để cung
cấp khả năng thụng qua cỏc giao dịch lớn và song song qua cỏc nội truy vấn (Intra - Query), nhằm giảm thời gian đỏp của truy vấn hỗ trợ
quyết định.
Kiến trỳc song song dựa trờn việc chia sẻ bộ nhớ cú những ưu
điểm và nhược điểm khi triển khai cơ sở dữ liệu phõn tỏn. Kiến trỳc chia sẻ bộ nhớ cú 2 ưu điểm chớnh là: đơn giản và cõn bằng tải. Song song húa cỏc bộ vi xử lý cú tớnh đơn giản. Cỏc khỏi niệm liờn quan
đến bộ nhớ và cỏc chớnh sỏch quản lý bộ nhớ khụng thay đổi. Thụng tin về thư mục và cỏc thụng tin điều khiển (bảng khúa...) cú thểđược chia sẻ bởi tất cả cỏc bộ xử lý, vỡ vậy phần mềm ghi cơ sở dữ liệu khụng cú sự khỏc biệt so với mỏy tớnh cú một bộ xử lý. Cụ thể hơn, việc song song húa cỏc truy vấn giữa những bộ vi xử lý khỏc nhau cú thể thực hiện một cỏch dễ dàng. Việc song song húa truy vấn trong mỗi vi xử lý yờu cầu thực hiện một vài giao dịch song song nhưng đơn giản. Về cõn bằng tải, kiến trỳc chia sẻ bộ nhớ dễ dàng đạt được cõn bằng tải khi thực thi, vỡ tất cả cỏc đơn vị lưu trữđều được sử dụng chung.
Tuy nhiờn, kiến trỳc chia sẻ bộ nhớ cũn tồn tại một số vấn đề cần xem xột, như giỏ cả, giới hạn khả năng mở rộng và tớnh khả dụng kộm. Giỏ thành cao vỡ cú cỏc liờn kết phức tạp và số lượng liờn kết lớn khi mỗi bộ vi xử lý phải kết nối với mỗi mụ-đun bộ nhớ hay đĩa. Với cỏc bộ vi xử lý tốc độ nhanh, dựng chung bộ nhớ trong quỏ trỡnh truy cập bộ nhớ cú thể dẫn đến số lượng xung đột lớn, vỡ vậy làm giảm hiệu năng hệ thống. Cũn nữa, khi tăng thờm vi xử lý, ngoài việc phải tăng thờm nhiều kết nối, sự xung đột giữa cỏc vi xử lý cũng vỡ đú cú thể
tăng nhanh, vỡ vậy khả năng mở rộng của hệ thống sử dụng kiến trỳc này bị giới hạn trong phạm vi chục bộ vi xử lý. Nhược điểm cuối cựng là, vỡ khụng gian nhớđược chia sẻ bởi tất cả bộ vi xử lý, một bộ nhớ
cú lỗi, cú thể ảnh hưởng đến tất cả cỏc bộ vi xử lý, do đú làm giảm tớnh khả dụng của cơ sở dữ liệu.