Tin tức và phân tích của tất cả các thiết bị di động

Cách so sánh cơ sở dữ liệu quan hệ AWS

Cơ sở dữ liệu quan hệ trong một thời gian dài đã là giải pháp tiêu chuẩn cho nhiều trường hợp sử dụng phần mềm khác nhau (và gần như tất cả) mà các công ty lớn hay nhỏ phải giải quyết.

Ngày nay, sự biến động lớn hơn nhiều do sự sẵn có rộng rãi hơn của cơ sở dữ liệu NoSQL, trong bộ nhớ hoặc kho dữ liệu. Nhưng ngay cả như vậy, bất cứ khi nào có quyết định di chuyển cơ sở dữ liệu tại chỗ hiện tại sang đám mây, cơ sở dữ liệu quan hệ làm mục tiêu vẫn là lựa chọn đơn giản nhất cho quá trình chuyển đổi này.

Chúng tôi sẽ xem xét kỹ hơn các cơ sở dữ liệu sau đây có thể là một phần của sáng kiến ​​​​như vậy:

  • Lời tiên tri
  • đèn phía bắc
  • Máy chủ Microsoft SQL
  • MySQL và PostgreSQL
  • MariaDB

Tôi sẽ giải thích chúng khác với những cái khác như thế nào và điểm khác biệt của chúng, bao gồm cả những nhược điểm của chúng. Sau đó tôi sẽ đặt chúng vào ngữ cảnh bằng cách trình bày một ví dụ sử dụng điển hình trong thế giới thực. Cuối cùng, tôi sẽ chia sẻ quan điểm của mình về việc chọn các cơ sở dữ liệu khác nhau cho trường hợp của bạn.

Cơ sở dữ liệu AWS Oracle

Nguồn: aws.amazon.com

Oracle DB chắc chắn là cơ sở dữ liệu thương mại được sử dụng rộng rãi nhất trong vài thập kỷ qua. Bất cứ khi nào một công ty cần một giải pháp cơ sở dữ liệu đáng tin cậy và hiệu quả, Oracle DB là lựa chọn đầu tiên. Và vì nhiều lý do tốt.

Nó khác biệt như thế nào

Oracle là một nền tảng mạnh mẽ và giàu tính năng, có thể xử lý một số lượng lớn các cấu hình và yêu cầu hoàn toàn khác nhau. Theo thời gian, cơ sở dữ liệu này đã trở thành giải pháp tốt nhất nếu bạn cần độ tin cậy, khả năng mở rộng và khả năng bảo trì hiện đại trong cơ sở hạ tầng phần cứng cục bộ của mình.

Ưu điểm chính

Dưới đây là một số lợi ích chính của việc chọn hệ thống cơ sở dữ liệu hoàn thiện như Oracle:

✅ Hỗ trợ và tùy chọn tuyệt vời để sao lưu và khôi phục hiệu quả.

✅ Nhiều khả năng tinh chỉnh hiệu suất của giải pháp DB bên trong hệ thống. Thậm chí rất lâu sau, giải pháp này đã được đưa vào sản xuất. Các hoạt động hỗ trợ và bảo trì trong nền tảng này thực sự dễ thiết lập và rất hiệu quả.

✅ Tính cá nhân hóa cao của giải pháp DB. Do cơ sở dữ liệu Oracle hỗ trợ nhiều tính năng để lựa chọn nên với tư cách là nhà tích hợp hệ thống, bạn có nhiều tùy chọn để xây dựng một hệ thống mạnh mẽ bao gồm chính xác các tính năng mà nền tảng của bạn cần (trình kích hoạt, phân vùng, phân vùng phụ, chuỗi khóa chính tự động, dạng xem, ảnh chụp nhanh , ràng buộc dữ liệu, khóa duy nhất, khóa kết hợp, khóa ngoại, chỉ mục tổng hợp, v.v.). Nó xử lý mọi thứ.

