tiên tri

Oracle không phải là cơ sở dữ liệu phổ biến nhất, nhưng nó là cơ sở dữ liệu nổi tiếng nhất. Mặc dù có thể lập luận rằng phổ biến nhất. Xem cách đếm . Nếu bạn chỉ nhìn vào số lượng công ty, thì MySQL là cơ sở dữ liệu phổ biến nhất: nó khá tốt và hoàn toàn miễn phí :)

Nhưng nó cũng có thể được coi là khác nhau. Nếu có một công ty có một triệu khách hàng sử dụng Oracle và 5 công ty có hàng trăm khách hàng sử dụng MySQL, thì Oracle có một triệu khách hàng và MySQL chỉ có 500 người.

Nói chung, nếu bạn lấy các công ty lớn có tiền và xem họ chọn DBMS nào, thì khoảng một phần ba tổng số công ty trên thế giới đang sử dụng Oracle. Một cái gì đó như thế này.

Là một lập trình viên, bạn có nhiều khả năng sẽ làm việc trên Oracle trong tương lai hơn là trên MySQL. Có một video tuyệt vời trên Internet chứng minh mức độ phổ biến của DBMS đã thay đổi như thế nào trong 20 năm qua.

mysql

Phổ biến thứ hai trong số tất cả các DBMS là MySQL. Và nó là phổ biến đầu tiên trong số tất cả các DBMS miễn phí. Bây giờ bạn đã hiểu tại sao chúng ta học SQL từ ví dụ của cô ấy. Cường điệu là cường điệu, và doanh nghiệp khá thận trọng trong việc lựa chọn cơ sở hạ tầng.

Về nguyên tắc, chúng ta đã nói về MySQL. Một khi chúng được mua bởi Sun , sau đó là Oracle . Mà, rất khó để gọi là một tập đoàn tốt.

Chính họ, sau khi mua lại Sun, đã không ngừng cố gắng trả tiền cho Java.

Đúng vậy, Sun sở hữu cả Java và MySQL trước khi Oracle mua chúng.

Thực tế này và danh tiếng của Oracle khiến các nhà phát triển MySQL hơi sợ hãi, họ đã quyết định rẽ nhánh dự án MySQL và gọi nó là MariaDB.

MariaDB thực sự là một bản sao của MySQL với một số đặc điểm triển khai cho phép bạn hiểu được các sắc thái của bằng sáng chế và giấy phép.

Tuy nhiên, Oracle cũng không phải là kẻ ngốc. Để ngăn khách hàng và nhà phát triển rò rỉ thông tin về MariaDB, Oracle tiếp tục tài trợ cho việc xây dựng và phát triển MySQL, vốn vẫn tiếp tục miễn phí.

Và để ngồi trên hai chiếc ghế, MySQL Enterprise trả phí đã được phát hành cho các khách hàng doanh nghiệp , không khác gì MySQL Community Edition , nhưng có giấy phép phù hợp hơn cho doanh nghiệp.

PostgreSQL

Một DBMS thú vị khác là PostgreSQL (phát âm là "postgres cue").

Đây là một DBMS miễn phí khác đã trở nên phổ biến rất nhanh trong những năm gần đây. Mặc dù nó vẫn còn xa so với MySQL.

PostgreSQL chủ yếu tập trung vào công việc phân tán. Điểm mạnh của nó là:

  • Cơ chế sao chép và giao dịch hiệu suất cao và đáng tin cậy
  • Hệ thống mở rộng các ngôn ngữ lập trình cài sẵn: PL SQL, PL JS, PL Python,…
  • Kế thừa bảng
  • Khả năng lập chỉ mục các đối tượng hình học (đặc biệt là địa lý)
  • Hỗ trợ tích hợp cho dữ liệu bán cấu trúc ở định dạng JSON với khả năng lập chỉ mục cho chúng
  • Khả năng mở rộng (khả năng tạo kiểu dữ liệu mới, kiểu chỉ mục, ngôn ngữ lập trình, mô-đun mở rộng, kết nối bất kỳ nguồn dữ liệu bên ngoài nào)

Bạn có biết tại sao nó được gọi như vậy không? Đây là cách nó đã được…

Khoảng 50 năm trước, vào đầu những năm 70, Đại học Berkeley bắt đầu phát triển DBMS quan hệ của riêng mình và gọi nó là Ingres .

Vào đầu những năm 80, Giáo sư Michael Stonebreaker rời dự án và quyết định viết DBMS của riêng mình với blackjack và gái điếm. Ông và các sinh viên của mình bắt đầu viết DBMS của riêng họ, cái mà họ gọi đơn giản là Post Ingres , sau này được rút ngắn thành Postgres .

Và vì cái tên Postgres không có ý nghĩa gì với bất kỳ ai, nên người ta đã quyết định thêm hậu tố SQL vào nó. Đây là cách PostgreSQL bật ra, ngay lập tức mất chữ S kép và bắt đầu được viết là PostgreSQL. Nhưng bạn nói tên thì cần đọc như PostgresQL.

NoSQL

Nếu bạn quan tâm đến cơ sở dữ liệu, thì chắc chắn bạn đã nghe nói về cơ sở dữ liệu NoSQL . Tôi vội làm bạn khó chịu: NoSQL hoàn toàn là một tên tiếp thị và SQL ở đó. Anh ấy chỉ bị cắt cụt.

Nó trông như thế nào? Hãy tưởng tượng một trang web đẹp được viết bằng HTML, CSS và JavaScript... được mở trên trình duyệt năm 1995. Nó hoạt động dựa trên sức mạnh của 10% CSS và hoàn toàn không hỗ trợ JavaScript. Và tiêu chuẩn rút gọn mới này được gọi là… NoHtml .

Ví dụ: THAM GIA giữa các bảng có thể không được hỗ trợ trong NoSQL và sau đó bạn phải mô phỏng điều này ở cấp độ mã Java trong chương trình hoặc lưu trữ tất cả dữ liệu của các bảng có liên quan trong một bảng lớn.

Và nếu trong trường hợp của NoHtml, chúng tôi dường như đã khôi phục 20 năm trước, thì trong trường hợp của NoSQL, việc khôi phục xảy ra ở đâu đó khoảng 40 năm.

Lấy ví dụ, cơ sở dữ liệu Cassandra NoSQL mà Facebook sử dụng để lưu trữ dữ liệu của hàng tỷ người dùng. Trên thực tế, họ đã phát triển nó và sau đó đăng nó dưới dạng một dự án OpenSource.

Hãy bắt đầu với điều thú vị nhất - tất cả mã DBMS được viết bằng Java . Mã C++ có thể sẽ chạy nhanh hơn, nhưng sẽ có nhiều lỗi hơn. Và mã Java dễ bảo trì và phát triển hơn.

Định dạng chung của các yêu cầu đối với Casandra DBMS trông rất quen thuộc:

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

Như bạn có thể thấy, SQL ở đó. Bạn có biết những gì còn thiếu ở đây? THAM GIA ! Bạn chỉ có thể chọn dữ liệu từ một bảng :)

Đây là một trích dẫn từ các tài liệu chính thức:

Bạn không thể thực hiện phép nối trong Cassandra . Nếu bạn đã thiết kế một mô hình dữ liệu và nhận thấy rằng bạn cần thứ gì đó như phép nối, bạn sẽ phải thực hiện công việc ở phía máy khách hoặc tạo một bảng thứ hai không chuẩn hóa đại diện cho kết quả nối cho bạn.