solidDB và những bí mật của tốc độ - Pdf 11

solidDB và những bí mật của tốc độ
Là cơ sở dữ liệu quan hệ trong bộ nhớ, solidDB của IBM được sử dụng trên toàn thế giới vì nó
có khả năng cung cấp tốc độ và khả năng sẵn sàng vô cùng cao. Đúng như tên gọi hàm ý, một cơ
sở dữ liệu trong bộ nhớ nằm hoàn toàn trong bộ nhớ chính chứ không phải trên ổ đĩa, làm cho
việc truy cập dữ liệu trở nên nhanh hơn một bậc so với cơ sở dữ liệu thông thường trên ổ đĩa.
Một phần của bước nhảy vọt đó là do thực tế rằng RAM cung cấp truy cập dữ liệu nhanh hơn so
với các ổ đĩa cứng.
Nhưng solidDB cũng có cấu trúc dữ liệu và phương pháp truy cập được thiết kế đặc biệt để lưu
trữ, tìm kiếm, và xử lý dữ liệu trong bộ nhớ chính. Kết quả là, nó xử lý tốt hơn các cơ sở dữ liệu
dựa trên ổ đĩa bình thường ngay cả khi các cơ sở dữ liệu này có dữ liệu được lưu trữ sẵn hoàn
toàn trong bộ nhớ. Một số cơ sở dữ liệu có độ trễ thấp, nhưng không thể xử lý một số lượng lớn
các giao dịch hoặc các phiên đồng thời. solidDB của IBM cung cấp thông lượng được đo trong
phạm vi hàng chục đến hàng trăm hàng ngàn giao dịch mỗi giây, trong khi liên tục đạt được thời
gian đáp ứng (hay độ trễ) được đo bằng micro giây. Bài viết này khám phá sự khác biệt về cấu
trúc giữa các cơ sở dữ liệu trong bộ nhớ và dựa trên ổ đĩa, và cách solidDB hoạt động như thế
nào để cung cấp tốc độ cực cao.
Đôi dòng về lịch sử của hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)
Khi các hệ thống quản lý dữ liệu đầu tiên xuất hiện vào những năm 1960, thì ổ đĩa là nơi duy
nhất để lưu trữ và truy cập một lượng lớn dữ liệu trong một khoảng thời gian hợp lý. Các nhà
thiết kế RDBMS tập trung vào việc tối ưu hóa vào/ra và cố gắng để dóng các mẫu truy cập dữ
liệu theo cấu trúc khối mà các ổ đĩa áp đặt. Chiến lược thiết kế thường tập trung vào bộ nhớ đệm
chia sẻ chung, nơi các khối dữ liệu được lưu giữ để tái sử dụng, trong khi các tiến bộ về phương
thức truy cập tạo ra các giải pháp, chẳng hạn như giải pháp cây B+ nổi tiếng, là chỉ mục được tối
ưu hóa theo khối.
Trong khi đó, các chiến thuật tối ưu hóa truy vấn tập trung vào giảm thiểu việc tìm nạp trang bất
cứ nơi nào có thể. Trong trận chiến khốc liệt vì hiệu năng, hoạt động vào/ra đĩa thường là kẻ thù
nguy hiểm nhất, và hiệu quả xử lý phải hy sinh để tránh truy cập ổ đĩa. Ví dụ: Với kích thước
trang điển hình là 8 KB hoặc 16 KB, việc xử lý trong trang vốn có tính tuần tự và kém hiệu quả
về CPU so với truy cập dữ liệu ngẫu nhiên. Tuy nhiên, nó vẫn còn là một cách phổ biến để giảm
truy cập ổ đĩa.
Khi kỷ nguyên bộ nhớ kích thước lớn xuất hiện, nhiều nhà quản trị cơ sở dữ liệu tăng vùng nhớ

Về đầu trang
Điểm đánh dấu (checkpoint) và độ bền: Con đường dẫn đến tốc độ
solidDB của IBM sử dụng một số kỹ thuật bổ sung để tăng tốc độ xử lý cơ sở dữ liệu, bắt đầu với
một phương pháp đã được cấp bằng sáng chế là tạo điểm đánh dấu, sinh ra điểm đánh dấu là một
ảnh chụp nhanh nhất quán mà không ngăn trở việc xử lý giao dịch bình thường. Một điểm đánh
dấu ảnh chụp nhanh nhất quán cho phép cơ sở dữ liệu chỉ khởi động lại kể từ điểm đánh dấu đó.
Các sản phẩm cơ sở dữ liệu khác thường không cho phép làm việc này. Chúng phải sử dụng các
tệp tin ghi nhật ký các giao dịch để tính toán lại trạng thái nhất quán (solidDB cho phép tắt hoạt
động ghi nhật ký giao dịch nếu muốn). Giải pháp của solidDB có thể thực hiện được nhờ khả
năng cấp phát vùng nhớ cho các ảnh của hàng và các ảnh bóng râm (shadow) của hàng (các
phiên bản khác của cùng một hàng) mà không sử dụng các cấu trúc khối kém hiệu quả. Chỉ có
những ảnh tương ứng với ảnh chụp nhanh nhất quán mới được ghi vào tệp điểm đánh dấu, và các
bóng râm của hàng cho phép các giao dịch hiện đang thi hành chạy không bị hạn chế gì trong
quá trình tạo điểm đánh dấu. Hơn nữa, trình tối ưu hóa truy vấn của solidDB ghi nhận bản chất khác của các bảng trong bộ
nhớ bằng cách ước tính chi phí chạy thi hành theo cách mới. Tối ưu hóa truy vấn tập trung vào
tuyến thi hành giới hạn trong CPU (CPUbound), trong khi cơ sở dữ liệu lưu trữ hoàn toàn trong
bộ nhớ nhanh sẽ vẫn lo lắng với việc tối ưu hóa tìm nạp các trang cho bộ lưu trữ thứ cấp, mà bây
giờ không còn là vấn đề nữa.
Một kỹ thuật khác mà solidDB của IBM sử dụng là nới lỏng độ vững bền của giao dịch. Trong
quá khứ, các cơ sở dữ liệu đã luôn hỗ trợ một độ vững bền hoàn toàn, đảm bảo rằng các dữ liệu
được ghi lâu bền ngay khi giao dịch được giao kết. Vấn đề là để có độ vững bền hoàn toàn thì
phải thực hiện việc ghi nhật ký đồng bộ, và do đó nó tiêu thụ tài nguyên và làm giảm thời gian
đáp ứng. Trong nhiều trường hợp, chấp nhận độ vững bền thấp hơn cho một số công việc để đổi
lấy thời gian phản ứng nhanh hơn là một sự đánh đổi hoàn toàn chấp nhận được. Với solidDB,
độ vững bền giao dịch có thể được nới lỏng tại thời gian chạy cho một phiên giao dịch cơ sở dữ
liệu đã cho hoặc thậm chí chỉ với một giao dịch duy nhất.
IBM solidDB cũng làm tăng hiệu năng của cơ sở dữ liệu bằng cách giúp các nhà phát triển tránh


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status