Helpex - Trao đổi & giúp đỡ Đăng nhập

Kho dữ liệu so với Cloud SQL trong Google App Engine

Trịnh Ngọc Tuyết
· 11:28 07/03/2014
3 ngày trước

Tôi muốn xây dựng một ứng dụng sẽ phục vụ được nhiều người (hơn 2 triệu) nên tôi nghĩ rằng tôi nên sử dụng Google Cloud Datastore . Tuy nhiên, tôi cũng biết rằng có một tùy chọn để sử dụng Google Cloud SQL và vẫn phục vụ rất nhiều người sử dụng mySQL (giống như những gì Facebook và Youtube làm).

Đây có phải là một giả định chính xác để sử dụng Kho dữ liệu thay vì Cloud SQL quan hệ với nhiều người dùng này không? Cảm ơn bạn trước

17 hữu ích 1 bình luận 14k xem chia sẻ
Lý Bích Thu
· 17:19 07/03/2014
17:19:45 07/03/2014

Không hoàn toàn đúng khi Facebook và YouTube đang sử dụng MySQL để phục vụ phần lớn nội dung của họ cho đa số người dùng của họ. Cả hai đều chủ yếu sử dụng các cửa hàng NoSQL rất lớn (Cassandra và BigTable) để có khả năng mở rộng và có thể sử dụng MySQL cho các công việc quy mô nhỏ hơn yêu cầu lưu trữ quan hệ phức tạp hơn. Hãy thử sử dụng Datastore nếu bạn có thể, vì bạn có thể bắt đầu miễn phí và cũng sẽ tiết kiệm tiền khi xử lý khối lượng lớn dữ liệu.

19 hữu ích 1 bình luận chia sẻ
Bùi Hải Long
· 00:11 14/04/2014
00:11:15 14/04/2014

Để đưa ra câu trả lời thông minh, tôi cần biết thêm nhiều điều về ứng dụng của bạn. Nhưng ... tôi sẽ phác thảo những điều quan trọng nhất mà tôi đã tìm thấy ...

Google Datastore thực sự là một kho lưu trữ dữ liệu phân cấp phân tán. Để có được khả năng mở rộng mà họ muốn, phải có một số thỏa hiệp. Là một nhà phát triển, bạn sẽ thấy rằng đây là bất kỳ nơi nào từ dễ làm việc, khó làm việc xung quanh hoặc không thể làm việc xung quanh. Điều thứ hai có nhiều khả năng hơn bạn từng nghĩ.

Nếu bạn đã quen với cơ sở dữ liệu quan hệ và khả năng thao tác dữ liệu trên nhiều bảng trong cùng một giao dịch, thì bạn có khả năng sẽ gặp khó khăn với kho dữ liệu. Điểm lớn nhất (?) Là giao dịch chỉ được hỗ trợ trên một số nhóm thực thể hạn chế (5 tại thời điểm hiện tại). Để đưa ra một ví dụ đơn giản, giả sử bạn có một mối quan hệ đơn giản giữa cha mẹ và con cái và bạn cần cập nhật hồ sơ con dưới 5 bậc cha mẹ cùng một lúc trong một giao dịch ... không thể thực hiện được (vâng, thực sự là vậy). Nếu bạn tổ chức lại cấu trúc dữ liệu của mình và cố gắng đặt tất cả các bản ghi con cũ dưới một thực thể duy nhất để chúng có thể được cập nhật trong một giao dịch duy nhất, bạn sẽ gặp phải một hạn chế khác ... thực tế là bạn không thể cập nhật một cách đáng tin cậy. nhóm thực thể nhiều hơn một lần mỗi giây (vâng, thực sự).

Ở trên là tất cả trong tài liệu của Google, nhưng bạn có thể sẽ xem xét nó nếu bạn mới bắt đầu (tất nhiên nó có thể xử lý được!).

31 hữu ích 1 bình luận chia sẻ
Lý Thiên Phương
· 17:24 07/03/2014
17:24:10 07/03/2014

Nó phụ thuộc vào ý bạn muốn nói đến 'nhiều người', loại dữ liệu bạn có và bạn muốn làm gì với nó.

Cloud SQL được thiết kế cho các ứng dụng cần cơ sở dữ liệu SQL, có thể xử lý bất kỳ truy vấn nào bạn có thể viết bằng SQL và đảm bảo dữ liệu của bạn luôn ở trạng thái nhất quán.

Cloud SQL có thể phục vụ tối đa 3200 truy vấn đồng thời, tùy thuộc vào cấp. Nếu các truy vấn đơn giản và có thể được cung cấp từ RAM, chúng sẽ chỉ mất vài mili giây và giả sử người dùng của bạn đưa ra khoảng 1 yêu cầu mỗi giây, thì nó có thể hỗ trợ hàng chục nghìn người dùng hoạt động đồng thời. Tuy nhiên, nếu họ đang thực hiện các truy vấn phức tạp hơn như tìm kiếm hoặc ghi nhiều dữ liệu, thì nó sẽ ít hơn.

Nếu bạn có một tập hợp các truy vấn đơn giản, ít quan tâm đến tính nhất quán ngay lập tức hoặc mong đợi nhiều lưu lượng truy cập hơn, thì bạn nên xem kho dữ liệu.

9 hữu ích 2 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ mysql database google-app-engine google-cloud-storage google cloud sql , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm