Sự ra đời của DevOps trong các tổ chức đã thay đổi quá trình phát triển và cũng đưa ra một số thách thức mới. Ngoài ra, các nhà phát triển và nhóm DevOps, cùng với ngôn ngữ lập trình đã chọn của riêng họ, cũng có hệ thống cơ sở dữ liệu yêu thích của họ.
Vòng đời của sản phẩm ngày càng ngắn hơn mỗi năm, vì vậy các nhà phát triển muốn có thể phát triển nhanh bằng cách sử dụng các công nghệ mà họ biết rõ nhất.
Có nhiều phụ trợ cơ sở dữ liệu RDBMS có nghĩa là tổ chức của bạn sẽ trở nên nhanh nhẹn hơn về mặt phát triển, nhưng nó cũng áp đặt kiến thức bổ sung cho các nhóm vận hành.
Việc mở rộng cơ sở hạ tầng của bạn từ một đến nhiều cơ sở dữ liệu có nghĩa là bạn cũng phải theo dõi, quản lý và mở rộng quy mô chúng.
Vì mọi chương trình phụ trợ lưu trữ đều vượt trội ở các trường hợp sử dụng khác nhau, điều này cũng có nghĩa là bạn phải phát minh lại bánh xe cho mọi trường hợp trong số đó.
Biết được những điểm tương đồng và khác biệt chính sẽ giúp bạn đắm chìm vào các hương vị khác nhau của RDBMS.
Trong bài viết này, chúng ta sẽ đi qua các điểm sau:
- Giới thiệu ngắn gọn về nền tảng
- Oracle, MSSQL, MySQL, PostgreSQL
- Hỗ trợ nền tảng
- Quá trình cài đặt
- Quyền truy cập cơ sở dữ liệu
- Quá trình sao lưu
- Kiểm soát việc thực thi truy vấn
- Bảo mật
- Tùy chọn sao chép
- Hỗ trợ của cộng đồng
Giới thiệu ngắn gọn về nền tảng
PostgreSQL được nhiều người công nhận là cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới. Nó là một hệ thống cơ sở dữ liệu mã nguồn mở hoàn toàn được phát hành theo giấy phép riêng của nó, Giấy phép PostgreSQL, có thể so sánh với giấy phép MIT hoặc BSD. Cộng đồng PostgreSQL đang hoạt động tích cực và liên tục cải tiến các tính năng hiện có và mới. Theo xếp hạng mức độ phổ biến của DB-engine, PostgreSQL là DBMS của năm 2017 và 2018. Mức độ phổ biến của DB-Engines cho thấy xu hướng này không thay đổi trong những năm qua.
Một thực tế thú vị là PostgreSQL không hỗ trợ SQL cho đến năm 1994. Ngôn ngữ QUEL được sử dụng để truy vấn dữ liệu từ đó. Hỗ trợ SQL đã được thêm vào sau này.
PostgreSQL có nhiều tính năng nâng cao mà các hệ thống quản lý cơ sở dữ liệu doanh nghiệp khác cung cấp, chẳng hạn như chế độ xem, thủ tục được lưu trữ, chỉ mục và trình kích hoạt ngoài các tính năng khóa chính, khóa ngoại và nguyên tử.
PostgreSQL có thể được mở rộng bởi người dùng bằng cách sửa đổi các tính năng hiện có, thêm các tính năng mới và phân phối tự do vì nó là mã nguồn mở. Nó chạy trên các nền tảng chính như UNIX, MacOS, Windows và Linux, v.v. Nó hỗ trợ video, văn bản, âm thanh, hình ảnh, giao diện lập trình cho các ngôn ngữ khác nhau. Danh sách các ngôn ngữ được hỗ trợ bao gồm C / C ++, Java, Python, Perl, v.v.
Oracle là một trong những nhà cung cấp RDBMS (hệ quản trị cơ sở dữ liệu quan hệ) lớn nhất trong thế giới CNTT. Nó được biết đến như một cơ sở dữ liệu Oracle, Oracle DB hoặc Oracle do Oracle tiếp thị.
Cơ sở dữ liệu Oracle đang được nhiều công ty trong ngành CNTT sử dụng để xử lý giao dịch, phân tích kinh doanh, mục đích ứng dụng thông minh kinh doanh, v.v.
Oracle có một lịch sử lâu đời và rất thú vị:
Vào ngày 16 tháng 6 năm 1977, Phòng thí nghiệm Phát triển Phần mềm (SDL) được thành lập tại Santa Clara, California bởi Larry Ellison, Bob Miner và Ed Oates. Năm 1977 Oracle lấy tên từ tên mã của dự án CIA và Oracle RDBMS thương mại hóa đầu tiên được giới thiệu với thế giới vào năm 1979.
Cơ sở dữ liệu Oracle có sẵn trong các phiên bản khác nhau như phiên bản Doanh nghiệp Phiên bản tiêu chuẩn, phiên bản Express và phiên bản Oracle Lite. Đối thủ cạnh tranh lớn nhất đối với cơ sở dữ liệu Oracle là máy chủ Microsoft SQL.
Microsoft SQL Server là một RDBMS rất phổ biến với việc cấp phép hạn chế và chi phí sở hữu khiêm tốn nếu cơ sở dữ liệu có kích thước đáng kể hoặc được một số lượng lớn khách hàng sử dụng.
Đây là một trong ba công nghệ cơ sở dữ liệu hàng đầu thị trường, cùng với Cơ sở dữ liệu Oracle và DB2 của IBM.
Nó cung cấp một giao diện rất thân thiện với người dùng và dễ học, điều này đã dẫn đến một cơ sở người dùng được cài đặt lớn.
Giống như các phần mềm RDBMS khác, Microsoft SQL Server được xây dựng dựa trên SQL, một ngôn ngữ lập trình tiêu chuẩn hóa mà quản trị viên cơ sở dữ liệu (DBA) và các chuyên gia CNTT khác sử dụng để quản lý cơ sở dữ liệu và truy vấn dữ liệu chứa trong đó. SQL Server được liên kết với Transact-SQL (T-SQL), một triển khai SQL của Microsoft bổ sung một tập hợp các phần mở rộng lập trình độc quyền cho ngôn ngữ chuẩn.
MySQL
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ nguồn mở được Oracle hỗ trợ dựa trên SQL.
Ban đầu được hình thành bởi công ty Thụy Điển MySQL AB, MySQL được Sun Microsystems mua lại vào năm 2008 và sau đó là Oracle khi mua Sun vào năm 2010.
Các nhà phát triển có thể sử dụng MySQL theo Giấy phép Công cộng GNU (GPL). Phiên bản Enterprise đi kèm với hỗ trợ và các tính năng bổ sung để bảo mật và tính sẵn sàng cao.
Đây là cơ sở dữ liệu phổ biến thứ hai trên thế giới theo xếp hạng của db-engine và có lẽ là cơ sở dữ liệu hiện có nhất trên hành tinh vì nó chạy hầu hết các dịch vụ internet trên toàn cầu. MySQL chạy trên hầu như tất cả các nền tảng, bao gồm Linux, UNIX và Windows.
MySQL là một thành phần quan trọng của ngăn xếp doanh nghiệp mã nguồn mở được gọi là LAMP.
LAMP là một nền tảng phát triển web sử dụng Linux làm hệ điều hành, Apache làm máy chủ web, MySQL làm hệ quản trị cơ sở dữ liệu quan hệ và PHP làm ngôn ngữ kịch bản hướng đối tượng.
Hỗ trợ nền tảng
Oracle
Phiên bản phổ biến nhất của Oracle DB, Oracle 12c là một hệ thống RDBMS dành cho doanh nghiệp thực sự được hỗ trợ trên nhiều hệ điều hành và nền tảng khác nhau. Oracle thống trị thế giới cơ sở dữ liệu một phần vì nó chạy trên hàng chục nền tảng, mọi thứ từ Mainframe, Sparc, Mac cho đến Intel. Danh sách bao gồm các kết hợp hệ điều hành và kiến trúc sau:Linux trên x86-64 (chỉ hỗ trợ các bản phân phối Red Hat Enterprise Linux, Oracle Linux và SUSE) Microsoft Windows trên x86-64. Oracle Solaris trên SPARC và x86-64. AIX của IBM trên Hệ thống POWER. Linux trên IBM zEnterprise Systems HP-UX trên Itanium.
MSSQL
Là một sản phẩm của Microsoft, SQL được thiết kế để tương thích rất nhiều với hệ điều hành Windows. Vào ngày 16 tháng 11 năm 2016, Microsoft đã công bố sự khởi đầu của một câu chuyện mới:SQL Server hiện đã được hỗ trợ trên Linux và Docker. Địa ngục đóng băng!
MySQL
MYSQL thực hiện thực thi mượt mà hơn trên tất cả các nền tảng như Microsoft, UNIX, Linux, Mac, v.v.
PostgreSQL
Nói chung, PostgreSQL có thể hoạt động trên nhiều hệ điều hành và kiến trúc CPU (thậm chí kỳ lạ) khác nhau.
Nó bao gồm các kiến trúc CPU như x86, x86_64, IA64, PowerPC, PowerPC 64, S / 390, S / 390x, Sparc, Sparc 64, Alpha, ARM, MIPS, MIPSEL, M68K và PA-RISC. Thường có thể xây dựng trên loại CPU không được hỗ trợ bằng cách định cấu hình với --disable-spinlocks, nhưng hiệu suất sẽ kém.
PostgreSQL có thể dự kiến sẽ hoạt động trên các hệ điều hành sau:Linux (tất cả các bản phân phối gần đây), Windows (Win2000 SP4 trở lên), FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP / UX, IRIX, Solaris, Tru64 Unix, và UnixWare.
Quá trình cài đặt
Oracle
Từ tất cả bốn hệ thống cơ sở dữ liệu đã trình bày, Oracle có những yêu cầu hệ thống phức tạp nhất đi kèm với quá trình cài đặt phức tạp. Trên cả hai nền tảng Windows và Linux, Oracle sử dụng công cụ Oracle Universal Installer (OUI) chuyên dụng làm quá trình cài đặt chính. OUI được sử dụng để cài đặt phần mềm Cơ sở dữ liệu Oracle. OUI là một tiện ích giao diện người dùng đồ họa cho phép bạn:
- Xem phần mềm Oracle được cài đặt trên máy của bạn
- Cài đặt phần mềm Cơ sở dữ liệu Oracle mới
- Xóa phần mềm Oracle không còn cần thiết.
Trong quá trình cài đặt, OUI sẽ khởi động Hỗ trợ cấu hình cơ sở dữ liệu Oracle (DBCA) có thể cài đặt cơ sở dữ liệu mặc định được tạo trước chứa các lược đồ mẫu hoặc có thể hướng dẫn bạn quy trình tạo và định cấu hình cơ sở dữ liệu tùy chỉnh.
Nếu bạn không tạo cơ sở dữ liệu trong khi cài đặt, bạn có thể gọi DBCA sau khi đã cài đặt phần mềm, để tạo một hoặc nhiều cơ sở dữ liệu.
MSSQL
Bắt đầu với SQL Server 2016 (13.x), SQL Server chỉ khả dụng dưới dạng ứng dụng 64 bit.
Quá trình cài đặt diễn ra thông qua Trình hướng dẫn cài đặt, dấu nhắc lệnh hoặc thông qua công cụ sysprep.
Trình hướng dẫn Cài đặt chạy Trung tâm Cài đặt Máy chủ SQL. Để tạo bản cài đặt SQL Server mới, hãy chọn tùy chọn Cài đặt ở phía bên trái, sau đó bấm Cài đặt riêng SQL Server mới hoặc thêm các tính năng vào cài đặt hiện có.
Cài đặt dựa trên Linux rất giống với phương pháp cài đặt cơ sở dữ liệu nguồn mở. Nó hỗ trợ đóng gói cho các hệ thống dựa trên Debian và RedHat. Các bước bao gồm cấu hình kho lưu trữ, cài đặt gói và cấu hình sau cài đặt, khá giống với MySQL. Toàn bộ quá trình được mô tả rất nhiều trong bài viết sau.
Trình hướng dẫn cài đặt MSSQL
MySQL
Oracle cung cấp một tập hợp các bản phân phối nhị phân của MySQL. Chúng bao gồm các bản phân phối nhị phân chung ở dạng tệp tar được nén (tệp có phần mở rộng .tar.gz) cho một số nền tảng và tệp nhị phân trong các gói dành riêng cho nền tảng. Trên nền tảng Windows, quá trình cài đặt được kích hoạt bởi trình hướng dẫn cài đặt tiêu chuẩn thông qua GUI.
PostgreSQL
PostgreSQL có sẵn trong phần lớn các bản phân phối Linux nên rất có thể bạn có thể cài đặt nó thông qua một lệnh yum hoặc apt-get đơn giản. Đối với cấu hình HA, bạn có thể sử dụng công cụ ClusterControl s9s hoặc GUI. Các công cụ S9S có thể giúp bạn tạo một cụm PostgreSQL chỉ với một dòng lệnh duy nhất:
$ s9s cluster \
--create \
--cluster-type=postgresql \
--nodes="192.168.0.91?master;192.168.0.92?slave;192.168.0.93?slave" \
--provider-version='11' \
--db-admin='postgres' \
--db-admin-passwd='s3cr3tP455' \
--os-user=root \
--os-key-file=/root/.ssh/id_rsa \
--cluster-name='PostgreSQL 11 Streaming Replication' \
--wait
Creating PostgreSQL Cluster
\ Job 259 RUNNING [█▋ ] 15% Installing helper packages
Để biết thêm thông tin, hãy xem blog này.
Truy cập vào cơ sở dữ liệu và tạo DB
Oracle
Oracle tách biệt quá trình tạo nhị phân và cơ sở dữ liệu. Không giống như các hệ thống cơ sở dữ liệu phổ biến khác, việc tạo cơ sở dữ liệu bao gồm nhiều bước hơn.
Hỗ trợ cấu hình cơ sở dữ liệu (DBCA) là cách ưa thích để tạo cơ sở dữ liệu vì nó có thể thực hiện theo cách tiếp cận tự động hơn nhiều. DBCA có thể được khởi chạy bởi Oracle Universal Installer (OUI), tùy thuộc vào loại cài đặt mà bạn chọn. Bạn cũng có thể khởi chạy DBCA như một công cụ độc lập bất kỳ lúc nào sau khi Cài đặt Cơ sở dữ liệu Oracle.
Bạn có thể chạy DBCA ở chế độ tương tác hoặc không tương tác / chế độ im lặng. Chế độ tương tác cung cấp giao diện đồ họa và quy trình làm việc có hướng dẫn để tạo và cấu hình cơ sở dữ liệu. Chế độ không tương tác / im lặng cho phép bạn tạo kịch bản cho việc tạo cơ sở dữ liệu. Bạn có thể chạy DBCA ở chế độ không tương tác / im lặng bằng cách chỉ định đối số dòng lệnh, tệp phản hồi hoặc cả hai.
Oracle DBCA - tạo cơ sở dữ liệuKhi một cơ sở dữ liệu được tạo, bạn có thể truy cập nó bằng một ứng dụng khách chuyên dụng có tên là sqlplus. SQL * Plus là một chương trình khách hàng đầu cuối mà bạn có thể truy cập Cơ sở dữ liệu Oracle.
MSSQL
SQL Server Management Studio (SSMS) là công cụ chính để quản trị Cơ sở dữ liệu và viết mã Transact-SQL. SSMS có sẵn dưới dạng bản tải xuống miễn phí từ Trung tâm Tải xuống của Microsoft. Phiên bản mới nhất có thể được sử dụng với các phiên bản cũ hơn của Công cụ cơ sở dữ liệu.
Management Studio là một phương pháp ưa thích để tạo cơ sở dữ liệu mới. Để tạo cơ sở dữ liệu trong Microsoft SQL Server, hãy kết nối với máy tính đã cài đặt Microsoft SQL Server bằng tài khoản quản trị viên.
Khởi động Microsoft SQL Server Management Studio và chọn tạo tùy chọn cơ sở dữ liệu. Quy trình hướng dẫn sẽ hướng dẫn bạn qua quy trình này. Nếu bạn thích dòng lệnh, điều này có thể được thực hiện với cú pháp TẠO CƠ SỞ DỮ LIỆU.
MySQL
Để truy cập cơ sở dữ liệu MySQL của bạn, hãy sử dụng ứng dụng khách mysql. Việc tạo cơ sở dữ liệu đơn giản như TẠO CƠ SỞ DỮ LIỆU
PostgreSQL
Cơ sở dữ liệu PostgreSQL có tùy chọn cho nhiều 'lược đồ' hoạt động tương tự như cơ sở dữ liệu trong MySQL.
Các lược đồ chứa các bảng, chỉ mục, v.v. và có thể được truy cập đồng thời bằng cùng một kết nối với cơ sở dữ liệu chứa chúng. Các phương thức truy cập cho PostgreSQL được định nghĩa trong một tệp:pg_hba.conf. Nó có thể được đặt ở nhiều nơi khác nhau. Trên Ubuntu 14.04, nó được đặt trong /etc/postgresql/9.3/main/pg_hba.conf, mặt khác trên Centos 7, nó được đặt theo mặc định trong /var/lib/pgsql/data/pg_hba.conf.
Quá trình sao lưu
Oracle
Oracle có công cụ sao lưu tích hợp chuyên dụng, phức tạp nhất trong số bốn máy chủ được mô tả ở đây; nó được gọi là Trình quản lý khôi phục (RMAN).
RMAN cho phép bạn chạy các chính sách sao lưu phức tạp và khôi phục có chọn lọc. Các hoạt động tương tự thường yêu cầu nhiều bước thủ công trong RDBMS khác.
Chúng tôi có thể sao lưu theo hai cách:
- vô hiệu hóa cơ sở dữ liệu và sao chép các tệp vật lý (còn gọi là sao lưu lạnh)
- sử dụng RMAN và sao lưu mà không cần tắt cơ sở dữ liệu (sao lưu nóng)
Để tạo một bản sao lưu nóng, hãy đặt đế ở chế độ ARCHIVELOG. Điều này sẽ yêu cầu Oracle không giữ bản sao của các tệp nhật ký làm lại dưới dạng tệp lưu trữ.
MSSQL
Trong thế giới MS SQL, bạn có thể sử dụng các lệnh T-SQL cài sẵn để sao lưu và khôi phục cơ sở dữ liệu. Không cần sử dụng các công cụ như mysqlhotcopy và mysqldump.
MS SQL Server cung cấp ba chiến lược sao lưu trực tuyến khác nhau:
- Mô hình khôi phục đơn giản (ALTER DATABASE dbname SET RECOVERY ĐƠN GIẢN)
- Mô hình khôi phục đầy đủ (ALTER DATABASE dbname SET RECOVERY FULL)
- Mô hình khôi phục được ghi nhật ký hàng loạt (ALTER DATABASE dbname SET RECOVERY BULK_LOGGED)
Mô hình được đề xuất là khôi phục toàn bộ nếu không có mất mát dữ liệu nào được chấp nhận. Chế độ này tương tự như tính năng MySQL khi bật bản ghi nhị phân. Bạn có thể khôi phục cơ sở dữ liệu vào bất kỳ thời điểm nào, nhưng bạn nên thường xuyên sao lưu nhật ký giao dịch cũng như cơ sở dữ liệu.
Mô hình ghi nhật ký hàng loạt có thể được sử dụng cho các hoạt động hàng loạt lớn như nhập dữ liệu hoặc tạo chỉ mục trên các bảng lớn. Đây là phương pháp ít phổ biến hơn để chạy cơ sở dữ liệu, đặc biệt là sản xuất. Nó không hỗ trợ khôi phục tại chỗ nên thường được sử dụng như một giải pháp tạm thời.
Mô hình Đơn giản hữu ích khi cơ sở dữ liệu hiếm khi được cập nhật hoặc cho các mục đích thử nghiệm và phát triển. Ở chế độ ĐƠN GIẢN, nhật ký giao dịch của cơ sở dữ liệu được cắt mỗi lần sau khi giao dịch hoàn tất. Trong các chế độ khác, nhật ký được cắt ngắn thông qua câu lệnh CHECKPOINT hoặc sau tệp sao lưu giao dịch. Trong trường hợp cơ sở dữ liệu bị hỏng, chỉ có thể khôi phục bản sao lưu gần đây nhất và tất cả các thay đổi kể từ khi bản sao lưu này bị mất.
MySQL
Hai tiện ích sao lưu phổ biến nhất có sẵn cho MySQL và MariaDB, đó là sao lưu lôgic mysqldump và sao lưu nhị phân Percona XtraBackup và MariaBackup (một nhánh của Percona XtraBackup). Phiên bản MySQL Enterprise cũng cung cấp mysqlbackup tương tự như các công cụ sao lưu nóng XtraBackup và MariaBackup.
PostgreSQL
Hầu hết các DBMS đều cung cấp một số công cụ sao lưu tích hợp sẵn. PostgreSQL có pg_dump và pg_dumpall ra khỏi hộp. Tuy nhiên, bạn có thể muốn sử dụng một số công cụ khác cho cơ sở dữ liệu sản xuất của mình. Bạn có thể tìm thêm thông tin trong bài viết về các công cụ sao lưu hàng đầu cho PostgreSQL.
Kiểm soát việc thực thi Truy vấn và hỗ trợ đồng thời
Oracle
Trong Oracle, tất cả các đối tượng cơ sở dữ liệu được nhóm theo các lược đồ. Lược đồ là tập hợp các đối tượng cơ sở dữ liệu và tất cả các đối tượng cơ sở dữ liệu được chia sẻ giữa tất cả các lược đồ và người dùng. Nó có thể được dịch sang cơ sở dữ liệu MySQL. Mặc dù tất cả đều được chia sẻ, mỗi người dùng có thể bị giới hạn trong một số lược đồ và bảng nhất định thông qua vai trò và quyền. Khái niệm này khá giống với cơ sở dữ liệu MySQL. Xin chào
MSSQL
MS SQL Server tổ chức tất cả các đối tượng, chẳng hạn như bảng, dạng xem và thủ tục, theo tên cơ sở dữ liệu. Người dùng được chỉ định đăng nhập, được cấp quyền truy cập vào cơ sở dữ liệu cụ thể và các đối tượng của nó. Ngoài ra, trong SQL Server mỗi cơ sở dữ liệu có một tệp đĩa riêng, không được chia sẻ trên máy chủ.
MySQL
MySQL chỉ có hỗ trợ MVCC trong InnoDB. Nó là một công cụ lưu trữ và theo mặc định là có sẵn trong MySQL. Nó cũng cung cấp các tính năng khiếu nại ACID như hỗ trợ khóa ngoại và xử lý giao dịch. Theo mặc định, mỗi truy vấn được coi là một giao dịch riêng biệt, đây là một cách tiếp cận khác với trong Oracle DB.
PostgreSQL
Công cụ Postgres thực hiện điều khiển đồng thời bằng cách sử dụng một phương pháp được gọi là MVCC (Điều khiển đồng thời đa vũ trụ). Đối với mọi người dùng được kết nối với cơ sở dữ liệu, cơ sở dữ liệu Postgres cung cấp một ảnh chụp nhanh của cơ sở dữ liệu tại một phiên bản cụ thể. Khi cơ sở dữ liệu phải cập nhật một mục, nó sẽ thêm phiên bản mới hơn và chỉ ra phiên bản cũ là lỗi thời. Nó cho phép cơ sở dữ liệu tiết kiệm chi phí nhưng yêu cầu quét theo quy định để xóa dữ liệu cũ, lỗi thời.
Bảo mật
Oracle
Các tính năng bảo mật rất tuyệt vời, hệ thống cung cấp bảo mật nhiều lớp bao gồm các biện pháp kiểm soát để đánh giá rủi ro, ngăn chặn tiết lộ dữ liệu trái phép, phát hiện và báo cáo về các hoạt động cơ sở dữ liệu và thực thi các kiểm soát truy cập dữ liệu.
MSSQL
Các tính năng bảo mật còn khiêm tốn, RDBMS cung cấp ít tính năng hơn Oracle nhưng vẫn hơn nhiều so với các hệ thống cơ sở dữ liệu Nguồn mở.
MySQL
MySQL triển khai bảo mật dựa trên Danh sách kiểm soát truy cập (ACL) cho tất cả các kết nối, truy vấn và các hoạt động khác mà người dùng có thể cố gắng thực hiện. Ngoài ra còn có một số hỗ trợ cho các kết nối được mã hóa SSL giữa máy khách và máy chủ MySQL.
PostgreSQL
PostgreSQL có ROLES và các vai trò kế thừa để thiết lập và duy trì các quyền. PostgreSQL có hỗ trợ SSL riêng cho các kết nối để mã hóa giao tiếp máy khách / máy chủ. Nó cũng có Bảo mật cấp độ hàng.
Ngoài ra, PostgreSQL còn đi kèm với một tính năng nâng cao tích hợp có tên là SE-PostgreSQL, cung cấp các kiểm soát truy cập bổ sung dựa trên chính sách bảo mật của SELinux. Thêm chi tiết tại đây.
Hỗ trợ cộng đồng
Oracle
Cơ sở dữ liệu Oracle, tương tự như MySQL, có một cộng đồng lớn, chủ yếu được tổ chức xung quanh https://community.oracle.com và các nhóm đam mê ở bất kỳ địa điểm nào trên thế giới như https://poug.org/en/. Hỗ trợ trả phí cung cấp cho bạn quyền truy cập vào nhóm hỗ trợ trước đây được gọi là metalink, không phải support.oracle.com.
MSSQL
So với các hệ thống cơ sở dữ liệu khác, MSSQL có lẽ có ít nhóm cộng đồng được tổ chức nhất nhưng vẫn hoạt động rất tích cực. Microsoft đã làm rất tốt trong việc quảng bá sản phẩm của mình trong các trường đại học. Điều này cho phép các nhà phát triển trẻ, nhà phát triển và DBA dễ dàng truy cập vào công nghệ (giấy phép miễn phí) và bất kỳ tài liệu cần thiết nào.
MySQL
MySQL có một cộng đồng lớn những người đóng góp, đặc biệt là sau khi Oracle mua lại, chủ yếu tập trung vào việc duy trì các tính năng hiện có với một số tính năng mới thỉnh thoảng xuất hiện. Lợi thế so với các cơ sở dữ liệu nguồn mở khác là một hệ sinh thái của nhà cung cấp bên ngoài rất mạnh. Các công ty như MariaDB và Percona không chỉ cung cấp hỗ trợ tuyệt vời mà còn đóng góp bằng cách thêm các tính năng doanh nghiệp vào các phiên bản nguồn mở của họ.
PostgreSQL
PostgreSQL có một cộng đồng rất mạnh mẽ và tích cực. Cộng đồng của nó cải thiện các tính năng hiện có trong khi những người cam kết sáng tạo của nó cố gắng đảm bảo nó vẫn là cơ sở dữ liệu tiên tiến nhất với các tính năng và bảo mật mới, hạn chế khoảng cách giữa cơ sở dữ liệu Oracle và MSSQL. PostgreSQL được biết đến là có nhiều tính năng hơn các RDBMS khác trên thị trường.
Tùy chọn sao chép
Oracle
Oracle cung cấp bản sao logic và vật lý thông qua Oracle Data Guard được tích hợp sẵn. Đây là một tính năng dành cho doanh nghiệp.
Data Guard là công nghệ Ship Redo / Apply Redo, "redo" là thông tin cần thiết để khôi phục các giao dịch.
Cơ sở dữ liệu sản xuất được gọi là cơ sở dữ liệu chính phát sóng làm lại đến một hoặc nhiều bản sao được gọi là cơ sở dữ liệu dự phòng. Khi thực hiện chèn hoặc cập nhật vào bảng, người viết nhật ký sẽ ghi lại thay đổi này vào nhật ký lưu trữ và sao chép sang hệ thống chờ.
Cơ sở dữ liệu dự phòng đang trong giai đoạn phục hồi liên tục, xác minh và áp dụng làm lại để duy trì đồng bộ hóa với cơ sở dữ liệu chính. Cơ sở dữ liệu dự phòng cũng sẽ tự động đồng bộ hóa lại nếu nó bị ngắt kết nối tạm thời với cơ sở dữ liệu chính do mất điện, sự cố mạng, v.v.
Để có các tùy chọn sao chép linh hoạt hơn như đa nguồn, sao chép có chọn lọc, bạn nên xem xét một công cụ trả phí bổ sung, Oracle Golden Gate.
MSSQL
Microsoft SQL Server cung cấp các loại sao chép sau để sử dụng trong các ứng dụng phân tán:
- Sao chép giao dịch
- Hợp nhất sao chép
- Sao chép ảnh chụp nhanh
Nó có thể được mở rộng đáng kể với Dịch vụ Tích hợp của Microsoft, cung cấp cho bạn một tùy chọn để tùy chỉnh luồng sao chép ra khỏi hộp.
PostgreSQL
PostgreSQL có sẵn một số tùy chọn, mỗi tùy chọn đều có ưu và nhược điểm riêng, tùy thuộc vào những gì cần thiết thông qua nhân rộng. Các tùy chọn xây dựng dựa trên Ghi nhật ký phía trước. Các tệp được chuyển đến một máy chủ dự phòng nơi chúng được đọc và phát lại, hoặc Streaming Replication, nơi máy chủ chờ chỉ đọc tìm nạp nhật ký giao dịch qua kết nối cơ sở dữ liệu để phát lại chúng. Trong trường hợp kiến trúc sao chép phức tạp hơn, bạn có thể muốn kiểm tra Slony (chủ cho nhiều nô lệ) hoặc Bucardo (đa chủ).
MySQL
MySQL Replication có lẽ là giải pháp có tính khả dụng cao phổ biến nhất cho MySQL,
và được sử dụng rộng rãi bởi các dịch vụ web hàng đầu.
Thiết lập dễ dàng nhưng việc bảo trì liên tục như nâng cấp phần mềm, thay đổi lược đồ, thay đổi cấu trúc liên kết, chuyển đổi dự phòng và khôi phục luôn khó khăn.
Việc sao chép MySQL không yêu cầu bất kỳ công cụ nào của bên thứ ba, cả master-slave và multimaster đều có thể được thực hiện ngay lập tức.
Các phiên bản gần đây của MySQL đã thêm bản sao đa nguồn và id giao dịch toàn cầu, giúp nó trở nên đáng tin cậy hơn và dễ bảo trì hơn.
Kết luận
Các cơ sở dữ liệu ưu tiên như Oracle và MSSQL cung cấp hệ thống quản lý mạnh mẽ và hỗ trợ tốt. Trong số danh sách dài các tính năng được hỗ trợ, người dùng có thể có được cảm giác yên tâm khi truy cập vào hệ thống kiến thức trả phí và hỗ trợ doanh nghiệp.
Mặt khác, chi phí của giấy phép, không quá chênh lệch về tính năng và các plugin dành cho doanh nghiệp, sẽ khiến bạn mong muốn chuyển sang quyết định nguồn mở dễ dàng hơn bao giờ hết.
Sử dụng các quy trình xác định trước và tự động hóa không chỉ có thể giúp bạn tiết kiệm thời gian mà còn bảo vệ bạn khỏi những sai lầm phổ biến.
Một nền tảng quản lý giải quyết một cách có hệ thống tất cả các khía cạnh khác nhau của vòng đời cơ sở dữ liệu sẽ mạnh mẽ hơn việc chắp vá một số giải pháp điểm với nhau.