✅ Dễ dàng quản trị các hoạt động và quy trình cơ sở dữ liệu. Bảng điều khiển và bảng điều khiển dành riêng cho quản trị viên cũng như nhiều công cụ do Oracle tạo ra và dành riêng cho quản trị viên để sử dụng ngay lập tức.

✅ Hỗ trợ môi trường nhiều người dùng. Nếu bạn cần hỗ trợ hàng nghìn người dùng đang hoạt động khác nhau cùng lúc, Oracle chính là giải pháp.

Nhược điểm chính

Oracle DB rất linh hoạt trong cách điều chỉnh hiệu suất theo chiều dọc. Nhưng ít hơn khi bạn cần chia tỷ lệ theo chiều ngang mạnh mẽ. Điều này có nghĩa là thật dễ dàng để nâng cấp lên bộ xử lý mạnh hơn, nhiều bộ nhớ hơn và không gian cơ sở dữ liệu cụm.

Nhưng nếu dữ liệu của bạn tăng trưởng đáng kể trong một khoảng thời gian ngắn – thường xảy ra với dữ liệu đám mây – thì các nút thắt về hiệu suất sẽ trở nên rõ ràng hơn và khó giải quyết hơn. Việc truyền bá dữ liệu trên nhiều cụm và mong đợi chúng phát triển linh hoạt sẽ trở thành một yêu cầu chính trong tương lai. Trong trường hợp này, bạn có thể thấy rằng Oracle DB trở nên hạn chế hơn so với khả năng đáp ứng trong tương lai.

Một bất lợi khác có thể là chi phí. Oracle DB hỗ trợ nhiều tính năng, nhưng nhiều tính năng trong số đó cũng có tính phí. Thậm chí còn hơn thế nữa nếu có một số cụm và cần phải cập nhật hiệu suất vật lý. Điều này có nghĩa là việc điều chỉnh phần mềm mô hình dữ liệu không còn đủ nữa. Để có thêm các công cụ và tính năng quản trị, bạn phải mua giấy phép doanh nghiệp. Điều này sẽ làm tăng thêm chi phí vốn đã cao.

Cuối cùng, Oracle DB không phải là dịch vụ AWS DB gốc, nghĩa là bạn không nên mong đợi sự hỗ trợ đầy đủ từ AWS. Thay vào đó, hãy hướng bản thân đến sự hỗ trợ của Oracle. Nhưng sau đó, hãy giải quyết song song các vấn đề của Oracle và AWS với hai nhóm hỗ trợ khác nhau.

khi nào nên chọn

Chọn đám mây tương đương với Oracle DB là quyết định tự nhiên nhất khi giải pháp tại chỗ hiện tại của bạn đã sử dụng cơ sở dữ liệu Oracle. Nó cũng sẽ giúp việc di chuyển và chuyển đổi sang giải pháp dựa trên đám mây trở nên dễ dàng nhất có thể.

Vì vậy, hãy chọn AWS Oracle DB cho:

  • Bạn mong đợi cơ sở dữ liệu đám mây hỗ trợ các quy trình và chức năng tương tự như phiên bản tại chỗ trong tương lai gần.
  • Bạn không có kế hoạch sớm tích hợp cơ sở dữ liệu của mình với quá nhiều dịch vụ AWS gốc.
  • Bạn không mong đợi khối lượng dữ liệu hiện tại của mình sẽ tăng đáng kể trong một khoảng thời gian ngắn.
  • Bạn cần hỗ trợ một lượng lớn chức năng trên trang web. Điều này có nghĩa là khi di chuyển lên đám mây, sẽ khó có thể mất đi một số dữ liệu hiện có.
  • Hệ thống của bạn phải hỗ trợ hàng trăm người dùng đang hoạt động (hoặc nhiều hơn) cùng một lúc.

Ví dụ về sử dụng

  • Hệ thống viễn thông lớn dành cho dữ liệu thanh toán, CRM và phần mềm trung gian.
  • Triển khai cơ sở dữ liệu tùy chỉnh cho hệ thống cơ sở dữ liệu ô tô, được tích hợp với một số công cụ tùy chỉnh hoặc của bên thứ ba.
  • Các giải pháp hệ thống đi kèm dành cho lĩnh vực ngân hàng trong đó Oracle đã là một phần cố định của gói giải pháp do nhà cung cấp cung cấp và cuối cùng tích hợp các thành phần cơ sở dữ liệu tùy chỉnh bổ sung vào một triển khai phức tạp.

