Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Sử dụng vùng đệm kết hợp Microsoft SQL Server

Microsoft® đã giới thiệu một tính năng mới được gọi là vùng đệm hỗn hợp trong SQLServer® 2019 (Xem trước) CTP 2.1. Tính năng này cho phép bạn truy cập trực tiếp các trang dữ liệu trong tệp cơ sở dữ liệu được lưu trữ trong thiết bị bộ nhớ liên tục (PMEM).

PMEM là gì?

PMEM là một thiết bị nhớ địa chỉ byte hiệu suất cao trạng thái rắn nằm trên bus bộ nhớ. Nó có nhiều lợi ích hơn các thiết bị lưu trữ khác.

Các lợi ích chính của PMEM bao gồm:

  • Nó cung cấp khả năng truy cập dữ liệu nhanh hơn và gần theo thời gian thực cho các tập dữ liệu lớn mà không có độ trễ so với Ổ cứng thể rắn flash (SSD).
  • Nó làm tăng thông lượng nhiều hơn so với bộ nhớ flash.
  • Nó rẻ hơn Bộ nhớ truy cập ngẫu nhiên động (DRAM).
  • Nó có thể lưu vào bộ nhớ cache. Đây là một lợi thế rất lớn so với Ngoại vi ComponentInterconnect (PCIe), vốn không thể lưu vào bộ nhớ đệm trong bộ xử lý trung tâm (CPU).
  • Nó giữ lại dữ liệu trong bộ nhớ sau khi ngắt điện hoặc tắt nguồn.

Bạn có thể sử dụng PMEM theo nhiều cách khác nhau để giảm độ trễ cho các ứng dụng mà bạn cần truy cập dữ liệu nhanh hơn với lượng dữ liệu khổng lồ như ứng dụng Internet ofThings (IoT), phân tích mối đe dọa mạng và giao dịch tài chính giữa các bên.

Khái niệm

Các điều khoản sau có thể áp dụng cho tính năng mở rộng vùng đệm:

  • Ổ cứng thể rắn (SSD) :Lưu trữ dữ liệu trong bộ nhớ (RAM) một cách liên tục.

  • Bộ đệm :Trong SQL Server, bộ đệm là một trang 8 KB trong bộ nhớ, có cùng kích thước với một trang dữ liệu hoặc chỉ mục. Do đó, bộ đệm đệm được chia thành các trang 8 KB. Apage vẫn còn trong bộ đệm đệm cho đến khi trình quản lý bộ đệm cần bộ đệm đọc được nhiều dữ liệu hơn. Dữ liệu chỉ được ghi vào đĩa nếu nó được sửa đổi. Các trang sửa đổi trong bộ nhớ này được gọi là trang bẩn. Một trang sạch sẽ khi nó tương đương với hình ảnh cơ sở dữ liệu của nó trên đĩa. Dữ liệu trong bộ đệm đệm có thể được sửa đổi nhiều lần trước khi được ghi trở lại đĩa.

  • Vùng đệm :Còn được gọi là bộ đệm đệm, vùng đệm là một nguồn toàn cầu được chia sẻ bởi tất cả các cơ sở dữ liệu cho các trang dữ liệu được lưu trong bộ đệm của chúng. Kích thước tối đa và tối thiểu của bộ đệm ẩn vùng đệm được xác định trong khi khởi động hoặc khi hoạt động của máy chủ SQL được cấu hình lại động bằng cách sử dụng sp_configure. Thissize xác định số lượng trang tối đa có thể được lưu vào bộ đệm trong vùng đệm bất kỳ lúc nào trong phiên bản đang chạy. Bộ nhớ tối đa có thể được cam kết bởi phần mở rộng vùng đệm có thể bị giới hạn bởi các ứng dụng khác đang chạy trên máy trong trường hợp những ứng dụng đó tạo ra áp lực bộ nhớ đáng kể.

  • Trạm kiểm soát :Một trạm kiểm soát tạo ra một điểm tốt đã biết mà từ đó công cụ cơ sở dữ liệu có thể bắt đầu áp dụng các thay đổi có trong quá trình khôi phục trong quá trình ghi nhật ký giao dịch sau khi tắt hoặc gặp sự cố không mong muốn. Điểm kiểm tra ghi các trang bẩn và thông tin nhật ký giao dịch từ bộ nhớ vào đĩa, đồng thời ghi lại thông tin về nhật ký giao dịch.

  • Truy cập trực tiếp (DAX) :DAX hoạt động giống như bộ nhớ để có độ trễ thấp nhất. Ứng dụng trực tiếp sửa đổi bộ nhớ liên tục, bỏ qua ngăn xếp. Tùy chọn này chỉ có thể được sử dụng với NTFS.

