Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

SQL Server và Oracle, cái nào tốt hơn về khả năng mở rộng?

Cả Oracle và SQL Server đều là cơ sở dữ liệu đĩa chia sẻ nên chúng bị hạn chế bởi băng thông đĩa đối với các truy vấn quét bảng trên khối lượng lớn dữ liệu. Các sản phẩm như Teradata , Netezza hoặc DB / 2 Parallel Edition 'không có gì được chia sẻ' kiến trúc nơi cơ sở dữ liệu lưu trữ các phân vùng ngang trên các nút riêng lẻ. Loại kiến ​​trúc này mang lại hiệu suất truy vấn song song tốt nhất vì các đĩa cục bộ trên mỗi nút không bị hạn chế thông qua nút cổ chai trung tâm trên SAN.

Hệ thống đĩa dùng chung (chẳng hạn như Oracle Cụm ứng dụng thực hoặc Clustered SQL Server cài đặt vẫn yêu cầu SAN được chia sẻ , điều này đã hạn chế băng thông để phát trực tuyến. Trên một VLDB, điều này có thể hạn chế nghiêm trọng hiệu suất quét bảng có thể đạt được. Hầu hết các truy vấn kho dữ liệu đều chạy bảng hoặc quét phạm vi trên các khối dữ liệu lớn. Nếu truy vấn sẽ đạt nhiều hơn một vài phần trăm số hàng thì một lần quét bảng thường là kế hoạch truy vấn tối ưu.

Nhiều mảng đĩa đính kèm trực tiếp cục bộ trên các nút mang lại nhiều băng thông đĩa hơn.

Đã nói rằng tôi biết về một cửa hàng Oracle DW (một công ty viễn thông lớn của châu Âu) có kho dữ liệu dựa trên tiên tri tải 600 GB mỗi ngày, vì vậy kiến ​​trúc đĩa chia sẻ dường như không đặt ra những hạn chế không thể vượt qua.

Giữa MS-SQL và Oracle có một số khác biệt. IMHO Oracle có hỗ trợ VLDB tốt hơn máy chủ SQL vì những lý do sau:

  • Oracle có hỗ trợ riêng cho chỉ mục bitmap , là một cấu trúc chỉ mục thích hợp cho các truy vấn kho dữ liệu tốc độ cao. Về cơ bản, chúng thực hiện một CPU cho sự cân bằng I / O vì chúng được mã hóa trong thời gian chạy và sử dụng tương đối ít dung lượng. Mặt khác, Microsoft tuyên bố rằng Giao điểm chỉ mục không chậm hơn đáng kể.

  • Oracle có các phương tiện phân vùng bảng tốt hơn SQL Server. IIRC Việc phân vùng bảng trong SQL Server 2005 chỉ có thể được thực hiện trên một cột duy nhất.

  • Oracle có thể chạy trên phần nào lớn hơn phần cứng hơn SQL Server, mặc dù người ta có thể chạy máy chủ SQL trên một số khá một cách đáng kính lớn hệ thống.

  • Oracle hỗ trợ hoàn thiện hơn cho Chế độ xem cụ thể hóa Viết lại truy vấn để tối ưu hóa các truy vấn quan hệ. SQL2005 có một số khả năng viết lại truy vấn nhưng nó được ghi chép kém và tôi chưa thấy nó được sử dụng trong hệ thống sản xuất. Tuy nhiên, Microsoft sẽ đề nghị bạn sử dụng Dịch vụ Phân tích , thực sự không hỗ trợ các cấu hình không chia sẻ.

Trừ khi bạn có khối lượng dữ liệu kinh thánh thực sự và đang lựa chọn giữa Oracle và một kiến ​​trúc không có gì được chia sẻ như Teradata, bạn có thể sẽ thấy sự khác biệt nhỏ thực tế giữa Oracle và SQL Server. Đặc biệt kể từ khi SQL2005 ra đời, các cơ sở phân vùng trong SQL Server được xem là đủ tốt và có nhiều trong số ví dụ trong tổng số Multi-terabyte hệ thống đã được triển khai thành công trên đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:'=ANY ()' so với 'IN ()'

  2. Làm thế nào để thay đổi số (7,2) thành varchar trong oracle?

  3. Lưu trữ Blob từ Java sang BD:Kích thước dữ liệu lớn hơn kích thước tối đa cho loại này khi rõ ràng là không

  4. cập nhật bằng vòng lặp for trong plsql

  5. mảng hoặc danh sách vào Oracle bằng cfprocparam