Cơ sở dữ liệu AWS Aurora

Nguồn: aws.amazon.com

Theo nhiều cách, Aurora đối lập trực tiếp với Oracle, ngay cả khi nó vẫn là cơ sở dữ liệu quan hệ.

Nó khác biệt như thế nào

DB của tác giả là một dịch vụ cơ sở dữ liệu gốc trên AWS. AWS cung cấp cho nó sự hỗ trợ đầy đủ và phát triển liên tục, đồng thời tích hợp sâu với phần còn lại của hệ sinh thái dịch vụ AWS.

Aurora DB không đạt được mức độ đa dạng về chức năng mà Oracle đã có. Nhưng nó được sinh ra trên đám mây (không giống như Oracle). Khi AWS tiếp tục phát triển Aurora, khoảng cách về chức năng trong tương lai có thể sẽ nhỏ hơn so với hiện nay.

Về nhiều mặt, Aurora đã đi trước Oracle, đặc biệt là về khả năng tích hợp với các dịch vụ đám mây AWS khác. Và bởi vì Amazon đã tạo ra Aurora chú trọng đến hệ sinh thái đám mây, Aurora sẵn sàng đạt được doanh thu dữ liệu khổng lồ và tăng trưởng theo thời gian, vì vậy việc mở rộng quy mô là một đặc tính mạnh mẽ.

Ưu điểm chính

Tôi có thể nói những ưu điểm chính của Aurora DB là:

✅ Khả năng mở rộng rất linh hoạt của các phiên bản sao chép DB chỉ đọc. Những cái bạn có thể tạo trong vài giây. Các phiên bản chỉ đọc chia sẻ cùng một nhật ký DB chính mà chúng bắt nguồn từ đó. Điều này có nghĩa là việc tạo cơ sở dữ liệu chỉ đọc mới không yêu cầu phải đồng bộ hóa tất cả dữ liệu; nó thực hiện điều này một cách tự động bằng cách cung cấp những cái hiện có.

✅ Sẵn sàng cho việc tăng trưởng dữ liệu lớn – mở rộng quy mô theo chiều ngang là một tính năng quan trọng của Aurora DB. Việc thêm các cụm mới và mở rộng khả năng mở rộng trên các vùng sẵn sàng dễ dàng nhất có thể. Aurora sau đó rất hiệu quả trong việc chọn ra lượng lớn dữ liệu một cách nhanh chóng.

✅ Bạn có thể chọn sử dụng máy chủ Aurora DB hay chế độ serverless. Một số tính năng sẽ không khả dụng ở chế độ không có máy chủ. Nhưng bằng cách chọn chế độ không có máy chủ, bạn sẽ có được sự linh hoạt và tối ưu hóa chi phí rất nhiều.

✅ Sao lưu tự động và khôi phục tại thời điểm dễ dàng. Một ưu điểm khác là Aurora DB có thể thực hiện sao lưu hàng ngày dễ dàng và việc khôi phục cơ sở dữ liệu đầy đủ vào bất kỳ thời điểm nào cũng đơn giản hơn nhiều. Bạn có thể kết hợp tất cả lợi thế của môi trường đám mây tại đây, chẳng hạn như không gian trống luôn sẵn có, hoạt động nội bộ nhanh của AWS và tính năng Aurora DB chuyên dụng nhằm mang lại thời gian phục hồi nhanh và thời gian ngừng hoạt động thấp.

✅ Hỗ trợ công cụ MySQL hoặc PostgreSQL DB, vì vậy bạn có thể chọn cái nào phù hợp với mình.

