مجموعه های خود را بهینه کنید و محتوا را مطابق با تنظیمات خود طبقه بندی کنید.
Firestore Cloud از عملیات خواندن اتمی و ضبط داده ها پشتیبانی می کند. در مجموعه ای از عملیات اتمی ، یا تمام عملیات با موفقیت انجام می شود ، یا از یکی از آنها استفاده نمی شود. Firestore Cloud دارای دو نوع عملیات اتمی است:
هر معامله یا بسته عملیات ضبط می تواند بیش از 500 سند را ثبت کند. محدودیت های اضافی مربوط به ضبط ، به سهمیه ها و محدودیت ها مراجعه کنید.
با استفاده از کتابخانه های مشتری Cloud Firestore ، می توانید چندین عملیات را در یک معامله گروه بندی کنید. معاملات هنگامی مفید هستند که می خواهید مقدار این زمینه را بر اساس مقدار فعلی آن یا مقدار هر زمینه دیگر به روز کنید.
معامله شامل هر تعداد عملیات GET () است که به دنبال آن هر تعداد عملیات ضبط مانند تنظیم () ، به روزرسانی () یا حذف () است. در صورت ویرایش همزمان ، Cloud Firestore کل معامله را دوباره شروع می کند. به عنوان مثال ، اگر معامله اسناد را بخواند ، و مشتری دیگری هر یک از این اسناد را تغییر می دهد ، Firestore Cloud معامله را تکرار می کند. این عملکرد تضمین می کند که معامله با استفاده از داده های مرتبط و سازگار انجام می شود.
معاملات هرگز سوابق را تا حدی اعمال نمی کنند. تمام یادداشت ها در پایان یک معامله موفق انجام می شود.
هنگام استفاده از معاملات ، به این واقعیت توجه کنید که:
مثال زیر نحوه ایجاد و راه اندازی معامله را نشان می دهد:
شرط برنامه را در توابع معامله خود تغییر ندهید. این منجر به مشکلات موازی خواهد شد ، زیرا معاملات می توانند چندین بار انجام شود و اجرای آنها در جریان رابط کاربری تضمین نمی شود. درعوض ، اطلاعات لازم را از توابع معاملات منتقل کنید. مثال زیر براساس مثال قبلی برای نشان دادن نحوه انتقال اطلاعات از معامله است:
معامله ممکن است به دلایل زیر تصویب نشود:
معامله از حداکثر درخواست در 10 MIB فراتر رفت.
اندازه معامله بستگی به اندازه اسناد و ضبط های شاخص تغییر یافته توسط معامله دارد. برای عملکرد حذف ، این شامل اندازه سند هدف و اندازه ضبط های فهرست حذف شده در پاسخ به عملیات است.
یک معامله ناموفق خطا را برمی گرداند و چیزی در پایگاه داده نمی نویسد. نیازی به عقب نشینی معامله نیست. Cloud Firestore این کار را به صورت خودکار انجام می دهد.
اگر نیازی به خواندن هرگونه اسناد در مجموعه عملیات خود ندارید ، می توانید چندین عملیات ضبط را به عنوان یک بسته واحد شامل هر ترکیبی از مجموعه () ، به روزرسانی () یا حذف () انجام دهید. بسته ضبط با یک اتمی به پایان می رسد و می تواند در چندین سند رکورد ایجاد کند. مثال زیر نحوه ایجاد و رفع بسته ضبط را نشان می دهد:
ضبط کیف ممکن است حاوی 500 عمل باشد. هر عمل در بسته هنگام استفاده از Firestore Cloud به طور جداگانه در نظر گرفته می شود.
مانند معاملات ، ضبط بسته اتمی است. بر خلاف معاملات ، در یک پرونده بسته ، لازم نیست تضمین شود که اسناد خوانده شده بدون تغییر باقی می مانند ، که منجر به تعداد کمتری از خرابی ها می شود. آنها به دلیل تلاش های مکرر بیش از حد در معرض تلاش ها یا شکست های مکرر نیستند. ضبط کیف حتی اگر دستگاه کاربر خودمختار باشد انجام می شود.
توجه داشته باشید. برای ورودی داده های انبوه ، از کتابخانه مشتری سرور با عملیات ضبط فردی موازی استفاده کنید. ضبط بسته بهتر از یک رکورد سریالی است ، اما بهتر از یک رکورد موازی نیست. شما باید از کتابخانه سرور مشتری برای عملیاتی با داده های انبوه و نه موبایل/وب-SDK استفاده کنید.
برای کتابخانه های مشتری های موبایل/وب ، می توانید داده ها را با استفاده از قوانین امنیتی Cloud Firestore بررسی کنید. شما می توانید تضمین کنید که اسناد مرتبط همیشه آتومی و همیشه به عنوان بخشی از یک معامله یا سابقه بسته بندی به روز می شوند. برای دسترسی و بررسی وضعیت سند پس از تکمیل مجموعه عملیات ، از عملکرد امنیتی GetAfter () استفاده کنید ، اما قبل از اینکه Firestore Cloud عملیات را ضبط کند.
به عنوان مثال ، تصور کنید که پایگاه داده به عنوان مثال با شهرها نیز حاوی مجموعه ای از کشورها است. هر سند کشور از قسمت Last_updated برای ردیابی زمان آخرین به روزرسانی هر شهر مربوط به این کشور استفاده می کند. قوانین ایمنی زیر مستلزم آن است که سند شهر همچنین قسمت Last_updated را به روز کند:
در قوانین ایمنی برای معاملات یا ورود به بسته ، علاوه بر حد معمول در 10 تماس برای هر عملیات شخصی با سند در بسته ، 20 تماس برای کل عملیات اتمی محدودیت وجود دارد.
به عنوان مثال ، قوانین زیر را برای استفاده از گپ در نظر بگیرید:
قطعات زیر تعداد دسترسی به اسناد مورد استفاده برای چندین الگوی دسترسی به داده ها را نشان می دهد:
Firestore Cloud از عملیات خواندن اتمی و ضبط داده ها پشتیبانی می کند. در مجموعه ای از عملیات اتمی ، یا تمام عملیات با موفقیت انجام می شود ، یا از یکی از آنها استفاده نمی شود. Firestore Cloud دارای دو نوع عملیات اتمی است:
هر معامله یا بسته عملیات ضبط می تواند بیش از 500 سند را ثبت کند. محدودیت های اضافی مربوط به ضبط ، به سهمیه ها و محدودیت ها مراجعه کنید.
با استفاده از کتابخانه های مشتری Cloud Firestore ، می توانید چندین عملیات را در یک معامله گروه بندی کنید. معاملات هنگامی مفید هستند که می خواهید مقدار این زمینه را بر اساس مقدار فعلی آن یا مقدار هر زمینه دیگر به روز کنید.
معامله شامل هر تعداد عملیات GET () است که به دنبال آن هر تعداد عملیات ضبط مانند تنظیم () ، به روزرسانی () یا حذف () است. در صورت ویرایش همزمان ، Cloud Firestore کل معامله را دوباره شروع می کند. به عنوان مثال ، اگر معامله اسناد را بخواند ، و مشتری دیگری هر یک از این اسناد را تغییر می دهد ، Firestore Cloud معامله را تکرار می کند. این عملکرد تضمین می کند که معامله با استفاده از داده های مرتبط و سازگار انجام می شود.
معاملات هرگز سوابق را تا حدی اعمال نمی کنند. تمام یادداشت ها در پایان یک معامله موفق انجام می شود.
هنگام استفاده از معاملات ، به این واقعیت توجه کنید که:
مثال زیر نحوه ایجاد و راه اندازی معامله را نشان می دهد:
شرط برنامه را در توابع معامله خود تغییر ندهید. این منجر به مشکلات موازی خواهد شد ، زیرا معاملات می توانند چندین بار انجام شود و اجرای آنها در جریان رابط کاربری تضمین نمی شود. درعوض ، اطلاعات لازم را از توابع معاملات منتقل کنید. مثال زیر براساس مثال قبلی برای نشان دادن نحوه انتقال اطلاعات از معامله است:
معامله ممکن است به دلایل زیر تصویب نشود:
معامله از حداکثر درخواست در 10 MIB فراتر رفت.
اندازه معامله بستگی به اندازه اسناد و ضبط های شاخص تغییر یافته توسط معامله دارد. برای عملکرد حذف ، این شامل اندازه سند هدف و اندازه ضبط های فهرست حذف شده در پاسخ به عملیات است.
یک معامله ناموفق خطا را برمی گرداند و چیزی در پایگاه داده نمی نویسد. نیازی به عقب نشینی معامله نیست. Cloud Firestore این کار را به صورت خودکار انجام می دهد.
اگر نیازی به خواندن هرگونه اسناد در مجموعه عملیات خود ندارید ، می توانید چندین عملیات ضبط را به عنوان یک بسته واحد شامل هر ترکیبی از مجموعه () ، به روزرسانی () یا حذف () انجام دهید. بسته ضبط با یک اتمی به پایان می رسد و می تواند در چندین سند رکورد ایجاد کند. مثال زیر نحوه ایجاد و رفع بسته ضبط را نشان می دهد:
ضبط کیف ممکن است حاوی 500 عمل باشد. هر عمل در بسته هنگام استفاده از Firestore Cloud به طور جداگانه در نظر گرفته می شود.
مانند معاملات ، ضبط بسته اتمی است. بر خلاف معاملات ، در یک پرونده بسته ، لازم نیست تضمین شود که اسناد خوانده شده بدون تغییر باقی می مانند ، که منجر به تعداد کمتری از خرابی ها می شود. آنها به دلیل تلاش های مکرر بیش از حد در معرض تلاش ها یا شکست های مکرر نیستند. ضبط کیف حتی اگر دستگاه کاربر خودمختار باشد انجام می شود.
توجه داشته باشید. برای ورودی داده های انبوه ، از کتابخانه مشتری سرور با عملیات ضبط فردی موازی استفاده کنید. ضبط بسته بهتر از یک رکورد سریالی است ، اما بهتر از یک رکورد موازی نیست. شما باید از کتابخانه سرور مشتری برای عملیاتی با داده های انبوه و نه موبایل/وب-SDK استفاده کنید.
برای کتابخانه های مشتری های موبایل/وب ، می توانید داده ها را با استفاده از قوانین امنیتی Cloud Firestore بررسی کنید. شما می توانید تضمین کنید که اسناد مرتبط همیشه آتومی و همیشه به عنوان بخشی از یک معامله یا سابقه بسته بندی به روز می شوند. برای دسترسی و بررسی وضعیت سند پس از تکمیل مجموعه عملیات ، از عملکرد امنیتی GetAfter () استفاده کنید ، اما قبل از اینکه Firestore Cloud عملیات را ضبط کند.
به عنوان مثال ، تصور کنید که پایگاه داده به عنوان مثال با شهرها نیز حاوی مجموعه ای از کشورها است. هر سند کشور از قسمت Last_updated برای ردیابی زمان آخرین به روزرسانی هر شهر مربوط به این کشور استفاده می کند. قوانین ایمنی زیر مستلزم آن است که سند شهر همچنین قسمت Last_updated را به روز کند:
در قوانین ایمنی برای معاملات یا ورود به بسته ، علاوه بر حد معمول در 10 تماس برای هر عملیات شخصی با سند در بسته ، 20 تماس برای کل عملیات اتمی محدودیت وجود دارد.
به عنوان مثال ، قوانین زیر را برای استفاده از گپ در نظر بگیرید:
قطعات زیر تعداد دسترسی به اسناد مورد استفاده برای چندین الگوی دسترسی به داده ها را نشان می دهد:
پلتفرم های تجاری...
برچسب : نویسنده : مریم کاویانی بازدید : 45