Khóa học
Databricks SQL là một công cụ mạnh mẽ dành cho quản lý dữ liệu và phân tích trong nền tảng Databricks Lakehouse. Nền tảng này tích hợp kỹ thuật dữ liệu, khoa học dữ liệu và phân tích kinh doanh vào một trải nghiệm thống nhất. Vì vậy, Databricks SQL rất quan trọng đối với các chuyên gia dữ liệu muốn tinh gọn quy trình làm việc dữ liệu, thực thi truy vấn và các tác vụ BI mà không cần đến sự phức tạp của việc quản trị hạ tầng truyền thống.
Trong bài viết này, tôi sẽ khám phá các thành phần, tính năng và công cụ của Databricks SQL, đồng thời minh họa bằng ví dụ thực tế về cách tạo và sử dụng kho dữ liệu Databricks SQL. Khi bắt đầu, tôi khuyến nghị bạn học khóa Introduction to Databricks của DataCamp để tìm hiểu Databricks như một giải pháp kho dữ liệu cho Business Intelligence (BI), tận dụng các khả năng tối ưu cho SQL để tạo truy vấn và phân tích dữ liệu.
Databricks SQL là gì?
Databricks SQL là công cụ phân tích mạnh mẽ trong nền tảng Databricks Lakehouse, cho phép các chuyên gia dữ liệu chạy truy vấn SQL, phân tích dữ liệu và tạo bảng điều khiển tương tác. Được thiết kế với kiến trúc serverless, Databricks SQL kết hợp tính linh hoạt của data lake với năng lực quản trị và hiệu năng của data warehouse.
Các thành phần chính của Databricks SQL gồm SQL Warehouse, SQL Editor và SQL Dashboard. Đừng lo nếu bạn chưa quen với từng phần, tôi sẽ giải thích ý nghĩa của mỗi phần bên dưới.
Databricks SQL so với SQL Server và các hệ khác
Khác với các phương ngữ SQL khác như MySQL, PostgreSQL hay SQL Server vốn được thiết kế cho cơ sở dữ liệu giao dịch, Databricks SQL được tối ưu cho phân tích quy mô lớn trong môi trường Lakehouse. Cơ sở dữ liệu SQL truyền thống tập trung vào lưu trữ dữ liệu có cấu trúc, trong khi Databricks SQL tích hợp với data lake nhưng vẫn giữ được hiệu năng của data warehouse. Với các SQL warehouse dạng serverless, bạn không cần quản trị hạ tầng vì tài nguyên được cấp phát tự động và mở rộng đàn hồi.
Ngoài ra, tôi muốn nói rằng trong Databricks SQL, việc thực thi truy vấn nhanh hơn nhờ động cơ Photon hỗ trợ xử lý theo vector. Cuối cùng: Databricks SQL được xây dựng cho BI và cộng tác; nó hỗ trợ gốc Power BI, Tableau và Looker.
Các thành phần cốt lõi của Databricks SQL
Các thành phần cốt lõi của Databricks SQL giúp truy vấn hiệu quả, trực quan hóa dữ liệu và cộng tác giữa người dùng. Dưới đây là tổng quan về các công cụ và tính năng chính có trong Databricks SQL.
SQL Warehouses
SQL Warehouse đóng vai trò là tài nguyên tính toán để thực thi truy vấn SQL trong Databricks SQL. Chúng được thiết kế để xử lý khối lượng công việc khác nhau và cung cấp tối ưu hiệu năng tùy theo loại warehouse được chọn. Có ba loại SQL Warehouse chính:
- Classic: Hỗ trợ các chức năng cơ bản, phù hợp cho mức hiệu năng nhập môn. Loại này sử dụng lớp tính toán sẵn có trong tài khoản đám mây của bạn nhưng thiếu các tính năng nâng cao như Intelligent Workload Management (IWM) và Predictive IO.
- Pro: Pro SQL Warehouse mang lại hiệu năng cao hơn với hỗ trợ Photon, một động cơ truy vấn theo vector giúp tăng tốc thao tác SQL và cải thiện các tùy chọn bảo mật.
- Serverless Loại bỏ việc quản trị hạ tầng bằng cách tự động cấp phát tài nguyên, mở rộng đàn hồi và đảm bảo thực thi truy vấn độ trễ thấp. Lý tưởng cho môi trường có khối lượng công việc biến động, đồng thời mang lại hiệu năng tiết kiệm chi phí.

