בדף הזה מוסבר איך להשתמש בבידוד של קריאות חוזרות ב-Spanner.
'קריאה חוזרת' היא רמת בידוד שמבטיחה שכל פעולות הקריאה בתוך עסקה יראו תמונת מצב עקבית של מסד הנתונים כפי שהיה בתחילת העסקה. ב-Spanner, רמת הבידוד הזו מיושמת באמצעות טכניקה שנקראת גם בדרך כלל בידוד snapshot. הגישה הזו מועילה בתרחישים של קריאה וכתיבה בו-זמנית, שבהם מספר רב של עסקאות קוראות נתונים שעשויים להשתנות על ידי עסקאות אחרות. השימוש בתמונת מצב קבועה מאפשר לקריאה חוזרת להימנע מההשפעות על הביצועים שמאפיינות את רמת הבידוד המחמירה יותר, שניתנת לסריאליזציה. בגלל שהמערכת משתמשת במקביל אופטימי כברירת מחדל, פעולות קריאה יכולות להתבצע בלי שהמערכת תנעל את הנתונים ובלי לחסום פעולות כתיבה מקבילות. כתוצאה מכך, יכול להיות שיהיו פחות עסקאות שבוטלו ויהיה צורך לנסות לבצע אותן שוב בגלל התנגשויות בסדר הפעולות. במקביליות פסימית, פעולות קריאה משתמשות בתמונות מצב, אבל נעילות בלעדיות חלות על נתונים שנקראים משאילתות FOR
UPDATE או מרמזים lock_scanned_ranges=exclusive, ועל נתונים שנכתבים באמצעות שאילתות DML. בו-זמניות פסימית גם מפחיתה את הסבירות להתנגשויות מסוג כתיבה-כתיבה. מידע נוסף זמין במאמרים סקירה כללית על רמת הבידוד ובקרת בו-זמניות.
הגדרת רמת הבידוד
אפשר להגדיר את רמת הבידוד בעסקאות קריאה-כתיבה ברמת הלקוח של מסד הנתונים או ברמת העסקה באמצעות השיטות הבאות: