Câu hỏi MySQL so với SQL Server so với Oracle [đóng]


Tôi đã luôn luôn chỉ sử dụng MySQL và không có hệ thống cơ sở dữ liệu khác.

Một câu hỏi đã xuất hiện tại một cuộc họp của công ty ngày hôm nay và tôi đã xấu hổ vì tôi không biết: Đối với một nhà phát triển, chức năng rung lắc nào của MS hoặc Oracle cho rằng thiếu MySQL và cho phép MS và Oracle tính phí cho hệ thống của họ?


76
2017-12-16 09:54


gốc


So sánh các hệ thống quản lý cơ sở dữ liệu quan hệ - Wikipedia - Jase Whatson
Các câu hỏi được xây dựng như một cái gì đó không cho phép MySQL để tính phí cho việc sử dụng nó. Không có gì cho phép MS và Oracle để tính phí, họ chỉ làm điều đó. Và MySQL chỉ là khác nhau - mã nguồn mở. Nếu tôi muốn, tôi có thể viết một số kịch bản tiết kiệm-khôi phục nửa nướng trong nửa giờ và tính phí cho nó. Tôi không cần bất cứ điều gì để cho phép tôi làm điều đó. - Luka Ramishvili
Ok, nhưng để rephrase câu hỏi của mình; tại sao một người thông minh có thể xem xét thanh toán cho RDBMS X khi họ có thể chọn RDBMS Y miễn phí? - Karl
Tôi không nghĩ câu hỏi này là chính xác. MySQL không phải là miễn phí cho sử dụng kinh doanh (theo trả lời ở đây) trong khi MS SQL Server có một phiên bản được. Việc cung cấp MS không phải là hạn chế và cho phép cơ sở dữ liệu 10GB với hầu hết các tính năng được kích hoạt. Các câu hỏi có thể được đảo ngược, tại sao phải trả cho MySQL khi SQL Server là miễn phí và có nhiều tính năng hơn. Có lẽ nó là cài đặt của tôi nhưng tôi thấy MySQL lỗi và chậm. - MikeKulls
Câu hỏi này dường như không có chủ đề vì đó là so sánh các DB khác nhau - Noel


Các câu trả lời:


Tôi nghĩ rằng các nhà bình luận khác hoàn toàn đúng để nâng cao tất cả các khả năng RDBMS phi cốt lõi bổ sung đi kèm với các giải pháp thương mại.

Đây là một ma trận của các phiên bản Oracle và các tính năng có giá trị chỉ để tìm hiểu về các tính năng "phụ", đặc biệt trong bối cảnh chi phí phát triển và hỗ trợ phiên bản của riêng bạn (nếu có thể) trên một sản phẩm như MySQL: http://www.oracle.com/us/products/database/product-editions-066501.html

Ví dụ: nếu bạn có yêu cầu cho biết: "Người dùng có thể khôi phục mọi phiên bản dữ liệu trước đó mà họ đã xóa / cập nhật tối đa một tuần sau khi thay đổi đã được thực hiện" thì điều đó hàm ý một chi phí phát triển nhất định mà tôi nghĩ sẽ cao hơn nhiều so với một hệ thống không có tính năng tích hợp như truy vấn Flashback của oracle.


36
2017-12-16 10:28



1, tóm tắt tốt về các tính năng của Oracle. - DCookie
Thông tin tốt về các tính năng của Oracle - hminaya


Các lớp RDBMS thuần túy của Oracle và MSSQL cung cấp chủ yếu một môi trường lập trình trưởng thành hơn so với MySQL và InnoDB. T-SQL và PL / SQL không thể được đối sánh với các thủ tục và trình kích hoạt được lưu trữ của MySQL.

Những khác biệt khác là sự khác biệt ngữ nghĩa và ngữ nghĩa nhẹ làm cho mọi việc dễ dàng hơn hoặc khó hơn (như top 500 so với giới hạn / bù đắp).

Nhưng kẻ giết người thực sự là có rất nhiều công cụ và dịch vụ tích hợp trên các lớp RDBMS của MSSQL (Reporting Services, Analysis Services) và Oracle (Data Warehousing, RAC) mà MySQL không có (chưa).