SQL Warehouse trong Databricks SQL. Ảnh: Tác giả.
SQL Editor
SQL Editor là giao diện thân thiện, cho phép người dùng viết, thực thi và quản lý truy vấn SQL. Các tính năng chính của SQL Editor gồm:
- Truy vấn trực quan: Hỗ trợ tô sáng cú pháp, tự động hoàn thành và phát hiện lỗi để viết truy vấn hiệu quả.
- Xem trước dữ liệu: Người dùng có thể xem trước dữ liệu ngay trong trình soạn thảo, giúp hiểu tập dữ liệu trước khi chạy truy vấn phức tạp.
- Bộ nhớ đệm kết quả truy vấn: Tính năng này tăng hiệu năng bằng cách lưu đệm kết quả truy vấn trước đó, cho phép phản hồi nhanh hơn với các truy vấn lặp lại.
- Truy vấn tham số hóa: Người dùng có thể tạo truy vấn động bằng cách đưa vào tham số, giúp đơn giản hóa việc chạy các truy vấn tương tự với giá trị khác nhau.

SQL Editor trong Databricks SQL. Ảnh: Tác giả.
Dashboards
Dashboard cho phép trực quan hóa dữ liệu bằng cách biến kết quả truy vấn thành biểu đồ, đồ thị và tiện ích tương tác. Dashboard rất phù hợp để theo dõi chỉ số chính và truyền đạt insight hiệu quả trong toàn tổ chức. Các khả năng chính của dashboard gồm:
- Phân tích theo thời gian thực: Tự động làm mới dashboard dựa trên kết quả truy vấn trực tiếp.
- Cộng tác: Chia sẻ dashboard trong các nhóm để thúc đẩy quyết định dựa trên dữ liệu.
- Tùy biến: Chọn nhiều loại trực quan và bố cục để phù hợp nhu cầu cụ thể.

Dashboard trong Databricks SQL. Ảnh: Tác giả.
Alerts
Alert trong Databricks SQL cung cấp cách theo dõi thay đổi dữ liệu và kích hoạt thông báo khi điều kiện xác định được đáp ứng. Alert rất cần thiết để duy trì chất lượng dữ liệu và đảm bảo phản hồi kịp thời trước các thay đổi quan trọng. Chức năng alert hoạt động như sau.
- Đặt điều kiện: Xác định ngưỡng hoặc quy tắc dựa trên kết quả truy vấn.
- Kích hoạt thông báo: Nhận cảnh báo qua email, Slack hoặc tích hợp khác khi điều kiện thỏa mãn.
- Giám sát chủ động: Theo dõi các sự kiện quan trọng như bất thường dữ liệu hoặc sự cố hệ thống theo thời gian thực.
Lịch sử và hồ sơ truy vấn
Cuối cùng, tôi muốn nói rằng Databricks SQL cung cấp công cụ theo dõi lịch sử và hồ sơ truy vấn:
- Lịch sử truy vấn: Cho phép người dùng xem lại các truy vấn đã thực thi, cung cấp insight về hiệu năng theo thời gian. Hữu ích để xác định xu hướng hoặc vấn đề lặp lại.
- Hồ sơ truy vấn: Công cụ hồ sơ phân tích hiệu quả của truy vấn đã chạy, làm nổi bật nút thắt cổ chai và đề xuất tối ưu hóa. Khả năng này quan trọng để cải thiện hiệu năng tổng thể và sử dụng tài nguyên.