Nhược điểm chính

  • Mặc dù Aurora được cho là cơ sở dữ liệu quan hệ gốc giàu tính năng nhất mà bạn có thể chọn trên AWS, nhưng nó vẫn tụt hậu so với Oracle về mặt này. Điều này có thể hiểu được; Trước đây, Oracle có nhiều thời gian hơn để phát triển các tính năng này. Thực tế là Aurora DB mạnh hơn và gần gũi hơn qua mỗi bản phát hành.
  • Không có giải pháp tương đương với Aurora DB trong không gian tại chỗ. Người ta có thể lập luận rằng các cơ sở dữ liệu cũ được xây dựng trong cơ sở dữ liệu MySQL hoặc PostgreSQL rất giống nhau – và từ quan điểm tương thích thì chúng chắc chắn là như vậy. Nhưng chúng không phải là một trận đấu chính xác. Điều này có nghĩa là việc di chuyển sẽ không đơn giản như vậy. Bạn sẽ cần điều chỉnh và triển khai các quy trình di chuyển để đảm bảo rằng chúng di chuyển dữ liệu từ môi trường cục bộ của bạn và lưu trữ dữ liệu đó trong Aurora DB, tất cả đều ở định dạng mô hình dữ liệu chính xác.
  • Các giới hạn khác nhau của AWS, đặc biệt là các giới hạn khó, là yếu tố trong một số trường hợp có thể khiến bạn không muốn chọn cơ sở dữ liệu này làm mục tiêu cho hành động tiếp theo. Rất có thể bạn sẽ giải quyết được tất cả các cơ sở dữ liệu đó, nhưng đối với một số cơ sở dữ liệu, bạn sẽ cần đầu tư nghiêm túc hơn vào việc tái cấu trúc, điều này cuối cùng có thể làm tăng chi phí di chuyển tổng thể của bạn so với cơ sở dữ liệu mục tiêu khác.

khi nào nên chọn

Nói tóm lại, việc chọn Aurora DB làm cơ sở dữ liệu quan hệ goto của bạn trên AWS không bao giờ là một quyết định tồi, nhưng hãy làm điều đó đặc biệt nếu:

  • Bạn sẽ xây dựng một hệ thống đám mây từ đầu xung quanh cơ sở dữ liệu quan hệ.
  • Bạn mong đợi mức độ tương thích và tính toàn vẹn cao nhất với nhiều dịch vụ AWS gốc khác nhau nhất có thể.
  • Bạn mong đợi khối lượng dữ liệu của mình sẽ tăng đáng kể trong một khoảng thời gian ngắn.
  • Bạn dự định bắt đầu một số dự án phụ bằng chứng khái niệm (POC), trong đó bạn có thể tận dụng tất cả lợi ích của phiên bản không có máy chủ của cơ sở dữ liệu quan hệ.

Ví dụ về sử dụng

  • Một nền tảng không có máy chủ để phân tích lượng lớn dữ liệu hình ảnh cơ sở hạ tầng.
  • Sử dụng các mô hình học máy để xử lý thông tin hồ dữ liệu và tạo dự đoán kinh doanh cho doanh nghiệp của bạn.
  • Netflix sử dụng Aurora DB để nhanh chóng thực hiện các truy vấn song song cho dữ liệu thư mục.

Cơ sở dữ liệu Microsoft SQL của AWS

Nguồn: aws.amazon.com

Cơ sở dữ liệu này có thể so sánh với Oracle về một số mặt. Nó cũng được tạo ra từ rất lâu trước khi đám mây ra đời, với nhiều người dùng tại chỗ hiện tại có kế hoạch di chuyển sang đám mây bằng cách sử dụng cơ sở dữ liệu MS SQL làm nguồn.

Nó khác biệt như thế nào

Bất chấp những điểm tương đồng này, MS SQL DB vẫn là phiên bản trước đây ít được sử dụng hơn nhiều so với Oracle DB.

Ít nhất là từ kinh nghiệm cá nhân của tôi. Tôi đã tham gia vào nhiều dự án của Oracle trong hai thập kỷ qua, nhưng chỉ có một vài dự án có MS SQL DB tham gia. Và thành thật mà nói, tôi không thích giải quyết nó nhiều như với Oracle DB.

