In-Memory OLTP trong SQL Server 2014

In-Memory OLTP (IMO) là gì?

Trước đây, vì giá bộ nhớ (RAM) khá đắt đỏ nên database (cơ sở dữ liệu – CSDL) được thiết kế để xử lý tại đĩa cứng, nhưng hiện nay thì chi phí sản xuất phần cứng đã giảm rất nhiều so với ngày trước – giá 1GB RAM bây giờ chỉ dao động trong khoảng 10$ – nên việc đưa CSDL lên RAM để lưu trữ và xử lý tức thời là điều rất khả thi để giúp giải quyết bài toán về độ trễ I/O trên đĩa cứng, tăng tốc độ xử lý các giao dịch.

(Hình lấy từ http://epcgroup.blogspot.com/2013/09/sql-server-2012-r2-and-sql-server-2014.html)

Đó là một trong những mục tiêu Microsoft nghiên cứu và giới thiệu tính năng In-Memory OLTP (IMO) trong SQL Server. IMO được giới thiệu lần đầu tại hội nghị PASS 2012 (Professional Association for SQL Server) với tên mã là Hekaton, đến phiên bản SQL Server 2014 thì đã được tích hợp vào Database Engine.

Những điểm mạnh của IMO…

Main memory optimized: Ngày nay hệ thống máy chủ từ vài chục cho đến vài trăm GB RAM đã trở nên phổ thông hơn (Windows Server 2012 đã hỗ trợ đến 4TB RAM) nên có thể dễ dàng đưa các bảng dữ liệu (tables) lên RAM để tăng tốc độ truy xuất thay vì phải đọc từ đĩa cứng lên như truyền thống. Theo đó thì hash indexes, nonclustered range indexes có thể khai phá dữ liệu trực tiếp ngay trên bộ nhớ RAM để tăng tốc độ truy xuất, cải thiện hiệu suất xử lý dữ liệu.

High concurrency: Giúp tăng tính đồng thời, giảm tranh chấp. Tính năng này được phát triển cùng với IMO giúp tăng hiệu suất tổng thể khi các bảng được tối ưu hóa trên bộ nhớ (memory optimized).

T-SQL compiled to machine code: Việc biên dịch và chạy lại những đoạn mã T-SQL làm tốn thời gian xử lý hơn, do đó SQL Server đã chuyển stored procedures thành mã C và biên dịch thành DLL. Thử nghiệm nội bộ đã cho thấy việc sử dụng mã máy (machine code) thay cho T-SQL giúp giảm thời gian thực hiện từ 30 đến 50 lần.

Và những yếu điểm

Chuyển đổi bảng dữ liệu (table) hiện có sang IMO

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s