Lịch sử truy vấn trong Databricks SQL. Ảnh: Tác giả.
Tính năng và công cụ chính trong Databricks SQL
Databricks SQL được trang bị nhiều tính năng và công cụ nâng cao. Chúng được thiết kế để tăng hiệu năng, tinh gọn quy trình và cho phép tích hợp liền mạch với công cụ khác. Hãy xem một số điểm mấu chốt giúp Databricks SQL trở thành lựa chọn tuyệt vời.
Photon Engine
Photon Engine là động cơ truy vấn hiệu năng cao, xử lý theo vector do Databricks phát triển để tăng tốc đáng kể việc thực thi truy vấn SQL. Lợi ích chính của Photon gồm:
- Thực thi theo vector: Khác với xử lý theo từng dòng truyền thống, Photon dùng thực thi theo vector, xử lý dữ liệu theo lô. Cách tiếp cận này cho phép khai thác các lệnh CPU nâng cao như SIMD (Single Instruction, Multiple Data) để tăng hiệu quả.
- Tích hợp với khối lượng công việc hiện có: Photon hoàn toàn tương thích với API Apache Spark, nghĩa là người dùng có thể bật mà không cần sửa đổi mã hiện có. Sự tích hợp liền mạch này giúp tổ chức hưởng lợi về hiệu năng mà không cần tái cấu trúc lớn.
- Bộ nhớ đệm và tối ưu hóa: Động cơ bao gồm bộ tối ưu truy vấn nâng cao và lớp bộ nhớ đệm chọn lọc dữ liệu cần cache một cách thông minh, tiếp tục cải thiện hiệu năng truy vấn.
CloudFetch và Async I/O
CloudFetch và Async I/O là các tính năng được thiết kế để tăng tốc truyền dữ liệu và cải thiện xử lý tệp nhỏ trong quá trình thực thi truy vấn. Chúng hoạt động như sau:
- CloudFetch: Tối ưu cách ghi kết quả về lưu trữ đám mây bằng cách cho phép ghi song song qua tất cả nút tính toán. Tính năng này giảm đáng kể thời gian truyền các bộ dữ liệu lớn về phía client, đạt hiệu năng nhanh hơn tới 10 lần trong tình huống thực tế.
- Async I/O: Cải thiện xử lý tệp nhỏ bằng cách đọc đồng thời nhiều khối dữ liệu trong khi xử lý các khối hiện tại. Cách tiếp cận này có thể tăng hiệu năng truy vấn tổng thể tới 12 lần khi làm việc với tệp nhỏ (ví dụ 1MB). Đặc biệt hiệu quả cho kịch bản có nhiều tệp nhỏ hoặc "dữ liệu lạnh" chưa được cache.
Tích hợp với công cụ BI
Databricks SQL tích hợp liền mạch với các công cụ Business Intelligence (BI) phổ biến, giúp nhóm dễ dàng phân tích và trực quan hóa dữ liệu. Các tích hợp được hỗ trợ gồm:
- Power BI: Người dùng có thể kết nối workspace Databricks trực tiếp với Power BI, cho phép đồng bộ dễ dàng mô hình dữ liệu. Ví dụ, nhà phân tích có thể xuất bản báo cáo trực tiếp từ Databricks sang Power BI, duy trì các mối quan hệ giữa bảng mà không cần can thiệp thủ công.
- Tableau: Người dùng có thể tận dụng kết nối trực tiếp (live) để trực quan hóa dữ liệu lưu trữ trong Databricks SQL. Tích hợp này cho phép phân tích thời gian thực và dashboard tương tác phản ánh cập nhật dữ liệu mới nhất.
- dbt: Databricks SQL cũng tích hợp với dbt (data build tool), cho phép nhóm quản lý các chuyển đổi trực tiếp trong môi trường Databricks. Tích hợp này hỗ trợ mô hình gia tăng và materialized view, tinh gọn quá trình xây dựng và duy trì pipeline dữ liệu vững chắc.
Kiến trúc serverless
Kiến trúc serverless của Databricks SQL loại bỏ nhu cầu quản trị hạ tầng thủ công bằng cách tự động cấp phát và mở rộng tài nguyên theo nhu cầu tải công việc. Kiến trúc serverless sẽ tự động điều chỉnh tài nguyên để xử lý tải truy vấn biến động mà không gián đoạn. Tính năng này đảm bảo người dùng không cần cấu hình hay duy trì cluster thủ công. Kiến trúc serverless cũng tiết kiệm chi phí vì người dùng chỉ trả cho tài nguyên sử dụng trong lúc thực thi truy vấn.
Ví dụ, một công ty bán lẻ có tải truy vấn cao vào giờ cao điểm kinh doanh. Kiến trúc serverless sẽ tự động mở rộng tài nguyên để đảm bảo hiệu năng ổn định và thu hẹp vào giờ thấp điểm để tiết kiệm chi phí.
Hướng dẫn từng bước tạo và sử dụng Databricks SQL Warehouse
Databricks SQL Warehouse là thành phần thiết yếu để thực thi truy vấn SQL hiệu quả trong môi trường Databricks. Ở phần này, tôi sẽ hướng dẫn bạn quy trình tạo kho SQL và sử dụng với notebook. Nếu bạn cần ôn lại kiến thức về kho dữ liệu, tôi khuyến nghị học khóa Data Warehousing Concepts để nắm các nền tảng về mô hình dữ liệu và chuyển đổi dữ liệu.
Tạo Databricks SQL Warehouse
Thực hiện các bước sau để tạo SQL Warehouse bằng giao diện web Databricks:
Bước 1: Điều hướng đến trang Databricks SQL
Từ workspace Databricks, nhấp vào biểu tượng SQL ở thanh bên.