Dù sao, tôi vẫn nhận ra một bộ phận lớn các công ty sử dụng MS SQL DB làm cơ sở dữ liệu chính của họ, đây là điểm trung thực duy nhất cho tất cả dữ liệu.

Ưu điểm chính

Những ưu điểm chính mà MS SQL DB có:

✅ Tích hợp tốt với các dịch vụ và phần mềm khác của Microsoft nếu đó là tính năng mà bạn thấy có giá trị trong trường hợp của mình.

✅ Dễ dàng tùy chỉnh với các phần mở rộng mã tùy chỉnh, chủ yếu ở dạng mô-đun mã JavaScript. Điều này có thể hữu ích cho các quy trình và nhiệm vụ kinh doanh phức tạp hơn cần được lên lịch trong cơ sở dữ liệu.

✅ Khá đơn giản về mặt quản trị (ít nhất là so với Oracle DB).

✅ Nó có lẽ có ý nghĩa hơn nhiều trong hệ sinh thái đám mây Azure, vì ở đó nó được coi là hệ thống cơ sở dữ liệu quan hệ gốc, tương thích hơn nhiều với các dịch vụ đám mây khác.

Nhược điểm chính

  • Giống như Oracle DB, với tư cách là cơ sở dữ liệu không phải gốc trong không gian đám mây AWS, tất cả hoạt động hỗ trợ và khắc phục sự cố phải được xử lý bởi các nhóm hỗ trợ MS SQL chuyên dụng riêng biệt.
  • Ít thay đổi hơn về hỗ trợ chức năng so với Oracle DB hoặc Aurora DB.
  • Không phù hợp với số lượng lớn người dùng hoạt động.
  • Khả năng mở rộng theo chiều ngang thậm chí còn là một vấn đề lớn hơn so với Oracle DB.

khi nào nên chọn

Cơ sở dữ liệu MS SQL phù hợp nhất để di chuyển cơ sở dữ liệu MS SQL tại chỗ hiện có của bạn sang đám mây mà ít gây phiền nhiễu nhất có thể. Ngoài ra, bạn không mong đợi sự tích hợp như vậy với các dịch vụ đám mây AWS khác ở mức độ lớn.

Sau đó, cơ sở dữ liệu MS SQL sẽ chạy trên đám mây AWS dưới dạng cơ sở dữ liệu được quản lý hoàn toàn với bộ nhớ không giới hạn và các tùy chọn mở rộng để có khả năng mở rộng theo chiều ngang và tính sẵn sàng cao so với giải pháp thay thế tại chỗ.

Ví dụ về sử dụng

  • Hoạt động như một nền tảng trung gian để tích hợp tùy chỉnh các hệ thống cơ sở dữ liệu khác nhau (thậm chí có thể thuộc loại khác, ví dụ như Oracle DB).
  • Nhiều dự án nhỏ hơn khác nhau trong đó chi phí của giải pháp cơ sở dữ liệu được cân nhắc và ngân sách hạn chế hơn (và không cho phép giải pháp Oracle DB chính thức).

Cơ sở dữ liệu AWS MySQL và PostgreSQL

Nguồn: aws.amazon.com

Những cơ sở dữ liệu này vốn đã mở (mặc dù chúng hiện đang được các công ty lớn hơn mua lại), điều này cuối cùng mang lại cho chúng cả ưu điểm và nhược điểm.

Chúng cũng không có nhiều tính năng như các lựa chọn thay thế khác, đặc biệt là ở dạng gốc. Và mặc dù bạn vẫn có thể sử dụng cả hai trên cơ sở hạ tầng AWS của mình nhưng tôi nghi ngờ rằng nó vẫn có nhiều ý nghĩa thực tế.

Nó khác biệt như thế nào

Khi di chuyển cơ sở dữ liệu cục bộ của bạn (có thể là MySQL hoặc PostgreSQL) sang đám mây AWS, bạn có thể chỉ cần sử dụng trực tiếp Aurora với công cụ MySQL hoặc PostgreSQL làm mục tiêu để nhận được tất cả các lợi ích bổ sung mà Aurora DB mang lại.

