Hệ thống cơ sở dữ liệu (Database Management System) và SQL
Cơ sở dữ liệu (Database) là gì? SQL là gì?
Trước khi bắt đầu tìm hiểu sâu về Cơ sở dữ liệu, và vai trò của SQL khi quản lý, vận hành Cơ sở dữ liệu, chúng ta cần phải hiểu rõ các khái niệm cơ bản sau.
Dữ liệu là gì?
Dữ liệu là tất cả thông tin của sự vật mà chúng ta thu thập được. Những thông tin này sẽ phản ánh một cách chính xác sự vật dưới nhiều góc độ khác nhau, và có thể sử dụng cho mục đích nghiên cứu, phân tích sự vật đó. Dữ liệu có thể là bất kì chỉ số nào (tên, tuổi, chiều cao, cân nặng,…) và cũng có thể ở dưới bất kì dạng nào (hình chụp, tập tin ảnh, pdf, …)
Cơ sở dữ liệu là gì?
Cơ sở dữ liệu là tập hợp các dữ liệu một cách có hệ thống. Cơ sở dữ liệu có công dụng lưu trữ và phân bổ dữ liệu, qua đó giúp việc quản lý dữ liệu trở nên hiệu quả và có hệ thống hơn. Sau đây là 1 số ví dụ để giúp bạn hiểu rõ hơn về công dụng của Cơ sở dữ liệu. Bạn cũng có thể xem qua một số ví dụ sau đây để hiểu rõ hơn về Cơ sở dữ liệu.
Steam lưu trữ các dữ liệu về loại game bạn thường chơi, địa chỉ email, ngày sinh, giới tính để giới thiệu những tựa game phù hợp nhất với sở thích của bạn. Facebook là mạng xã hội lớn nhất hiện nay, đồng nghĩa với việc số lượng dữ liệu mà Facebook cần lưu trữ là cực kì khổng lồ. Những dữ liệu Facebook nắm giữ bao gồm những thông tin cá nhân của người dùng, ngoài ra còn có thêm sở thích và hành vi của người dùng khi tham gia Facebook, cũng như những tin nhắn và những dữ liệu khác liên quan đến quảng cáo.
Hệ thống quản lý cơ sở dữ liệu (database management system) là gì?
Hệ thống quản lý cơ sở dữ liệu (Database Management System) là tập hợp của những chương trình cho phép người dùng truy cập vào Cơ sở dữ liệu. Ngoài việc kiểm soát những truy cập vào cơ sở dữ liệu, hệ thống này còn cho phép người dùng trích xuất và sử dụng dữ liệu cho nhiều mục đích khác nhau như phân tích, nhận định và báo cáo.
Hệ thống quản lý cơ sở dữ liệu không phải là một khái niệm mới lạ trên thế giới. Thực tế, hệ thống này đã lần đầu tiên được đưa vào sử dụng vào thập niên 60 của thế kỉ trước. Với việc công nghệ ngày càng phát triển, những phần mềm quản lý cơ sở dữ liệu đã được nâng cấp rất nhiều so với trước kia. Hiện nay, các nhà phát triển đang hướng đến nhiều hơn về Trải nghiệm người dùng (UX) với việc sử dụng dễ dàng hơn, nhanh hơn nhưng vẫn có đầy đủ những tính năng cần thiết.
Sự đa dạng của Database Management System |
Các loại Hệ thống quản lý cơ sở dữ liệu hiện nay.
Hãy cùng chúng tôi xem qua cách mà Hệ thống cơ sở dữ liệu phát triển qua thời gian nhé.
Hệ thống quản lý cơ sở dữ liệu dạng phân tầng (Hierarchical Database Management System).
Đây là hệ thống quản lý cơ sở dữ liệu được hình thành theo mối quan hệ giữa các loại dữ liệu. Hiện tại, hệ thống quản lý cơ sở dữ liệu loại này không còn được sử dụng rộng rãi như trước nữa. Cấu trúc của hệ thống quản lý cơ sở dữ liệu dạng phân tầng có thể được mô tả giống một cái cây, với nhiều nhánh khác nhau tượng trưng cho những trường dữ liệu (Data field) khác nhau.
Hệ thống quản lý cơ sở dữ liệu theo mạng lưới (Network Database Management System).
Đây là hệ thống quản lý cơ sở dữ liệu hỗ trợ mối quan hệ nhiều-nhiều (many-to-many relationship). Hệ thống này thường được sử dụng đối với những cơ sở dữ liệu với cấu trúc phức tạp. Ví dụ điển hình nhất của kiểu hệ thống cơ sở dữ liệu này là Server RDM.
Hệ thống quản lý cơ sở dữ liệu định hướng đối tượng (Object Oriented Relation DBMS).
Đây là hệ thống hỗ trợ lưu trữ loại dữ liệu mới hiện nay. Trong đó, dữ liệu được lưu trữ dưới dạng đối tượng (Object). Những đối tượng (Object) này có thuộc tính như giới tính, tuổi tác, v…v và những phương thức để xác định dữ liệu được dùng làm gì. Một ví dụ cho kiểu hệ thống quản lý cơ sở dữ liệu theo kiểu đối tượng là PostgreSQL.
SQL là gì?
Structured Query Language (SQL) là ngôn ngữ chuẩn để làm việc với Cơ sở dữ liệu kiểu quan hệ. Những phần mềm SQL sẽ giúp các thao tác cơ bản với cơ sở dữ liệu như Chèn (Insert), Tìm kiếm (Search), Cập nhật (Update), Xóa (Delete) hiệu quả hơn.
Ngoài những thao tác cơ bản đó, SQL còn đóng vai trò quan trọng trong việc Tối ưu (Optimizing) và Bảo trì (Maintenance) cơ sở dữ liệu.
Những cơ sở dữ liệu dạng quan hệ như MySQL, Oracle, Server Ms SQL, Sybase đều sử dụng SQL.
Các cơ sở dữ liệu kể trên đều sử dụng những cú pháp SQL gần như giống nhau. Phải chăng sự khác biệt chỉ đến từ những cú pháp đặc biệt để tạo nên điểm đặc biệt của mỗi chương trình. Một ví dụ của cú pháp SQL:
SELECT * FROM Members WHERE Age > 30
NoSQL là gì?
NoSQL là một danh mục mới của Hệ thống quản lý cơ sở dữ liệu. Thuộc tính chính của NoSQL là không phụ thuộc vào khái niệm của Cơ sở dữ liệu quan hệ. Do đó, NoSQL nghĩa là “Không chỉ SQL” (Not only SQL).
Khái niệm của cơ sở dữ liệu NoSQL phát triển cùng với những ông lớn của ngành công nghệ trực tuyến với một khối lượng khổng lồ các dữ liệu cần xử lý như Google, Facebook, Amazone, v..v.
Cụ thể, khi bạn sử dụng cơ sở dữ liệu quan hệ với một lượng dữ liệu không lồ, hệ thống sẽ bắt đầu có dấu hiệu phản hồi chậm hơn. Để giải quyết tình trạng này, hiển nhiên chúng ta có thể nâng cấp những phần cứng hiện tại của hệ thống. Tuy nhiên, một phương án khác cho tình trạng này là phân phối cơ sở dữ liệu trên các host khác nhau để tăng tốc độ truyền tải.. Cơ sở dữ liệu NoSQL là những cơ sở dữ liệu “không quan hệ” và có thể nhận rộng tốt hơn cơ sở dữ liệu dang quan hệ. Hệ thống này không sử dụng SQL để xử lý dữ liệu, và cũng không tuân theo một cách khắc khe lược đồ (schema) như trong mô hình quan hệ.
Khi nào nên học SQL và khi nào nên học NoSQL?
Với những ưu điểm của cơ sở dữ liệu NoSQL, bạn có thể đang tự hỏi tại sao chúng ta cần phải học SQL nữa?
Thật ra, cơ sở dữ liệu NoSQL là những hệ thống chuyên biệt và được sử dụng một cách có giới hạn cho những tình huống đặc biệt. Do đó, NoSQL phù hợp hơn với những người cần phải xử lý một lượng dữ liệu không lồ. Còn lại phần lớn những công ty đều sử dụng cơ sở dữ liệu kiểu quan hệ cũng nhưng những công cụ liên quan.
SQL có những ưu điểm sau đây:
- Cơ sở dữ liệu SQL có hệ thống lưu trữ và quản lý dữ liệu ổn định. Đây là điều thiết yếu cho bất kì doanh nghiệp nào.
- Cơ sở dữ liệu SQL hỗ trợ tốt hơn trong việc theo dõi dữ liệu. Hệ thống SQL sẽ chỉ cho người dùng thấy những dữ liệu mà họ được phân quyền, còn những dữ liệu khác sẽ bị ẩn đi.
- Cơ sở dữ liệu SQL có mô hình bảo mậ t tốt hơn so với NoSQL.
Ngoài ra, trên thế giới hiện nay vẫn còn rất nhiều doanh nghiệp đang sử dụng hệ thống cơ sở dữ liệu SQL. Do đó, nhu cầu cho những chuyên gia về hệ thống này vẫn đang rất cao và cần thiết.
Nhận xét
Đăng nhận xét