Trang Databricks SQL. Ảnh: Tác giả.
Bước 2: Mở tab SQL Warehouses
Trên trang SQL, điều hướng đến tab SQL Warehouses.

Tab Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 3: Nhấp "Create Warehouse"
Nhấp nút Create Warehouse để bắt đầu cấu hình SQL Warehouse mới.


Tạo SQL Warehouse trên Databricks SQL. Ảnh: Tác giả.
Bước 4: Cấu hình thiết lập cơ bản
Cấu hình các thiết lập của warehouse bằng các tùy chọn sau.
- Name: Đặt tên độc nhất và mô tả cho SQL Warehouse của bạn.
- Cluster Size: Chọn kích thước cluster dựa trên yêu cầu khối lượng công việc. Không cần nói nhiều, cluster lớn hơn xử lý nhiều truy vấn đồng thời và tập dữ liệu lớn hơn.
- Auto-Stop: Đặt thời gian chờ khi nhàn rỗi để tự động dừng warehouse khi không sử dụng. Mười phút theo tôi là hợp lý. Điều này tiết kiệm chi phí bằng cách giải phóng tài nguyên khi nhàn rỗi.
- Scaling: Bật Auto-Scaling để điều chỉnh tài nguyên động theo tải truy vấn. Chỉ định số lượng cluster tối thiểu và tối đa để mở rộng trong phạm vi đó.
- Serverless Option: Nếu có trong tài khoản của bạn, chọn Serverless SQL Warehouse để đơn giản hóa quản lý và tự động mở rộng.

Cấu hình thiết lập cơ bản cho Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 5: Tùy chọn nâng cao (không bắt buộc)
Nếu cần, cấu hình các tùy chọn nâng cao như bật Photon hoặc đặt cấu hình SQL cụ thể.

Cấu hình thiết lập nâng cao cho Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 6: Lưu và khởi động warehouse
Nhấp Create để lưu cấu hình. Sau khi tạo, khởi động warehouse để đưa vào hoạt động.

Tạo Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 7: Thiết lập quyền (không bắt buộc)
Sau khi tạo, một cửa sổ phân quyền sẽ xuất hiện nơi bạn có thể cấp quyền truy cập warehouse cho người dùng hoặc nhóm.

Quản lý quyền của Databricks SQL Warehouse. Ảnh: Tác giả.
Sau khi tạo, kho SQL của bạn sẽ tự động khởi động, cho phép bạn thực thi truy vấn ngay lập tức.

Ví dụ về Databricks SQL Warehouse. Ảnh: Tác giả.
Sử dụng Notebook với Databricks SQL Warehouse
Để thực thi truy vấn SQL trong notebook bằng kho SQL mới tạo, hãy làm theo các bước sau:
Bước 1: Mở hoặc tạo Notebook
Từ workspace Databricks, tạo notebook mới hoặc mở notebook hiện có.

Tạo Notebook mới để tạo Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 2: Gắn kết SQL Warehouse
Trong thanh công cụ Notebook, tìm bộ chọn compute hoặc connect (thường hiển thị phía trên). Nhấp để mở menu thả xuống hiển thị tài nguyên tính toán sẵn có. Chọn kho SQL của bạn trong danh sách. Nếu không thấy, nhấp More… để xem tất cả warehouse. Nhấp vào kho SQL mong muốn rồi chọn Start and attach.

Gắn Notebook với Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 3: Viết truy vấn SQL
Sau khi gắn kết, bạn có thể tạo các ô trong notebook cho truy vấn SQL. Dùng lệnh magic %sql để thực thi truy vấn SQL trong notebook.

