Điểm:0

Làm cách nào để đồng bộ hóa siêu dữ liệu Nhóm lưu trữ đám mây GCP với cơ sở dữ liệu?

lá cờ us

Tôi có một số lượng lớn đối tượng, hiện có khoảng 1 triệu đối tượng, được lưu trữ trong Nhóm lưu trữ đám mây GCP. Các đối tượng được thêm vào với tốc độ 1-2 nghìn mỗi ngày. Tôi muốn chạy các truy vấn một cách hiệu quả để tra cứu các đối tượng trong bộ chứa dựa trên siêu dữ liệu cho các đối tượng đó, bao gồm trung tố/hậu tố tên tệp, ngày tạo, lớp lưu trữ, v.v.

Cloud Storage API cho phép tìm kiếm theo tiền tố tên tệp (tài liệu), nhưng cuộc gọi lại mất vài giây để hoàn thành. Tôi có thể thực hiện các truy vấn infix với gsutil, Thích gsutil ls gs://my-bucket/foo-*-bar.txt, nhưng điều này thậm chí còn chậm hơn. Ngoài ra, các truy vấn này được coi là Hoạt động hạng A, phát sinh chi phí.

Thay vì xử lý API lưu trữ đám mây để tìm kiếm bộ chứa của mình, tôi nghĩ rằng mình có thể thêm danh sách tất cả các đối tượng trong bộ chứa của mình vào cơ sở dữ liệu như Bigtable hoặc SQL. Cơ sở dữ liệu phải luôn đồng bộ với tất cả các thay đổi đối với bộ chứa, ít nhất là khi các đối tượng được tạo hoặc xóa và lý tưởng nhất là khi được sửa đổi, lớp lưu trữ đã thay đổi, v.v.

cách tốt nhất để đạt được điều này là gì?

Điểm:2
lá cờ cn

Bước đầu tiên là thiết kế bảng và cột cho cơ sở dữ liệu, xác định cách siêu dữ liệu sẽ được lưu trữ, thiết kế câu lệnh truy vấn và câu lệnh cập nhật.

Sau đó, triển khai Trình kích hoạt lưu trữ đám mây để thông báo cho dịch vụ mà bạn viết để xử lý các sự kiện từ Lưu trữ đám mây. Cloud Functions và Cloud Run thường được sử dụng để xử lý các sự kiện. Là một phần của quá trình xử lý sự kiện, mã của bạn sẽ cập nhật cơ sở dữ liệu.

Bước cuối cùng sau khi trình kích hoạt hoạt động chính xác là quét toàn bộ bộ chứa và cập nhật cơ sở dữ liệu bằng siêu dữ liệu cho từng đối tượng Cloud Storage.

Câu hỏi của bạn không bao gồm chi tiết. Tốt hơn là sử dụng báo cáo số thay vì Tôi có một số lượng lớn đối tượng được lưu trữ trong Nhóm lưu trữ đám mây GCP. Đối với tôi, điều đó có nghĩa là tối thiểu hàng chục triệu đối tượng. Câu hỏi của bạn không bao gồm thông tin về tốc độ thay đổi xảy ra trong Lưu trữ đám mây hoặc các truy vấn thực tế mà bạn cần thực hiện.

Hãy nhớ rằng Cloud Storage là một không gian tên phẳng. Khái niệm phân cấp (thư mục/thư mục) được mô phỏng trong phần mềm. Nếu bạn lưu trữ không gian tên trong cơ sở dữ liệu giống như được lưu trữ trong Lưu trữ đám mây, thì hiệu suất có thể không tốt hơn chút nào.

Tôi đã nhiều lần triển khai kiểu thiết kế của bạn cho AWS, Google Cloud và Azure. Trừ khi bạn thực sự muốn sự phức tạp của một hệ thống hướng sự kiện, tôi khuyên bạn nên thỉnh thoảng đọc bộ chứa lưu trữ và tạo một bảng tính văn bản đơn giản có thể được xử lý bằng grep, awk, v.v.

lá cờ us
Cảm ơn bạn đã phản hồi! Tôi đã chỉnh sửa câu hỏi của mình để thêm nhiều số hơn. Cloud Storage Triggers là một giải pháp khả thi; Tôi chỉ hy vọng rằng có một giải pháp vượt trội hơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.