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

Oracle chuyển sang PostgreSQL:Lý do nên di chuyển

PostgreSQL có khá nhiều ưu điểm hấp dẫn, một số ưu điểm không tìm thấy trong bất kỳ hệ quản trị cơ sở dữ liệu nào khác. Bài viết này sẽ phác thảo những điều thú vị nhất đối với nhà phát triển Oracle đang tìm cách di chuyển hoặc điều tra các lựa chọn thay thế cho sự phát triển mới.

Để ngăn bài viết này trở thành một danh sách khác về các tính năng của PostgreSQL, nó sẽ bám sát các tính năng để phân biệt cụ thể với Oracle và những lợi thế mà những khác biệt đó tạo ra.

Liên kết so với Trình gói dữ liệu nước ngoài

Oracle có một tính năng được gọi là Liên kết cho phép các bảng từ cơ sở dữ liệu khác được coi là dữ liệu cục bộ. PostgreSQL nâng điều này lên đến 11 với trình bao bọc dữ liệu nước ngoài. Nó vượt trội hơn hẳn so với hệ thống liên kết, có thể được kết nối với bất kỳ thứ gì giống với dữ liệu từ xa và không mất phí. Điều này làm cho PostgreSQL trở thành một nền tảng ETL tuyệt vời, ngay cả khi tất cả những gì bạn sử dụng nó là nhập dữ liệu.

plSQL so với mọi thứ khác

Oracle có một ngôn ngữ lập trình tích hợp được gọi là plSQL. PostgreSQL có khoảng 80 hoặc lâu hơn. Thật sự. Hệ thống mở rộng của PostgreSQL được sử dụng để tạo các ngôn ngữ thủ tục dưới dạng trình cắm thêm và có các ràng buộc đối với bất kỳ ngôn ngữ nào bạn có thể nghĩ đến. Và nếu không có, bạn luôn có thể theo dõi Mark Wong để biết cách tạo giấy gói cho món ăn yêu thích của bạn.

Lập trình ứng dụng

Oracle cung cấp một API ứng dụng để giao tiếp với cơ sở dữ liệu. PostgreSQL cũng cung cấp một API để tạo sự thuận tiện và các ngôn ngữ đáng tin cậy. Tuy nhiên, sản phẩm là mã nguồn mở, vì vậy không có công dân phát triển lớp thứ hai. Bạn có thể truy cập bất kỳ thứ gì mà PostgreSQL cung cấp bằng cách đưa tệp tiêu đề vào dự án của bạn. Làm bất cứ điều gì bạn muốn với nó.

Quốc tế hóa và bản địa hóa

Oracle cung cấp bộ công cụ toàn cầu hóa. PostgreSQL được xây dựng hoàn toàn dựa trên các dịch vụ hệ thống nổi tiếng và tương thích rộng rãi để bản địa hóa. Nó có thể sử dụng bất kỳ trang mã, đối chiếu và mã ký tự nào mà hệ điều hành cung cấp.

Phát triển Web

Oracle thừa nhận sự tồn tại của HTML thông qua HTML DB. PostgreSQL nguyên bản hỗ trợ JSON, XML và cắm vào Javascript như một back end ngôn ngữ mã hóa mà bạn có thể sử dụng cùng lúc với Java hoặc bất kỳ ngôn ngữ giao diện người dùng nào khác mà bạn chọn.

Xác thực

Oracle có một hệ thống xác thực tích hợp sẵn (ở đây là Proxy Auth, linh hoạt hơn một chút). PostgreSQL dựa vào các giao thức SASL và Xác thực Dựa trên Máy chủ để cắm vào bất kỳ hệ thống xác thực nào mà máy chủ có thể hỗ trợ và một số ít cắm trực tiếp vào PostgreSQL. Điều này cung cấp một loạt các khả năng xác thực khổng lồ cùng với khả năng giảm tải quá trình xác thực lên các máy khác.

Khả năng mở rộng

Oracle có một hệ thống plug-in với hầu hết là các plug-in độc quyền. PostgreSQL có một hệ thống tiện ích mở rộng được hỗ trợ bởi cộng đồng chung, với hàng nghìn plug-in có sẵn.

Đọc Khả năng mở rộng

Oracle có khả năng mở rộng đọc dọc khá tốt. PostgreSQL có thể tạo một cụm đọc hầu như không giới hạn. Số lượng nút chỉ bị giới hạn bởi số lượng tài nguyên bạn muốn ném vào nó.

Chi phí

Thật khó để đánh bại “miễn phí” và Oracle thậm chí còn không cố gắng. Hãy đối mặt với nó, Oracle chỉ đắt một cách kỳ cục và họ không ngại tính phí lại cho bạn cho mọi trường hợp.

Đây cũng không phải là một so sánh tuyến tính. Một trong những lợi thế lớn nhất của PostgreSQL là bạn có thể có tất cả các phiên bản mà bạn muốn mà không phải trả thêm phí. (Tôi đoán đó là chi phí bổ sung là + $ 0,00 hoặc nhân với $ 0,00, bạn quyết định).

Không công bằng (với PostgreSQL) khi so sánh chi phí của một phiên bản Oracle với một phiên bản PostgreSQL. Một khi bạn tận hưởng cảm giác tự do miễn phí, sẽ rất khó để quay lại việc dồn mọi thứ vào một trường hợp duy nhất chỉ để giảm chi phí.

Chi phí cho một cơ sở dữ liệu tạm thời để chuyển đổi dữ liệu trên đường đến kho? Tôi nghĩ rằng miễn phí là đủ. Làm thế nào về một cơ sở dữ liệu tạm thời để báo cáo? Tôi cũng sẽ miễn phí cho điều đó. Làm thế nào về một trong đó là điểm nhập dữ liệu cho ETL? Miễn phí là tốt. Tôi thích tự do. Nó rất, uh… giải phóng.

Hiệu suất

Không chờ đợi! Hãy nghe tôi về điều này. Tôi đã đề cập rằng PostgreSQL có thể tạo số lượng không giới hạn các nút trong một cụm đọc. Điều đó có thể làm giảm chi phí của bất kỳ hoạt động đọc cụ thể nào xuống gần bằng không. Nhưng cũng có một cách khác, PostgreSQL hoạt động hiệu quả hơn Oracle.

Bởi vì PostgreSQL không tốn chi phí cho mỗi nút, bạn có thể điều chỉnh nó theo cách khác nhau cho mọi tải công việc. Tất nhiên, bạn cũng có thể làm điều này với Oracle, nhưng bạn sẽ phải trả cho mỗi nút cho khả năng điều chỉnh nó theo cách này. Vì vậy, nếu bạn muốn phân biệt các thông số điều chỉnh cho kho của mình đối với OLTP để báo cáo cho hồ dữ liệu, PostgreSQL làm cho việc này khá dễ dàng và vẫn dễ dàng trên ví.

Tất nhiên có rất nhiều tính năng hấp dẫn hơn trong PostgreSQL, nhưng tôi đã viết bài báo đó vài tháng trước. Hãy cho tôi biết trong phần nhận xét nếu bạn đã chuyển sang PostgreSQL vì bất kỳ lý do nào khác.


No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách giám sát hiệu suất PostgreSQL 12 với OmniDB - Phần 2

  2. PostgreSQL:Thời gian tạo bảng

  3. Hàm truy vấn động Postgres

  4. Bắt đầu với PostgreSQL Streaming Replication

  5. Hạn chế duy nhất của Postgres so với chỉ mục