SQL là gì? Các loại SQL Server hiện nay
Tóm tắt
SQL server là gì?
SQL Server (Structure Query Language Server) có thể hiểu là công cụ quản lý cấu trúc dữ liệu sử dụng câu lệnh SQL để tiến hành việc trao đổi dữ liệu giữa máy Client và máy cài SQL Server.
Ban đầu, SQL Server được sử dụng trong các ngôn ngữ quản lý CSDL và chạy trên các máy đơn lẻ. Tuy nhiên, do sự phát triển nhanh chóng của nhu cầu xây dựng những cơ sở dữ liệu lớn theo mô hình khách chủ, mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ. Ngày nay, SQL Server được sử dụng nhiều trong lập trình web và lập trình ứng dụng phần mềm.
Hầu hết các ngôn ngữ bậc cao đều có trình hỗ trợ SQL như Visual BASic, Oracle, Visual C…
Một số đặc điểm nổi bật của SQL Server có thể kể đến là:
- SQL là ngôn ngữ tựa tiếng Anh.
- SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy nhập cơ sở dữ liệu. Tất cả các thông báo của SQL đềurất dễ sử dụng và ít khả năng mắc lỗi.
- SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp dữ liệu như: Chèn, cập nhật, xóa hàng; Tạo, sửa đổi, xêm và xóa các đối tượng…; điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của CSDL để đảm bảo tính bảo mật của cơ sở dữ liệu; đảm bảo tính nhất quán và ràng buột của CSDL.
Các công cụ quản lý dữ liệu của SQL Server
Database Engine
Database Engine là một engine có khả năng chứa dữ liệu ở những quy mô khác nhau dưới dạng table và support, tất cả các kiểu kết nối thông dụng của Microsoft có thể kể đến như: ActiveX Data Objects (ADO), OLE DB và Open Database Connectivity (ODBC). Ngoài ra, Database Engine còn có khả năng tự điều chỉnh một cách hợp lý nhất
Replication
Nếu bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật, và thời gian sau bạn lại muốn có database giống y hệt trên một server khác để chạy báo cáo nhưng lại không thể “back up and restore”. Vậy thì trong trường hợp này cơ chế replication có trên SQL Server sẽ bảo đảm cho dữ liệu ở 2 database được đồng bộ.
Integration Services (DTS)
Integration Services là tập hợp các công cụ đồ họa và các đối tượng lập trình dùng để hỗ trợ cho việc di chuyển, sao chép và chuyển đổi rất nhiều các loại dữ liệu khác nhau.
Analysis Services
Dữ liệu chứa trong database sẽ không có tác dụng nếu như không thể lấy được những thông tin bổ ích từ đó. Do đó, Microsoftđã cung cấp một công cụ giúp việc phân tích dữ liệu trở nên dễ dàng và hiệu quả hơn bằng cách dùng khái niệm hình khối nhiều chiều và kỹ thuật khai phá dữ liệu.
Notification Services
Theo đánh giá của nhiều chuyên gia, đây sẽ là nền tảng cho sự phát triển và triển khai các ứng dụng cũng như gửi thông báo. Notification Services có thể gửi thông báo đến hàng ngàn người đăng ký sử dụng trên nhiều loại thiết bị khác nhau.
Reporting Services
Reporting Services sẽ bao gồm các thành phần server và client cho việc tạo, quản lý và triển khai các loại báo cáo. Đây cũng được xem là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.
Full Text Search Service
Công cụ này sử dụng cho việc đánh chỉ mục và truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong SQL Server. Với Full Text Search việc tạo chỉ mục có thể thực hiện trên bất kỳ cột dựa nào trong dữ liệu văn bản.
Service Broker
Service Broker thường được sử dụng bên trong mỗi Instance, là môi trường lập trình dành cho các ứng dụng nhảy qua các Instance. Service Broker tiến hành giao tiếp qua giao thức TCP/IP và cho phép các component được đồng bộ cùng nhau theo hướng trao đổi các message.
Service Broker sẽ chạy giống như một phần của bộ máy cơ sở dữ liệu, cung cấp nền tảng truyền message tin cậy và theo hàng cho các ứng dụng của SQL Server.
Các loại SQL Server hiện nay
Hiện nay, có một vài loại SQL Server có khả năng hỗ trợ và hoạt động khá tốt. Điều này đã khiến nhiều công ty, doanh nghiệp phải thực sự cân nhắc suy nghĩ khi lựa chọn để tìm ra giải pháp tốt nhất cho hệ thống mạng, phần mềm hoạt động của mình.
OLDSQL (SQL truyền thống)
Đây là loại SQL cơ bản có mặt từ lâu đời và được dùng khá phổ biến, có mặt gần như ở trong mọi ứng dụng phần mềm chúng ta sử dụng ngày nay. Nếu bạn triển khai phát triển ứng dụng với hiệu suất tương đối thì SQL loại này hoàn toàn phù hợp nếu không nói là tuyệt vời.
Điểm mạnh của OLDSQL
- SQL theo mô hình và cấu trúc truyền thống có thể xem là quy chuẩn chung được chứng minh tính ổn định hàng thập kỉ
- Tích hợp với lớp ORM như Hibernate hoặc ActiveRecord
- Hỗ trợ tốt giao tác phía client
- Sử dụng query và report
- Có thị phần lớn trên thị trường
Điểm yếu của OLDSQL
- Rất khó để mở rộng (kiến trúc cơ bản của nó không hướng mở rộng).
- SQL truyền thống được xây dựng trên ý tưởng “one size fit all”, application thông thường thì sử dụng tốt nhưng sẽ gặp vấn đề khi CSDL phình to.
- Điều chỉnh tham số rất phức tạp và thường cần đến sự hỗ trợ của các chuyên gia để cân bằng giữa hiệu năng, an toàn dữ liệu và lượng dữ liệu sử dụng
- Có dấu hiệu lỗi thời do không thể đáp ứng đầy đủ nhu cầu sử dụng cũng như các nhu cầu về CSDL khác biệt trong thời buổi hiện nay.
NoSQL (SQL mới)
Trong NoSQL lại có chia làm ba loại theo tính năng và mức độ hoạt động.
Loại ưu tiên tính khả dụng: Ví dụ bạn đang nghiên cứu các dữ liệu của máy cảm biến, ứng dụng của bạn ghi dữ liệu vào CSDL và thường không chỉnh sửa. Bạn muốn lưu trên cloud và không quan tâm lắm đến tính nhất quán của nó khi phân phát đến các điểm truy cập, nhiều điểm truy cập của các trung tâm dữ liệu khác…
Tương tác giữa app của bạn và CSDL chỉ đơn giản có “CREATE”(tạo) và “GET”(lấy). Quan trọng nhất là CSDL phải luôn chạy để nhận thêm nội dung mới và phải luôn gửi nội dung khi được yêu cầu kể cả khi nội dung đó không phải mới nhất. Các hệ thống điển hình của CSDL này là DynamoDB, Riak và Cassandra…
Loại ưu tiên tính linh hoạt: Loại này nổi tiếng hơn và có thể kể đến MongoDB và CouchDB, loại này lưu dữ liệu theo thiết kế JSON, thường được gọi là schemaless( không có schema ). CSDL loại này không có sự nhất quán về schema trong tất cả các bản ghi, điều này khiến việc quản lí schema ít bị đóng khung hơn nhưng cũng rối ren hơn. Những nhóm dev nhỏ và sử dụng data đơn giản thì thường sử dụng loại này.
Loại ưu tiên model data khác hoặc loại đặc biệt: Phổ biến nhất là hệ thống được điều chỉnh phục vụ cho các xử lý dạng đồ thị (graph) như Neo4j. Ví dụ khác là CSDL dạng array; SciDB sử dụng Python và R để truy cập MPP array data để nghiên cứu khoa học….
Điểm mạnh của NoSQL
- Thuật toán eventual-consistency đảm bảo tính sẵn sàng của CSDL
- Khả năng mở rộng của NoSQL tốt hơn SQL truyền thống do nó được thiết kế theo định hướng mở rộng
- Rất nhiều hệ thống NoSQL được tối ưu để hỗ trợ data không quan hệ ví dụ như log message, XML và JSON cũng như document không có kiến trúc cụ thể nên bạn không cần quan tâm schema khi viết mà chỉ cần xem schema khi đọc.
Điểm yếu của NoSQL
- Hệ thống dạng này không hỗ trợ giao tác (ACID)
- OLAP query yêu cầu lượng code lớn để thực hiện. Do đó sự dễ đọc (readability) sẽ giảm khi CSDL phình to.
NewSQL (SQL mới)
Mặc dù cùng là SQL mới xuất hiện, nhưng NewSQL chưa gây được tiếng vang như NoSQL. Các hệ thống NewSQL thường bắt đầu từ CSDL quan hệ và ngôn ngữ SQL query và chúng muốn giải quyết những vấn đề như khả năng mở rộng, tính bất động hoặc thiếu tính tập trung mà vẫn đảm bảo tính nhất quán.
Nếu mục tiêu hoạt động của bạn có mô hình “ingest, analyze, decide” như sau:
- Dung lượng data cần truy cập lớn
- Các sự kiện truyền vào luôn ở dạng stream (máy cảm biến, điện thoại di động, điểm truy cập mạng) và cần phải tính toán tốc độ phản hồi và phân tích mỗi một sự kiện trong thời gian thực.
Thì NewSQL có thể là sự lựa chọn tốt với khả năng mở rộng sức chịu đựng nhưng cũng đảm bảo tính thống nhất.
Ưu điểm của NewSQL
- Giảm độ phức tạp cho app nhờ tính nhất quán của nó.
- Tính năng SQL quen thuộc
- Phục vụ phân tích tốt hơn và khả năng mở rộng tốt hơn SQL
- Nhiều hệ thống cung cấp phân kiểu NoSQL nhưng theo kiểu data truyền thống và query model.
Khuyết điểm của NewSQL
- NewSQL thường phục vụ mục tiêu nhất định chứ không chung chung như SQL
- Kiến trúc nhớ vào bộ nhớ trong có thể không phù hợp cho các khối lượng dữ liệu quá nhiều terabytes.
—
WEBSOLUTIONS – THIẾT KẾ WEB CHUYÊN NGHIỆP
Địa chỉ: 225 Broadway Suite 680 New York, NY 10007, United States.
Việt Nam: 0886.02.02.02
New York: +1 (347) 983-2947
- Search Engines là gì? Cơ chế hoạt động của các Search Engines
- Internet Marketing là gì? Lợi ích của Internet Marketing đối với doanh nghiệp
- Web hosting là gì? Các thông tin quan trọng về web hosting
Recommended Posts
Các dịch vụ cung cấp chứng chỉ SSL giá rẻ hàng đầu thế giới
15 Tháng Sáu, 2019
Các dịch vụ cung cấp chứng chỉ SSL giá rẻ hàng đầu thế giới
8 Tháng Sáu, 2019
ACID là gì? Tìm hiểu các phiên bản của ACID
31 Tháng Một, 2019