22
2017-12-16 10:07





MySQL không phải là miễn phí!

Nó được hiểu rộng rãi là miễn phí, nhưng bạn đang bán hoặc phân phối các gói phần mềm kết hợp với MySQL, nó mang những hạn chế khá nghiêm trọng. Trong những trường hợp này, nó chỉ miễn phí cho các dự án nguồn mở hoặc các tổ chức phi lợi nhuận. Nếu bạn có thể quản lý để tách biệt hoàn toàn cơ sở dữ liệu và trình điều khiển khỏi phần còn lại của ứng dụng của bạn, và buộc khách hàng của bạn tải xuống và cài đặt MySQL trên chính mình, bạn có thể không sao.

Nếu không, chi phí là 2.000 đô la / năm cho phiên bản "chuẩn", tương đương với chi phí cấp phép SQL Server.

Cả hai đều là cơ sở dữ liệu rất tốt, nhưng trong số các ưu điểm của SQL Server là:

  • Ngôn ngữ thủ tục phong phú và biểu cảm (T-SQL)
  • Trình tối ưu hóa truy vấn tốt hơn và hiệu suất tốt hơn trong môi trường ghi nhiều lần
  • Một bộ công cụ và khả năng phụ trợ mạnh mẽ, bao gồm môi trường lập trình, công cụ ETL (SSIS), mô hình hóa chiều (SSAS), môi trường báo cáo (SSRS) và công cụ lập kế hoạch công việc hợp lý.
  • Gỡ lỗi tương tác các thủ tục lưu sẵn và UDF.
  • Một công cụ quản lý dựa trên cửa sổ tương đối dễ sử dụng cho phép bạn thực hiện hầu hết các tác vụ quản trị theo cách "nhút nhát".

Nhiều người phản đối về mặt tư tưởng khi sử dụng các công cụ của Microsoft, hoặc bị khóa vào môi trường Windows, và tôi có thể hiểu điều đó. Nhưng MySQL KHÔNG miễn phí cho việc sử dụng kinh doanh, và điều đó dường như không được hiểu rộng rãi.

Để xem lại chính sách cấp phép của MySQL, hãy xem nó tại trang web của họ: http://www.mysql.com/about/legal/licensing/index.html


13
2017-12-04 23:34



Tôi đồng ý - MySql không miễn phí (không có những thứ như bữa trưa miễn phí). Tuy nhiên tôi nghĩ rằng nhiều sản phẩm của Microsoft không phải là tốt - ngoại trừ Visual Studio). Sybase có vẻ là một cơ sở dữ liệu rất tốt IMHO - Ed Heal
Ha, tôi thực sự là một trong những người này. Tôi thực sự nghĩ rằng MySQL là miễn phí, hoàn toàn miễn phí không có vấn đề gì. Chỉ cần một câu hỏi nhanh, bạn có một số số liệu thống kê / liên kết nơi tôi có thể thấy "trình tối ưu hóa truy vấn tốt hơn, và hiệu năng tốt hơn trong môi trường viết chuyên sâu". - John Crawford
Sai. Phiên bản cộng đồng của MySQL được cấp phép theo giấy phép GNU GPL v2, có nghĩa là bạn có thể sử dụng phần mềm miễn phí cho bất kỳ mục đích nào. (Nếu bạn muốn SỬA ĐỔI VÀ PHÂN PHỐI phần mềm, thì sản phẩm đã sửa đổi phải được cung cấp theo giấy phép nguồn mở GPL v2 tương tự, nhưng chỉ USAGE, và thậm chí SỬA ĐỔI (miễn là bạn không phân phối lại sản phẩm đã sửa đổi) là miễn phí cho bất kỳ mục đích nào không có điều kiện.) - Luca
Điều đó không hoàn toàn đúng. Vui lòng xem Câu hỏi thường gặp sau tại gnu.org: gnu.org/licenses/old-licenses/… - Curt
Curt, (1) chúng ta không nói về việc kết hợp MySQL trong một chương trình khác, nhưng sử dụng nó như một phần mềm riêng biệt (trong một kiến ​​trúc máy khách-máy chủ); trong câu hỏi thường gặp của bạn: "Nếu hai chương trình vẫn tách biệt [...] thì bạn có thể coi chúng là hai chương trình riêng biệt" (2) ngay cả khi bạn thực sự kết hợp MySQL trong một phần mềm sở hữu độc quyền (tức là bạn sử dụng nó như một thư viện) , bạn không phải relicense phần mềm độc quyền của bạn theo GPL miễn là bạn không phân phối lại nó. Trong câu hỏi thường gặp của bạn: "GPL nói rằng bất kỳ phiên bản mở rộng nào của chương trình phải được phát hành theo GPL NẾU ĐƯỢC PHÁT HÀNH TẤT CẢ" - Luca


