Postgres vs MySQL: Cái nào khó mở rộng hơn?


8

Từ kinh nghiệm của bạn, cơ sở dữ liệu nào phục vụ khó khăn hơn để mở rộng quy mô? MySQL hay Postgres? Tôi biết MySQL có một số tính năng chia tỷ lệ / phân cụm ngoài luồng, nhưng với Postgres thì không có tính năng nào vượt trội. CMIIW.

CHỈNH SỬA :

Xin lỗi vì sự nhầm lẫn ở đây, câu hỏi của tôi là đề cập đến nhân rộng (tỷ lệ ngang), tức là phân cụm, shending, v.v. Tôi biết cả hai có thể mở rộng theo chiều ngang, nhưng cái nào dễ thực hiện hơn?

Cảm ơn bạn đã chia sẻ.

Câu trả lời:


1

MySQL là một công cụ dễ dàng hơn để mở rộng quy mô, phân cụm và nhân rộng đều có nguồn gốc và thực sự dễ quản lý và thực hiện (ngay cả đối với người không thực sự có kiến ​​thức về cơ sở dữ liệu).

PostgreSQL hiện chỉ hỗ trợ sao chép cơ bản và không có gì chính thức về phân cụm (về mặt kỹ thuật bạn có thể thông qua các công cụ của bên thứ 3, nhưng nó trở thành một địa ngục để quản lý).

Tôi sẽ không bao giờ chọn Postgresql nếu tôi có kế hoạch mở rộng.

Chỉnh sửa: câu trả lời rất cũ mất một hạt muối vì postgres và mysql đã thay đổi rất nhiều kể từ khi điều này được trả lời.


Vì vậy, Postgres chỉ tốt cho cơ sở dữ liệu nguyên khối?
Joshua Partogi

Cả hai đều giỏi về cơ sở dữ liệu máy chủ, giúp bạn xem các tính năng cụ thể của MySQL hoặc
PostgreQuery

2
MySQL chắc chắn dễ dàng hơn rất nhiều, nhưng vấn đề với MySQL là nó không kiểm tra tính toàn vẹn dữ liệu. Bên cạnh đó, PostGreSQL hỗ trợ đầy đủ tính năng phân cụm và nhân rộng. Xem: wiki.postgresql.org/wiki/Clusteringwiki.postgresql.org/wiki/ Kẻ
Quandary

7
Chắc chắn có rất nhiều giải pháp để nhân rộng PostgreSQL "ra", và nhiều trang web và hệ thống lớn nhất hiện nay chỉ sử dụng điều này. MySQL sẽ dễ dàng mở rộng quy mô hơn nếu bạn đã biết mysql và postgresql sẽ dễ dàng mở rộng hơn nếu bạn đã biết postgresql . Nếu bạn không biết, chúng có thể tương đương nhau về mức độ khó của nó và bạn nên xem các thuộc tính khác của cơ sở dữ liệu để chọn một thuộc tính.
Magnus Hagander

Tôi tự hỏi nếu câu trả lời này vẫn còn có liên quan thì nó đã được trả lời gần 8 năm trước
CommonSenseCode

8

Trong khi câu hỏi này dường như đi ngược lại nguyên lý "Tránh đặt câu hỏi chủ quan hoặc tranh luận" của trang web, tôi không thể cưỡng lại việc thử trả lời.

Nó phụ thuộc.

Đang nói về một cấu hình máy chủ duy nhất chia tỷ lệ cho các bộ dữ liệu rất lớn?
Cả hai có thể hoạt động trong tình huống này tùy thuộc vào tập dữ liệu, nhưng cả hai có thể sẽ không hoạt động tốt nếu không có cấu hình tùy chỉnh và lập kế hoạch phù hợp. Theo kinh nghiệm của tôi khi làm việc trên các bộ dữ liệu lớn với nhiều bài viết tôi đã tìm thấy Postgres có ít điều kiện gây ra chặn và hiệu suất tổng thể tốt hơn.

Bạn đang nói về cấu hình nhiều máy chủ có quy mô cho nhiều nô lệ cho nhiều người đọc?
MySQL trong lịch sử đã được coi là người dẫn đầu trong không gian này vì nó được tích hợp sao chép không đồng bộ. Đây không còn là trường hợp nếu bạn không phản đối việc sử dụng phần mềm DB mới nhất; Postgres bây giờ cũng được tích hợp sẵn với phiên bản 9.0. Kinh nghiệm của tôi với bản sao của MySQL đã quá đủ cho đến thời điểm này.

Bạn đang nói về cấu hình nhiều máy chủ có quy mô cho nhiều bậc thầy cho nhiều nhà văn?
Đây là cách khó nhất để mở rộng quy mô sản phẩm và có thể tránh được nhiều lần thông qua việc sử dụng các máy chủ chuyển đổi dự phòng. Nếu bạn thực sự cần phải mở rộng quy mô để có sẵn các máy chủ chính, các cài đặt thay thế / cài đặt thay thế không thể tránh được. Đối với MySQL có MySQL Cluster NDB có tùy chọn nguồn mở hoặc phiên bản thương mại . Đối với Postgres, có rất nhiều addon có thể giúp bạn có mức HA khác nhau và gộp chung

Về lâu dài, việc mở rộng cơ sở dữ liệu của bạn thường đi vào kế hoạch thiết kế. Nếu ứng dụng của bạn được thiết kế với quy mô trong tâm trí thì hệ thống db phù hợp nhất với nhà phát triển của bạn thường là lựa chọn tốt nhất.


3

PostGre có nhiều tính năng và tùy chọn cấu hình hơn.

Do đó, có thể khó mở rộng hơn, nhưng cũng có khả năng nó sẽ mở rộng tốt hơn, nghĩa là, nếu được cấu hình đúng.

Nói chung, MySQL có thể vẫn sẽ nhanh hơn, mặt khác, câu hỏi thực sự là bạn đánh giá cao tính toàn vẹn dữ liệu đến mức nào và bạn cần những tính năng nào, và bạn có muốn phụ thuộc vào Oracle (hiện đang sở hữu MySQL) không?

Ngoài ra, có những câu hỏi về cấp phép, như bạn có thực sự muốn mua giấy phép MySQL chỉ vì bạn không muốn xuất bản ứng dụng của mình theo GPL?
Với PostGreSQL, đây không phải là vấn đề, đó là một điểm cộng rất lớn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.