Viết truy vấn SQL trong Databricks SQL Warehouse. Ảnh: Tác giả.
Bước 4: Thực thi truy vấn
Chạy ô để thực thi truy vấn. Kết quả sẽ hiển thị ngay bên dưới ô, giúp bạn xem nhanh dữ liệu.

Thực thi truy vấn SQL trong Databricks SQL Warehouse. Ảnh: Tác giả.
Lưu ý khi dùng Notebook với SQL Warehouse
Một vài lưu ý khi dùng notebook với SQL Warehouse:
-
Giới hạn truy vấn: SQL Warehouse được tối ưu cho truy vấn phân tích, không phải cho truy vấn giao dịch thường xuyên, độ trễ thấp.
-
Xem trước dữ liệu: Với tập dữ liệu lớn, hãy cân nhắc giới hạn kết quả, chẳng hạn dùng mệnh đề
LIMITđể tránh nút thắt hiệu năng. -
Bộ nhớ đệm truy vấn: Tận dụng lưu đệm kết quả để tăng tốc truy vấn lặp lại.
-
Sử dụng tài nguyên: Theo dõi mức sử dụng của SQL Warehouse để đảm bảo kích thước cluster và thiết lập mở rộng đáp ứng nhu cầu khối lượng công việc.
Kết luận
Databricks SQL là một nền tảng mạnh mẽ kết nối khoảng cách giữa data lake và data warehouse, cung cấp giải pháp thống nhất cho phân tích dữ liệu hiện đại và business intelligence. Dù bạn đang xây dựng dashboard, tối ưu truy vấn hay giám sát dữ liệu bằng alert, Databricks SQL mang đến sự linh hoạt và hiệu năng cần thiết để xử lý các thách thức dữ liệu ngày nay. Tôi khuyến khích bạn khám phá các tính năng và khả năng của Databricks SQL để nâng cao quy trình dữ liệu, thúc đẩy cộng tác và đưa ra quyết định thông minh, nhanh chóng hơn.
Nếu bạn quan tâm trở thành kỹ sư dữ liệu chuyên nghiệp, tôi khuyến nghị học khóa Understanding Data Engineering để tìm hiểu cách kỹ sư dữ liệu lưu trữ và xử lý dữ liệu nhằm hỗ trợ cộng tác với nhà khoa học dữ liệu. Tôi cũng đề xuất khóa Data-Driven Decision-Making in SQL để học cách dùng SQL hỗ trợ ra quyết định thông qua dự án thực tế. Và dĩ nhiên, đừng quên xem bộ sưu tập khóa học cloud tuyệt vời của chúng tôi.
Databricks SQL FAQs
Databricks SQL là gì và khác gì so với cơ sở dữ liệu SQL truyền thống?
Databricks SQL là công cụ phân tích dạng serverless được thiết kế cho nền tảng Databricks Lakehouse, kết hợp khả năng mở rộng của data lake với hiệu năng của data warehouse.
Làm thế nào để tối ưu hiệu năng trong Databricks SQL?
Sử dụng động cơ Photon để thực thi truy vấn nhanh hơn, bật lưu đệm kết quả truy vấn, và cấu hình tự động mở rộng trong SQL Warehouse để xử lý tải công việc hiệu quả.
Databricks SQL có thể tích hợp với công cụ BI hiện có như Power BI và Tableau không?
Có, Databricks SQL tích hợp liền mạch với các công cụ BI phổ biến, cho phép trực quan hóa dữ liệu theo thời gian thực và tăng cường cộng tác giữa các nhóm.
Có những loại SQL warehouse nào trong Databricks SQL và làm sao chọn đúng?
SQL Warehouse có các tùy chọn Classic, Pro và Serverless. Chọn dựa trên nhu cầu khối lượng công việc: Classic cho truy vấn cơ bản, Pro cho trường hợp nâng cao, và Serverless cho sự đơn giản và khả năng mở rộng.
Databricks SQL xử lý quản trị và bảo mật dữ liệu như thế nào?
Databricks SQL hỗ trợ kiểm soát truy cập chi tiết đến mức dòng và cột, và tích hợp với nhà cung cấp danh tính để đảm bảo quản trị vững chắc.
