jsonscraper
שווקים
חזרה ליומן

Cloudflare D1 מגבילה את גודל תשובת השאילתה: למה ייצוא מסד הנתונים עובד אחרת

החל מ־4 בנובמבר, שאילתת D1 עלולה להיכשל אם התוצאה גדולה מ־50 MB. המגבלה חלה על תשובת השאילתה; ייבוא וייצוא דרך REST API ממשיכים לפעול.

מדיניות עריכה דיווח על שגיאה

שאילתה ל־Cloudflare D1 שמחזירה תוצאה בגודל העולה על 50 MB תיכשל החל מ־4 בנובמבר 2026. למפתחים חשוב להבין את גבולות השינוי: מדובר בגודל התוצאה של שאילתה בודדת, ולא בגודל המרבי של מסד הנתונים. ייבוא וייצוא דרך REST API אינם כפופים למגבלה הזו, ולכן אופן קריאת הנתונים הוא שקובע אם צריך לשנות את תהליך העבודה.

Cloudflare D1 מגבילה את גודל תשובת השאילתה: למה ייצוא מסד הנתונים עובד אחרת
תקציר: המגבלה של 50 MB ב־D1 חלה על גודל התוצאה של שאילתה יחידה, ולא על גודל מסד הנתונים. נסביר אילו פעולות היא משפיעה עליהן וכיצד לפצל קריאות וייצוא גדולים.
תפקיד התמונה: תמונת שער — הרעיון המרכזי
מדור: Cloudflare D1 מגבילה את גודל תשובת השאילתה: למה ייצוא מסד הנתונים עובד אחרת
נושא חזותי: צילום מערכת של טבלת מסד נתונים המיוצגת כערימה של כרטיסי נתונים שקופים
המגבלה חלה על נפח התוצאה של שאילתת SQL בודדת, ולא על הגודל הכולל של מסד הנתונים.© jsonscraper · נוצר באמצעות AI

מה בדיוק מוגבל?

Cloudflare תיארה את השינוי בפרסום מ־30 באוקטובר: שאילתה שתוצאתה עולה על 50 MB מחזירה את השגיאה D1 query result exceeded the maximum response size limit of 50 MB. מועד תחילת האכיפה הוא 4 בנובמבר 2026. בתיעוד D1 המגבלה מצוינת גם היא כמגבלה על גודל תוצאת השאילתה; עם זאת, מסד נתונים יכול לאחסן עד 10 GB בתוכנית בתשלום או 500 MB בתוכנית החינמית.

אלה שכבות שונות: האחסון קובע את נפח הנתונים במסד הנתונים, ואילו מגבלת התוצאה קובעת כמה נתונים שאילתה יחידה יכולה להחזיר. לכן מסד נתונים יכול להכיל הרבה יותר מ־50 MB של נתונים ועדיין להיות נגיש לקריאה בחלקים. מנגד, גם שאילתה למסד נתונים קטן עלולה לחרוג מהמגבלה אם היא בוחרת שורות רבות ורחבות או שדות טקסט ובינאריים גדולים.

בהודעה של Cloudflare על המגבלה, החברה מציינת שהסף מכסה את האחוזון ה־99.999 של שאילתות D1. זו הערכה של התפלגות השאילתות שסיפק הספק; לצורך בדיקה מעשית, חשוב יותר למדוד את התשובות הספציפיות של היישום ולזהות שאילתות שמחזירות מערכי נתונים גדולים.

למה ייצוא דרך REST API הוא מקרה נפרד?

שאילתת יישום מקבלת בדרך כלל את תוצאת ביצוע ה־SQL ומעבירה אותה לקוד הקורא לה. ייבוא וייצוא של מסד הנתונים דרך REST API הם פעולות אחרות: Cloudflare מציינת בנפרד שהם אינם מוגבלים בסף החדש וממשיכים לפעול כבעבר. לכן שגיאה בבחירה גדולה אינה מעידה שאי אפשר לייצא נפח גדול של נתונים ממסד הנתונים.