Tất nhiên, điều này có nghĩa là phải nỗ lực nhiều hơn trong giai đoạn di chuyển so với trường hợp chọn giải pháp thay thế gốc. Nhưng nỗ lực thêm này sẽ chỉ ở mức độ nhỏ.

Ưu điểm chính của chúng là chi phí và chúng phù hợp nhất với các sáng kiến ​​​​dự án nhỏ mà độ bền không thực sự là vấn đề.

Nhược điểm chính

  • Cả hai đều có chức năng được hỗ trợ khá hạn chế và bạn cần chuẩn bị cho các tùy chọn quản trị và bảo trì hạn chế.
  • Không phù hợp với các dự án lớn có nhiều người dùng hoạt động.
  • Không phải là giải pháp tốt nhất cho các giải pháp hiệu suất cao trong đó yêu cầu phải điều chỉnh hiệu suất liên tục.

khi nào nên chọn

  • Nếu chi phí là chủ đề chính và ngân sách của bạn rất hạn chế.
  • Nếu sáng kiến ​​​​của dự án là khá nhỏ.
  • Nếu khối lượng dữ liệu khá nhỏ và không có kế hoạch tăng đáng kể.

Ví dụ về sử dụng

  • Các sáng kiến ​​​​dự án riêng lẻ trong đó chi phí cơ sở hạ tầng phải càng thấp càng tốt.
  • Các POC nhỏ sẽ chứng minh rằng khái niệm đề xuất có thể được thực hiện.
  • Dự án kinh doanh nhỏ với ít dữ liệu.
  • Đối với các dự án SaaS nhỏ không yêu cầu khối lượng công việc cơ sở dữ liệu lớn, việc lưu trữ dữ liệu trong mô hình dữ liệu quan hệ thực sự là đủ.

AWS MariaDB

Nguồn: aws.amazon.com

MariaDB vẫn là một cơ sở dữ liệu nguồn mở hoàn toàn được tạo bởi các nhà phát triển MySQL trước đây (sau khi MySQL được Oracle mua lại).

Khi nói đến khả năng tương thích, mọi cơ sở dữ liệu MySQL sẽ hoạt động tốt trong MariaDB.

Nó khác biệt như thế nào

Về tính năng, không có nhiều khác biệt so với MySQL, nhưng tính năng quan trọng nhất là thuộc tính nguồn mở.

Về mặt kỹ thuật, có nhiều tính năng hữu ích có sẵn trong MariaDB nhưng không có trong MySQL.

Nhược điểm chính

Khá giống với trường hợp MySQL.

khi nào nên chọn

  • Nếu bạn thực sự yêu thích việc triển khai MariaDB cục bộ hiện tại của mình và không muốn di chuyển sang Aurora DB vì bất kỳ lý do gì.
  • Nếu bạn muốn duy trì nguồn mở thực sự với giải pháp cơ sở dữ liệu của mình trong hệ sinh thái đám mây AWS.

Ví dụ về sử dụng

Khá giống với trường hợp MySQL.

những từ cuối

Giống như Oracle DB là giải pháp trong thế giới tại chỗ, Aurora DB dường như chiếm vị trí của nó trong thế giới đám mây AWS. Ít nhất từ ​​góc độ bộ tính năng, đây là thứ gần nhất bạn có thể nhận được.

Và ngay cả khi bạn không thực sự quan tâm đến các bên liên quan chính, bạn nên biết rằng vẫn có những tùy chọn khá đơn giản để di chuyển cơ sở dữ liệu hiện có của bạn sang đám mây AWS.

Còn tuyệt vời hơn nữa là với nút chuyển đổi này, bạn sẽ tự động nhận được các tính năng mà rất có thể bạn đã bỏ lỡ. Quan trọng nhất, khả năng mở rộng lưu trữ tốt hơn, tính sẵn sàng cao và khả năng mở rộng theo chiều ngang là những tính năng vốn có của môi trường đám mây.

Mục lục