Một số thứ khác mà oracle đã qua mysql.

  • Hàng đợi
  • lập kế hoạch công việc nội bộ
  • ngôn ngữ thủ tục lưu trữ trưởng thành
  • bảng được chuẩn bị
  • kiểm soát và kiểm soát truy cập hạt mịn
  • tính năng khôi phục mạnh mẽ (ví dụ: flashback, rman, dataguard)
  • liên kết cơ sở dữ liệu từ xa
  • ứng dụng express

9
2017-12-16 11:39



MySql hỗ trợ các bảng được phân đoạn (rõ ràng) kể từ 5.1. dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html - Sharique


Cho đến khi tôi quản lý RDBSes từ các nhà cung cấp khác, Oracle không lặp lại "độc giả không chặn các nhà văn, các nhà văn không chặn người đọc" có ý nghĩa với tôi. Tôi thực sự không biết nhiều về xử lý các vấn đề về khóa trong 8 năm như một Oracle DBA. năm Informix và 3 hoặc SQL Server và tôi tin tưởng tôi biết nhiều hơn về khóa.

Vì vậy, tôi sẽ nói, ngoài các ý kiến ​​về các tính năng hỗ trợ và không RDBMS, thêm hành vi khóa.


8
2017-12-18 04:05



Codebase cơ bản tương tự trên một bảng hàng 1m với 100 lần đọc / cập nhật mỗi giây trên cùng một tập hợp các hàng sẽ làm cho Oracle tỏa sáng và (vào thời điểm đó) làm cho SQL Server quay khóa thành lãng quên. Có, mọi thứ đã thay đổi, nhưng vấn đề là không giống như tôi có đối với tập đoàn Oracle, sản phẩm cơ sở dữ liệu của họ là hàng đầu. - Jé Queue
SQL Server Snapshot Isolation giải quyết vấn đề này rất thực tế với Microsoft SQL Server - được thêm vào trong SQL Server 2008 - NTDLS


Có quá nhiều chức năng để liệt kê. Xem tham khảo Wikipedia trong thông điệp của nullptr. Nhưng tôi cho rằng câu hỏi thực sự được hỏi tại cuộc họp là "Đối với một nhà phát triển, chức năng rung lắc trái đất nào của MS hoặc Oracle cung cấp sự chậm trễ của MySQL trong đó cho phép MS và Oracle tính phí cho các hệ thống của họ và có thể được công ty chúng tôi sử dụng hiệu quả? "

Tất cả các ưu điểm đều thực sự thuận lợi nếu phù hợp với nhu cầu của bạn ...


5
2017-12-16 11:45





Oracle cụm bảng và cụm bảng băm đơn (mà bạn sẽ không tìm thấy trong SQL Server).


5
2017-12-16 12:17



Ah, các bảng băm đơn bảng - một bản đọc nhẹ phù hợp để tìm hàng của bạn. Những thứ rất hay ... Tôi đã thấy 10.000 lượt tìm kiếm riêng lẻ mỗi giây trên phần cứng rất khiêm tốn. - David Aldridge


LƯU Ý: Tôi không thể nói bất cứ điều gì về Oracle, vì vậy tôi sẽ chỉ trả lời cho SQL Server.

