חזרה
כיצד Cloudflare D1 מתרחב למיליוני מסדי נתונים
SiTech AI Team3 דק׳ קריאה

כיצד Cloudflare D1 מתרחב למיליוני מסדי נתונים

בסיס הנתונים השרתי של Cloudflare, D1 המבוסס על SQLite, עבר 5.5 מיליון מסדי נתונים. בפוסט החדש מתוארת הארכיטקטורה של מישור הבקרה המאפשרת הרחבה: החל מ‑Durable Objects, דרך ניתוב Workers KV ועד ל‑heartbeatים בעלי תיקון עצמי.

צמיחה הודות ליצירת אפליקציות בעזרת AI

בסיס הנתונים השרתי D1 של Cloudflare, המבוסס על SQLite, עבר 5.5 מיליון מסדי נתונים: נכון ל‑8 באוקטובר 2026, מספר מסדי הנתונים החיים והבלתי ניתנים לעצירה גדל פי 15 במשך שנה אחת, ופי 65 במשך שנתיים. מספר מסדי הנתונים הפעילים מדי יום גדל פי 18 באותה תקופה. החברה מקשרת את הצמיחה הזו לפיתוח בעזרת AI ולפלטפורמות vibe coding, שדוחפות אפליקציות לעבר מספר רב של מסדי נתונים קטנים: לכל משתמש, לכל אפליקציה, לכל סביבת תצוגה או לכל דייר. OpenAI's ChatGPT Sites נמצא בין הפלטפורמות הבנויות על D1. לדברי ג'ון אברמס של ChatGPT Sites, D1 נותן למשתמשים "דרך פשוטה וניתנת להרחבה" להוסיף ללוחות, למשחקים ולכלים שלהם תכונות כגון מדדים מותאמים אישית, לוחות מובילים והערות.

ארקיטקטורה: Durable Objects, Workers KV ו‑Hyperdrive

כל מסד D1 מגובה על ידי אובייקט Durable יחיד של SQLite, מה שהופך את יצירתם של מיליונים לאפשרית. בקשות API נכנסות ל‑D1 Edge API Worker, וה‑Eyeball Worker מנתב את כל התנועה אל אובייקטי ה‑Durable שמתחתיו, ומספק תצפית, ניסיונות חוזרים אוטומטיים וטיפול בשגיאות. Workers KV משמש כשכבת מטמון בקצה עבור מטא‑נתונים של ניתוב כבד בקריאה, בעוד Hyperdrive מציע איגוד חיבורים, מטמון וניתוב מותאם לקלאסטר Postgres המרכזי הנמצא במרכזי הנתונים הראשיים של Cloudflare. הצוות מחלק את הפעולות לשלושה חלקים: מישור הנתונים (data plane) עבור שאילתות, מישור הבקרה (control plane) עבור פעולות API, ומישור אסינכרוני ברקע עבור ניתוח וחיוב.

יצירה מהירה ו‑heartbeatים בעלי תיקון עצמי

בעת יצירת מסד נבדקים מגבלות החשבון, נוצר UUID ייחודי של המסד ומזהה של אובייקט Durable, האובייקט Durable מאותחל, המטא‑נתונים נשמרים ב‑Postgres, ורשומת קישור המזהים נכתבת ב‑Workers KV. הכתיבה ל‑Postgres משמשת כנקודת בקרה, והעדכון הסופי של KV מתבצע בקריאת waitUntil() שעשויה להיכשל. כל 30 שניות, עם ג'יטר אינדיבידואלי לכל מסד, כל אובייקט Durable שולח heartbeat למישור הבקרה כדי לברר אם הוא במצב פעיל או נמחק. מנגנון זה מאפשר לאובייקטי Durable לסמן את עצמם כמחוקים ומבטיח ש‑Workers KV ישקף בסופו של דבר את המציאות; בנוסף, אובייקט Durable משמש כנקודת סריאליזציה לכתיבות ב‑KV.

הרחקת שאילתות ממסד הנתונים המרכזי

בקשות שאילתה הנשלחות ב‑HTTP עוקפות לחלוטין את Postgres. ה‑Edge API Worker טוען את רשומת הקישור של המסד מ‑Workers KV, ופונה ל‑Hyperdrive ולרפליקות של Postgres רק במקרה נדיר של החמצת מטמון, ואז מעביר את השאילתה דרך ה‑Eyeball Worker אל אובייקט Durable. ה‑bindings של ה‑Worker מטפלים באישור מוצפן, כך שבקשות המגיעות מה‑Workers של המשתמש מדלגות לחלוטין על חיפוש רשומת הקישור. עדכוני שימוש באחסון עוברים בתור דמוי‑Kafka כדי לאגד כתיבות ב‑Postgres, ותחזוקת תצוגה מצטברת מחשבת מראש את הסכומים לכל חשבון בטבלת account_database_stats, כדי שבדיקת המגבלות תתבצע בזמן קבוע גם עבור חשבונות המחזיקים מיליוני מסדי נתונים.

מקורות: Cloudflare

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.