Hình ảnh sau minh họa DAX:

Sử dụng vùng đệm kết hợp Microsoft SQL Server

Nguồn :https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/deploy-pmem

Vùng đệm kết hợp là gì?

Trong hệ thống truyền thống, SQL Server lưu trữ các trang dữ liệu trong vùng đệm dựa trên DRAM. Với vùng đệm kết hợp, SQL Server bỏ qua việc sao chép trang vào phần dựa trênDRAM của vùng đệm và thay vào đó tham chiếu trang trực tiếp trên tệp cơ sở dữ liệu nằm trên thiết bị PMEM. Hệ thống truy cập các tệp dữ liệu trong PMEM cho một vùng đệm hỗn hợp bằng cách sử dụng I / O được ánh xạ bộ nhớ, đây cũng là bí quyết khai sáng các tệp dữ liệu trong SQL Server.

Quá trình này mang lại lợi ích về hiệu suất bằng cách tránh sao chép trang vào DRAM và hạn chế nhu cầu về ngăn xếp I / O của hệ điều hành để truy cập trang trên bộ nhớ liên tục.

Hệ thống chỉ có thể truy cập trực tiếp các trang sạch trên thiết bị PMEM. Khi một trang bị bẩn, hệ thống sẽ sao chép nó vào vùng đệm dựa trên DRAM và sau đó ghi nó trở lại thiết bị PMEM. Quá trình này xảy ra trong các hoạt động của điểm kiểm tra thông thường.

Tính năng vùng đệm hỗn hợp có sẵn cho cả Windows® và Linux®. Thiết bịPMEM phải được định dạng bằng hệ thống tệp hỗ trợ DirectAccess (DAX) .DAX hỗ trợ các hệ thống tệp sau:

  • Hệ thống tệp mở rộng (XFS)
  • EXT4
  • Hệ thống tệp công nghệ mới (NTFS)

SQL Server tự động phát hiện xem các tệp dữ liệu có nằm trên thiết bị PMEM được định dạng thích hợp hay không và thực hiện ánh xạ bộ nhớ trong không gian người dùng. Ánh xạ này xảy ra khi khởi động, khi cơ sở dữ liệu mới được đính kèm, khôi phục hoặc tạo và khi tính năng vùng đệm hỗn hợp được kích hoạt cho cơ sở dữ liệu.

Bật vùng đệm kết hợp

SQL Server 2019 giới thiệu ngôn ngữ dữ liệu động (DDL) để kiểm soát vùng đệm kết hợp. Ví dụ sau cho phép vùng đệm hỗn hợp cho một phiên bản của SQLServer:

ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED HYBRID_BUFFER_POOL = ON;

Theo mặc định, vùng đệm kết hợp được đặt thành tắt ở phạm vi phiên bản.

Lưu ý :Để thay đổi cài đặt có hiệu lực, bạn phải khởi động lại SQL Serverinstance. Việc khởi động lại tạo điều kiện phân bổ đủ số trang băm để tính tổng dung lượng PMEM trên máy chủ.

Ví dụ sau cho phép vùng đệm hỗn hợp cho một cơ sở dữ liệu cụ thể:

ALTER DATABASE <databaseName> SET MEMORY_OPTIMIZED = ON;

Theo mặc định, vùng đệm kết hợp được đặt để bật ở phạm vi cơ sở dữ liệu.

Tắt vùng đệm kết hợp

Ví dụ sau vô hiệu hóa vùng đệm kết hợp cho một phiên bản của SQL Server:

ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED HYBRID_BUFFER_POOL = OFF;

Theo mặc định, vùng đệm kết hợp được đặt thành tắt ở phạm vi phiên bản.

Lưu ý :Để các thay đổi cài đặt có hiệu lực, bạn phải khởi động lại SQL Serverinstance. Việc khởi động lại ngăn chặn việc phân bổ quá mức các trang băm vì PMEMcapacity trên máy chủ không cần được tính đến.