Vâng, tất nhiên sự khác biệt nhỏ trong cơ sở dữ liệu, như tuyên bố MERGE, BULK INSERT, GROUPING SETs vv

Nhưng tôi nghĩ phần lớn hơn là những thứ như Integration Services, Analysis Services và Reporting Services. Đó là những công nghệ quan trọng theo ý kiến ​​của tôi hoàn toàn xứng đáng với số tiền họ bỏ ra.


4
2017-12-16 10:02



SQL Server 2008 đã thêm MERGE. - DOK
Một số người buộc phải đi với Microsoft SQL Server do ràng buộc tương thích và đau đầu khi triển khai Oracle hoặc MySQL trong hệ thống hiện tại của họ - JsonStatham


MySQL không cung cấp môi trường lập trình phong phú hơn mà Oracle và MSSQL cung cấp, đặc biệt là trong các hóa thân đầu tiên, khi nó thậm chí không có các thủ tục lưu trữ. Theo quan điểm của tôi, tôi có xu hướng đặt hầu hết logic nghiệp vụ của mình vào ứng dụng, thông qua các trình ánh xạ của DAO hoặc ORM, v.v. Do đó, cơ sở dữ liệu bên dưới là ít quan trọng và trong lý thuyết ứng dụng có thể vận chuyển được. Từ góc độ quản lý MSSQL cung cấp một số lợi ích (nhiều đã được liệt kê) mà làm cho nhiệm vụ sở hữu cơ sở dữ liệu dễ dàng hơn rất nhiều. Microsoft cũng cung cấp SQLExpress tuyệt vời và nhẹ để phát triển, mà tôi đã thấy dễ dàng để làm việc và nó tích hợp vào Visual Studio độc đáo.


4
2017-12-16 12:02



Nhấn mạnh vào "lý thuyết" khi nói đến khả năng vận chuyển, tôi nghĩ;) Có vẻ như trường hợp làm giảm mã xuống mẫu số chung thấp nhất cho phép khả năng vận chuyển thực sự khuyến khích mong muốn vận chuyển, bởi vì tránh cải tiến nhà cung cấp thường cơ sở dữ liệu trong bullseye cho các vấn đề hiệu suất. - David Aldridge


Lấy cảm hứng từ câu trả lời của ThinkJet, tôi nghĩ rằng một yếu tố khác bắt đầu là, "Chúng ta sẵn sàng từ bỏ sự độc lập của cơ sở dữ liệu để cung cấp các ứng dụng hiệu quả hơn, rẻ hơn như thế nào?" Nếu sự nhấn mạnh của công ty là tất cả các mã phải được di chuyển giữa các cơ sở dữ liệu thì có rất ít điểm trong việc sử dụng bất kỳ thứ gì khác ngoài RDBMS đơn giản nhất, và những cải tiến và lợi thế mà Oracle và Microsoft đã cung cấp không tính.

Phải mất rất ít để phá vỡ sự độc lập về cơ sở dữ liệu thực sự, và triết lý của tôi là bạn nên tự mình tận tâm tận dụng mọi tính năng mà bạn đã trả tiền - Cải tiến SQL, PL / SQL, v.v.

Những người khác có thể khác nhau, tất nhiên.


3
2017-12-16 15:58





Tôi nghĩ rằng câu hỏi có giả thiết ngầm rằng nó là các tính năng phát triển cho phép SQL Server / Oracle tính phí. Tôi nghi ngờ rằng nó là nhiều hơn việc thực hiện / hỗ trợ.

Sao lưu nóng là một tính năng chính đáng để trả tiền, ít nhất là đối với hầu hết các cài đặt.

Đối với Oracle, một giá trị gia tăng lớn là RAC - nhiều máy chủ đánh cùng một dữ liệu (nghĩa là cùng một đĩa) mà không có bất kỳ sự sao chép lộn xộn nào liên quan. Nó (nói chung) là không rõ ràng cho các nhà phát triển.


3
2017-12-16 22:15



Tôi đã bỏ lỡ nó. Cảm ơn :) - Kshitij Saxena -KJ-