2012-05-18 67 views
5

Tôi đang xem xét để xây dựng một hệ thống để làm việc với ngôn ngữ bản địa, thẻ và dữ liệu đó trong Yii Framework.Yii Sử dụng mongo DB và MySQL cùng một lúc

Tôi đã chọn MongoDB để lưu trữ dữ liệu của mình vì tôi cho rằng nó hấp dẫn và sẽ có hiệu suất tốt hơn với chi phí thấp hơn (cơ sở dữ liệu sẽ có lượng dữ liệu khổng lồ).

Câu hỏi của tôi liên quan đến xác thực người dùng, thanh toán, v.v ... Đây là các thông tin nhạy cảm và các khu vực mà tôi cho rằng dữ liệu là quan hệ.

Vì vậy: 1. Bạn có sử dụng hai hệ thống db khác nhau không? Tôi có cần chúng hay tôi đang làm phức tạp điều này? 2. Nếu bạn đề nghị phương pháp tiếp cận hai db làm thế nào tôi sẽ đạt được điều đó trong Yii?

Cảm ơn bạn đã dành thời gian!

PS: Tôi không có ý định đặt câu hỏi này là một cuộc thảo luận bất tận giữa những người quan hệ và không quan hệ với nhau. Có nói rằng tôi nghĩ rằng dữ liệu của tôi rất mong muốn nhưng nếu bạn có điều gì đó để nói về điều đó;)

Trả lời

8

Bạn có thể quan tâm đến this presentation trên cơ sở hạ tầng của OpenSky, nơi MongoDB được sử dụng cùng với MySQL. Mongo được sử dụng chủ yếu cho dữ liệu kiểu CMS, trong đó một lược đồ linh hoạt là hữu ích và họ dựa vào MySQL cho các giao dịch (ví dụ: các lệnh của khách hàng, các khoản thanh toán). Nếu bạn kết thúc bằng cách sử dụng thư viện Doctrine, bạn sẽ thấy rằng ORM (đối với cơ sở dữ liệu SQL) và MongoDB ODM chia sẻ một API tương tự, điều này sẽ làm cho quá trình thử nghiệm dễ dàng hơn.

Tôi không ngại sử dụng MongoDB để lưu trữ dữ liệu người dùng, vì đó thường là bản ghi có thể hưởng lợi từ lưu trữ tài liệu được nhúng (ví dụ: lưu trữ nhiều địa chỉ thanh toán/giao hàng trong một tài liệu người dùng). Nếu bất cứ điều gì, Mongo phải đủ linh hoạt để cho phép bạn phát triển ứng dụng của mình mà không phải lo lắng về những thay đổi về lược đồ do các yêu cầu sản phẩm đang phát triển. Khi những yêu cầu đó trở nên rõ ràng hơn, bạn sẽ có thể đưa ra quyết định dựa trên nhu cầu hiệu suất của ứng dụng và các loại truy vấn cơ sở dữ liệu mà bạn cần.

+0

Câu trả lời hay. Cảm ơn! – jribeiro

0

Không có hại trong việc sử dụng nhiều cơ sở dữ liệu (nếu bạn thực sự cần), nhiều trang web lớn đang sử dụng nhiều cơ sở dữ liệu đi đầu và bắt đầu dự án của bạn.

+0

Trộn NoSQL và dbs quan hệ không bao giờ là điều tốt. Trừ khi có nhu cầu thực sự. Bạn thường đi tất cả trên NoSQL hoặc bạn không. Tại công ty của tôi, chúng tôi có một trang web lớn, chúng tôi sử dụng MySQL cho dữ liệu, nhưng chúng tôi sử dụng mongodb GridFS để lưu trữ các tệp. Chỉ để lưu trữ các tập tin như MongoDB GridFs là hoàn hảo cho việc này. – Flukey

Các vấn đề liên quan