Ví dụ sau vô hiệu hóa vùng đệm kết hợp cho một cơ sở dữ liệu cụ thể:

ALTER DATABASE <databaseName> SET MEMORY_OPTIMIZED = OFF;

Theo mặc định, vùng đệm kết hợp được đặt để bật ở phạm vi cơ sở dữ liệu.

Xem cấu hình vùng đệm hỗn hợp

Ví dụ sau trả về trạng thái hiện tại của cấu hình hệ thống vùng đệm kết hợp cho một phiên bản của SQL Server:

SELECT * FROM sys.configurations WHERE     name = 'hybrid_buffer_pool';

Ví dụ sau trả về hai bảng:

SELECT * FROM sys.configurations WHERE name = 'hybrid_buffer_pool';

SELECT name, is_memory_optimized_enabled FROM sys.databases;
  • Bảng đầu tiên hiển thị trạng thái hiện tại của cấu hình hệ thống vùng đệm kết hợp cho một phiên bản của SQL Server.
  • Bảng thứ hai liệt kê các cơ sở dữ liệu và cài đặt mức cơ sở dữ liệu cho vùng đệm hỗn hợp.

Các phương pháp hay nhất cho vùng đệm hỗn hợp

Chúng tôi khuyên bạn không nên bật vùng đệm hỗn hợp trên các phiên bản có RAM 16 GB ít hơn.

Khi định dạng thiết bị PMEM của bạn trên Windows, hãy sử dụng kích thước đơn vị phân bổ lớn nhất có sẵn cho NTFS (2 MB trong Windows Server® 2019) và đảm bảo thiết bị đã được định dạng cho DAX. Kích thước tệp phải là bội số của 2 MB (mô-đun 2 MB phải bằng 0).

Nếu cài đặt phạm vi máy chủ cho vùng đệm kết hợp được đặt thành tắt, thì vùng đệm kết hợp sẽ không được sử dụng bởi bất kỳ cơ sở dữ liệu người dùng nào.

Nếu cài đặt phạm vi máy chủ cho vùng đệm hỗn hợp được bật, bạn có thể vô hiệu hóa việc sử dụng vùng đệm hỗn hợp cho cơ sở dữ liệu người dùng riêng lẻ bằng cách tắt vùng đệm hỗn hợp ở cấp phạm vi cơ sở dữ liệu cho các cơ sở dữ liệu người dùng đó.

Kết luận

Vùng đệm hỗn hợp cho phép bạn truy cập trực tiếp vào các trang dữ liệu cơ sở dữ liệu được lưu trữ trong các thiết bị PMEM. Hiệu suất hệ thống được cải thiện vì không cần sao chép trang vào DRAM và ngăn xếp I / O của hệ điều hành không cần thiết để truy cập trang trên bộ nhớ liên tục.

Tham khảo các tài liệu sau để biết thêm thông tin:

Microsoft mô tả bản xem trước SQL Server 2019 mới nhất và cải tiến Azure SQL

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.

Tối ưu hóa môi trường của bạn với quản trị, quản lý và cấu hình chuyên gia

Dịch vụ ứng dụng của Rackspace (RAS) các chuyên gia cung cấp các dịch vụ chuyên nghiệp và được quản lý sau trên nhiều danh mục ứng dụng:

  • nền tảng Thương mại điện tử và Trải nghiệm Kỹ thuật số
  • Hoạch định Nguồn lực Doanh nghiệp (ERP)
  • Kinh doanh Thông minh
  • Quản lý quan hệ khách hàng của Salesforce (CRM)
  • Cơ sở dữ liệu
  • Lưu trữ Email và Năng suất

Chúng tôi cung cấp:

  • Chuyên môn không thiên vị :Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị tức thì.
  • Trải nghiệm cuồng tín ™:Chúng tôi kết hợp một Quy trình trước. Công nghệ thứ hai. Tiếp cận với hỗ trợ kỹ thuật chuyên dụng để cung cấp các giải pháp toàn diện.
  • Danh mục đầu tư vô song :Chúng tôi áp dụng nhiều kinh nghiệm về đám mây để giúp bạn lựa chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
  • Phân phối nhanh :Chúng tôi đáp ứng bạn ở nơi bạn đang ở trong hành trình và thành công vượt bậc với bạn.

Trò chuyện ngay bây giờ để bắt đầu.