Microsoft Azure cung cấp Công cụ cơ sở dữ liệu Nền tảng như một Dịch vụ (PaaS) thông qua nền tảng Cơ sở dữ liệu Azure SQL, để chúng tôi có thể sử dụng cơ sở dữ liệu này cho các ứng dụng dựa trên đám mây. Ưu điểm chính của Cơ sở dữ liệu Azure SQL là cho phép mở rộng quy mô dễ dàng với thời gian ngừng hoạt động bằng không và không yêu cầu bất kỳ quá trình nâng cấp hoặc vá lỗi phiên bản nào. Ngoài ra, chúng tôi không phải lo lắng về các vấn đề phần cứng.
Tuy nhiên, cơ sở dữ liệu Azure SQL được xem xét đáng kể là đáp ứng yêu cầu về hiệu suất của cơ sở dữ liệu được triển khai với chi phí tối thiểu. Không còn nghi ngờ gì nữa, không ai muốn trả tiền cho các tài nguyên hoặc tính năng dư thừa mà họ không sử dụng hoặc có kế hoạch sử dụng.
Tại thời điểm này, Microsoft Azure cung cấp hai mô hình mua khác nhau để mang lại hiệu quả về chi phí:
- Đơn vị giao dịch cơ sở dữ liệu (DTU) -Mô hình mua hàng dựa trên cơ sở.
- Mô hình mua dựa trên Virtual Core (vCore)
Quyết định mua mô hình ảnh hưởng trực tiếp đến hiệu suất cơ sở dữ liệu và tổng số tiền của các hóa đơn. Theo suy nghĩ của tôi, Nếu cơ sở dữ liệu được triển khai sẽ không tiêu tốn quá nhiều tài nguyên thì mô hình mua dựa trên DTU sẽ phù hợp hơn.
Bây giờ, chúng ta sẽ thảo luận chi tiết về hai mô hình mua hàng này trong các phần sau.
Đơn vị giao dịch cơ sở dữ liệu (DTU) -Mô hình mua hàng dựa trên cơ sở
Để hiểu rõ hơn về mô hình mua dựa trên DTU, chúng ta cần làm rõ DTU có ý nghĩa như thế nào trong Cơ sở dữ liệu Azure SQL. DTU là chữ viết tắt của “Đơn vị giao dịch cơ sở dữ liệu” và nó mô tả số liệu đơn vị hiệu suất cho Cơ sở dữ liệu SQL Azure. Chúng ta có thể ví DTU với mã lực trên xe hơi vì nó ảnh hưởng trực tiếp đến hiệu suất của cơ sở dữ liệu. DTU đại diện cho một hỗn hợp các số liệu hiệu suất sau đây như một đơn vị hiệu suất duy nhất cho Cơ sở dữ liệu Azure SQL:
- CPU
- Bộ nhớ
- Nhập / xuất dữ liệu và nhập / xuất nhật ký
Ý tưởng chính của khái niệm DTU là cung cấp một cấu hình tài nguyên được định cấu hình sẵn cho các máy khách để nó đơn giản hóa việc mở rộng hiệu suất trên một số liệu duy nhất. Chẳng hạn, nếu chúng ta cần thêm hiệu suất, chúng ta có thể trượt thanh và tăng số lượng DTU trong Cơ sở dữ liệu Azure SQL.
Mô hình mua dựa trên DTU chứa ba cấp dịch vụ khác nhau và các cấp dịch vụ này cung cấp các DTU và tùy chọn tính năng khác nhau. Bảng sau minh họa các cấp dịch vụ đã tham gia vào mô hình mua hàng dựa trên DTU.
Cơ bản | Tiêu chuẩn | Cao cấp | |
Khối lượng công việc mục tiêu | Phát triển và sản xuất | Phát triển và sản xuất | Phát triển và sản xuất |
SLA thời gian hoạt động | 99,99% | 99,99% | 99,99% |
Lưu giữ bản sao lưu tối đa | 7 ngày | 35 ngày | 35 ngày |
CPU | Thấp | Thấp, Trung bình, Cao | Trung bình, Cao |
Thông lượng IO (gần đúng) | 1-5 IOPS mỗi DTU | 1-5 IOPS mỗi DTU | 25 IOPS mỗi DTU |
Độ trễ IO (gần đúng) | 5 ms (đọc), 10 ms (ghi) | 5 ms (đọc), 10 ms (ghi) | 2 mili giây (đọc / ghi) |
Lập chỉ mục Columnstore | Không có | S3 trở lên | Được hỗ trợ |
OLTP trong bộ nhớ | Không có | Không có | Được hỗ trợ |
DTU tối đa | 5 | 3000 (S12) | 4000 (P15) |
Kích thước bộ nhớ tối đa | 2 GB | 250 GB | 1 TB |
Như chúng ta có thể thấy, DTU tối đa và các tính năng khác nhau tùy theo cấp dịch vụ của chúng. Ngoài ra, mô hình định giá sẽ được thay đổi liên quan đến cấp dịch vụ. Ví dụ:cấu hình sau đây cho một cơ sở dữ liệu trong Mô hình mua hàng dựa trên DTU sẽ là $ 584,00 mỗi tháng.
Hồ bơi co giãn
Tóm lại, Elastic Pool giúp chúng tôi tự động quản lý và mở rộng quy mô nhiều cơ sở dữ liệu có nhu cầu tài nguyên khác nhau và không thể đoán trước dựa trên một nhóm tài nguyên được chia sẻ. Thông qua Nhóm co giãn, chúng tôi không cần mở rộng quy mô cơ sở dữ liệu liên tục để chống lại sự biến động của nhu cầu tài nguyên. Các cơ sở dữ liệu tham gia vào nhóm sử dụng tài nguyên của Nhóm đàn hồi khi chúng cần thiết nhưng chúng không thể vượt quá giới hạn tài nguyên Nhóm đàn hồi để cung cấp giải pháp hiệu quả về chi phí.
Ước tính đúng DTU cho Cơ sở dữ liệu Azure SQL
Sau khi quyết định sử dụng mô hình mua hàng dựa trên DTU, chúng ta phải tìm ra câu trả lời sau với lý do hợp lý:
- Cấp dịch vụ nào và số lượng DTU cần thiết cho khối lượng công việc của tôi khi chuyển sang Azure SQL?
DTU Calculator sẽ là giải pháp chính để ước tính yêu cầu DTU khi chúng tôi di chuyển cơ sở dữ liệu tại chỗ sang Cơ sở dữ liệu Azure SQL. Ý tưởng chính của công cụ này là nắm bắt việc sử dụng các số liệu khác nhau từ SQL Server hiện có ảnh hưởng đến DTU và sau đó nó cố gắng ước tính khoảng DTU và cấp dịch vụ dựa trên việc sử dụng hiệu suất được thu thập. Máy tính DTU thu thập các số liệu sau thông qua Tiện ích dòng lệnh hoặc Tập lệnh PowerShell và lưu các số liệu này vào tệp CSV.
- Bộ xử lý -% Thời gian của Bộ xử lý
- Đĩa logic - Số lần đọc trên đĩa / giây
- Đĩa logic - Ghi đĩa / giây
- Cơ sở dữ liệu - Số byte nhật ký được tuôn ra / giây
Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng Tiện ích dòng lệnh vì đây là một dự án mã nguồn mở và mã được lưu trữ trên GitHub. Do đó, chúng tôi có thể thực hiện các thay đổi một cách dễ dàng nếu cần. Sau khi tải xuống và giải nén Tiện ích dòng lệnh , hai tệp sẽ xuất hiện trước mặt chúng ta.
SqlDtuPerfmon.exe.config giúp chúng tôi xác định một số tham số của Tiện ích dòng lệnh:
CsvPath chỉ định đường dẫn tệp CSV nơi các chỉ số được thu thập sẽ được lưu trữ.
SampleInterval chỉ định khoảng thời gian bao nhiêu giây các mẫu sẽ được thu thập
MaxSamples chỉ định số lượng mẫu tối đa sẽ được thu thập.
Tại thời điểm này, chúng ta phải tính đến một số cân nhắc về Máy tính DTU. DTU Calculator thu thập tổng mức sử dụng của các chỉ số trên máy tính. Vì lý do này, các quy trình khác ảnh hưởng đến việc tiêu thụ CPU, bộ nhớ và đĩa phải được dừng lại, nếu không sẽ rất khó để đưa ra ước tính DTU chính xác. Một vấn đề khác là, nếu có thể, chúng tôi cần thu thập việc sử dụng các chỉ số bao gồm các khoảng thời gian khối lượng công việc cao điểm. Bằng cách này, Máy tính DTU đưa ra các khuyến nghị tốt nhất và chúng tôi tìm ra yêu cầu DTU tối đa với ước tính gần đúng hơn. Bây giờ, chúng tôi sẽ chạy SqlDtuPerfmon.exe và nó sẽ trực tiếp bắt đầu thu thập việc sử dụng tài nguyên và lưu tệp CSV đã chỉ định.
Sau khi hoàn thành việc thu thập việc sử dụng tài nguyên, chúng tôi sẽ nhập số lõi và tải tệp CSV lên trang web Máy tính DTU.
Khi chúng tôi nhấp vào nút Tính toán, trước tiên, biểu đồ tròn Cấp dịch vụ / Cấp hiệu suất xuất hiện trên màn hình và nó hiển thị các đề xuất cấp dịch vụ ước tính được chia thành các phần với chi tiết phần trăm. Theo DTU Calculator, lớp Standard - S6 sẽ cung cấp hiệu suất đáp ứng cho khối lượng công việc này.
Ngay bên dưới biểu đồ này, biểu đồ DTUs Theo thời gian được hiển thị và biểu đồ này biểu thị các DTU thay đổi theo khoảng thời gian. Trước khi đánh giá biểu đồ này, chúng tôi có thể thêm một số thông tin bổ sung để diễn giải nó dễ dàng hơn.
Như bạn có thể thấy, biểu đồ đường biểu thị khối lượng công việc không ổn định nhưng nó có ý nghĩa hơn khi chúng tôi thêm ghi chú thông tin. Theo suy nghĩ của tôi, biểu đồ này rất hữu ích để hiểu sự tương tác giữa sự thay đổi khối lượng công việc và DTU. Do đó, chúng ta có thể ước tính đúng hơn các DTU cần thiết. Như chúng tôi đã đề cập ở đầu bài viết, mục tiêu chính của chúng tôi là tìm ra giải pháp hiệu quả về chi phí cho khối lượng công việc.
Tuy nhiên, những đề xuất này không thể hiện các yêu cầu chính xác của DTU trong Azure SQL. Vì lý do này, chúng tôi có thể cần thay đổi Cấp dịch vụ hoặc Mô hình mua sau khi triển khai cơ sở dữ liệu sang Azure SQL.
Khi chúng tôi nhấp vào Xem thêm chi tiết, một số báo cáo bổ sung sẽ được hiển thị và các báo cáo này đại diện cho các đề xuất riêng lẻ cho việc sử dụng tài nguyên CPU, IOPS và Nhật ký. Chúng sẽ rất hữu ích khi hiểu đặc biệt những cách sử dụng này.
Mô hình mua dựa trên lõi ảo (vCore)
Khái niệm này tương tự như cách tiếp cận truyền thống vì chúng ta có thể quyết định từng tài nguyên của cơ sở dữ liệu. Chúng tôi có thể sắp xếp các VCores và các tùy chọn kích thước dữ liệu tối đa theo cách thủ công trong mô hình này. Tuy nhiên, chúng tôi không thể xác định tài nguyên bộ nhớ. Mỗi VCore đi kèm với bộ nhớ chuyên dụng và giá trị chuyên dụng của bộ nhớ phụ thuộc vào việc tạo ra các VCore.
Cuối cùng, trong mô hình này, chúng ta có thể chọn các cấp dịch vụ sau:
- Mục đích chung.
- Kinh doanh quan trọng.
- Hyperscale
Kết luận
Trong bài viết này, chúng tôi đã khám phá các mô hình mua của Cơ sở dữ liệu Azure SQL và khám phá hướng dẫn sử dụng của Máy tính DTU để ước tính DTU cần thiết trong Azure SQL cho cơ sở dữ liệu tại chỗ.