Cơ sở hạ tầng của một storage engine

Một phần của tài liệu Nghiên cứu phương pháp xây dựng Storage Engine cho hệ quản trị cơ sở dữ liệu MySQL (Trang 54 - 55)

L ỜI CAM ĐOAN

3.1. Cơ sở hạ tầng của một storage engine

Trước tiên, phải khẳng định rằng, không có một kiến trúc chung cho mọi storage

engine, hay nói cách khác, tùy vào ứng dụng cụ thể trong những tình huống cụ thể mà các storage engine có thể triển khai các đặc trưng phù hợp nhất với ứng dụng đó. Tuy

nhiên, khi xây dựng một storage engine có thể cân nhắc tới các yếu tố cơ bản như sau:

- Lưu trữ vật lý: bao gồm mọi thứ từ các kích thước trang tổng thể cho các bảng

và các chỉ mục cũng như định dạng sử dụng để lưu trữ dữ liệu tới các đĩa vật lý.

- Tính đồng thời: các ứng dụng khác nhau yêu cầu các phạm vi khóa khác nhau. Lựa chọn chiến lược khóa phù hợp có thể làm giảm chi phí và do đó cải thiện hiệu suất

trên toàn bộ hệ thống. Nó cũng bao gồm các lựa chọn hỗ trợ mức cao hơn như là điều

khiển đồng thời đa phiên bản.

- Hỗ trợ giao tác: không phải mọi ứng dụng đều cần giao tác. Việc xây dựng chức năng hỗ trợ giao tác cho một storage engine là khá phức tạp nên chỉ xây dựng nó khi ứng dụng thực sự cần.

- Toàn vẹn tham chiếu: các máy chủ cần có để buộc các ràng buộc tham chiếu

trong CSDL quan hệ thông qua các khóa ngoại định nghĩa trong ngôn ngữ định nghĩa

dữ liệu DDL.

- Hỗ trợ chỉ mục: các kịch bản ứng dụng khác nhau hướng tới đạt được lợi ích tốt

nhất từ các chiến lược chỉ mục khác nhau. Mỗi một storage engine thông thường có các phương thức đánh chỉ mục của riêng nó, mặc dù một vài chỉ mục, như là chỉ mục

- Lưu đệm: Mặc dù có một vài bộ nhớ đệm thường phổ biến trong mọi storage

engine, như các vùng đệm lưu các kết nối người dùng hoặc bộ đệm truy vấn tốc độ cao

trong MySQL, các bộ nhớ đệm khác thường chỉ được sử dụng trên một storage engine nhất định. Lựa chọn chiến lược lưu đệm phù hợp có thể góp phần cải thiện đáng kể chi

phí vào/ra, từ đó cải thiện hiệu suất của hệ thống trong một số trường hợp.

- Một số kĩ thuật cải thiện hiệu suất: bao gồm đa luồng I/O cho xử lí song song,

các luồng đồng thời, kiểm soát CSDL, quản lí chèn số lượng lớn, …

- Các đặc trưng mục tiêu chuyên biệt: như hỗ trợ cho thực thi địa lý, các hạn chế

an ninh cho các quá trình thực thi thao tác dữ liệu nhất định, và các tính năng tương tự

khác.

Dựa trên yêu cầu riêng của ứng dụng cần xây dựng, cùng với việc cân nhắc các

yếu tố cơ bản trên, người phát triển cần xác định rõ tập các tính năng cơ bản thiết thực

cho hệ thống nhằm nâng cao hiệu suất, tính hiệu quả, thiết thực và phù hợp nhất với

nhu cầu của người dùng.

Một phần của tài liệu Nghiên cứu phương pháp xây dựng Storage Engine cho hệ quản trị cơ sở dữ liệu MySQL (Trang 54 - 55)

Tải bản đầy đủ (PDF)

(75 trang)