Cloudflare D1 מגבילה את גודל תשובת השאילתה: למה ייצוא מסד הנתונים עובד אחרת
תקציר: המגבלה של 50 MB ב־D1 חלה על גודל התוצאה של שאילתה יחידה, ולא על גודל מסד הנתונים. נסביר אילו פעולות היא משפיעה עליהן וכיצד לפצל קריאות וייצוא גדולים.
תפקיד התמונה: איור תומך 2 — היבט מסוים נוסף
מדור: למה ייצוא דרך REST API הוא מקרה נפרד?
נושא חזותי: אינפוגרפיקה טכנית ברוסית המציגה שני מסלולים מאומתים: שאילתת SQL מחזירה שורות
קריאה מדורגת מחלקת את תשובות שאילתת SQL, ואילו ייבוא וייצוא דרך REST API נשארים פעולות נפרדות.© jsonscraper · איור שנוצר באמצעות AI

מבחינה מעשית, ההבחנה הזו עוזרת לבחור את המסלול הנכון. אם היישום זקוק לכל הרשומות כדי להציג אותן, לעבד אותן או להפיק דוח, יש לפצל את הקריאה למנות. אם המטרה היא להעביר או לייצא נתונים, כדאי לבדוק את תהליך הייצוא דרך REST API במקום לנסות לקבל את כל מסד הנתונים בתשובת SQL אחת.

איך להקטין את התשובה בלי לאבד את הנתונים הדרושים?

הצעד הראשון הוא להסיר עמודות מיותרות. במקום SELECT *, יש לציין רק את השדות הדרושים לפעולה הנוכחית. כך מצמצמים את נפח התשובה, במיוחד אם הטבלה מכילה תיאורים ארוכים, ערכי JSON או BLOB.

הצעד השני הוא לקרוא את השורות בחלקים באמצעות LIMIT ו־OFFSET, כפי שממליצה Cloudflare. לדוגמה, ממשק יכול להביא את העמוד הבא במהלך הגלילה, ומשימת אצווה יכולה לעבד מנות בנפרד. יש להוסיף מיון יציב, למשל לפי מזהה ייחודי: בלעדיו גבולות העמודים עלולים להשתנות אם הנתונים מתעדכנים בין שאילתות.

בייצוא ממושך כדאי גם לשמור נקודת ביקורת של הרשומה האחרונה שעובדה. כך אפשר להמשיך את המשימה אחרי תקלה בלי לעבד מחדש את כל קבוצת הנתונים. השיטה המדויקת תלויה ביישום; העיקרון המרכזי הוא להגביל את גודל כל תשובה, ולא להסתמך על שאילתה יחידה שמחזירה את כל הקבוצה בבת אחת.

מה כדאי לבדוק ביישום

יש להתחיל בשאילתות שמחזירות רשימות גדולות: ייצוא לדוחות, מסכי ניהול, משימות רקע ונתיבי API שמחזירים מערכי שורות. תעדו זמנית את נפח התשובה לאחר סריאליזציה או את מספר השדות שנבחרו ואת גודלם. לאחר מכן בדקו את הנפח המרבי הצפוי, ולא רק קבוצת נתונים קטנה ושגרתית לצורכי בדיקה.

אם היישום מקבל שגיאה לאחר כניסת השינוי לתוקף, תיעוד D1 קושר אותה לתוצאה גדולה מ־50 MB וממליץ לבחור את העמודות הדרושות או לפצל את התוצאה לעמודים. כך אפשר להבחין בין בעיית גודל תשובה לבין מגבלות זמן ריצה, זיכרון או זמינות מסד הנתונים: לשגיאות האלה יש סיבות אחרות.

השורה התחתונה לצוות פשוטה: סביר שבחירות קצרות ושגרתיות לא ידרשו שינוי, אבל כדאי להעביר קריאות גדולות לעיבוד במנות. עצם קיומה של המגבלה אינו מונע אחסון של מסד נתונים גדול יותר ואינו חוסם ייצוא דרך REST API; הוא מחייב לתכנן שאילתות כך שכל תשובה בנפרד תישאר בגבול של 50 MB.

אֲנָשִׁים

עדיין לא רשומים אנשים עבור מאמר זה.

המשיכו לקרואCloudflare D1 תטיל מגבלה על גודל תוצאות שאילתות: מה לבדוק לפני 4 בנובמבר
קרא את המאמר הבא

הפכו את מה שקראתם לאינטגרציה עובדת

גלו את ממשקי ה-API לנתונים חברתיים של jsonscraper, בדקו בקשות ובנו את תהליך העבודה הבא.

גלה API