שלוש עמודות שנותרו מהגרסה Stats4U 2
במאמר הזה
בטבלת המונים הראשית כאן יש 166,436 שורות וכמה עמודות שנראות חשובות. שלוש מהן הן lastdomain, firstdomain וגם userdomain. הן מחזיקות מידע:
lastdomain | אינה ריקה ב־15,525 שורות |
firstdomain | אינה ריקה ב־15,457 שורות |
userdomain | אינה ריקה ב־2,982 שורות |
שום דבר אינו כותב בהן. אין בשום מקום בקוד פקודה שמגדירה אחת מהשלוש. הערכים הם מהדור הקודם של השירות הזה, קפואים כפי שהיו כשהפסיק לפעול, וכל שורה שנוצרה מאז ריקה.
למה קשה יותר להבין עמודה מלאה למחצה מעמודה ריקה
עמודה ריקה לחלוטין מתה בבירור. איש אינו בונה עליה, איש אינו מדווח ממנה, ואיש אינו מבלה אחר צהריים בניסיון להבין מה משמעותה.
עמודה שמכילה ערכים ב־9% מהשורות היא מלכודת. היא נראית כמו שדה שלפעמים מלא ולפעמים לא — דבר רגיל לחלוטין לעמודה. מי שמוצא אותה מסיק באופן סביר שיש כלל שקובע מתי מגדירים אותה, ומתחיל לחפש את הכלל. אין כזה.
והערכים המיושנים אינם חבויים בשורות רדומות שבהן לא יכלו להזיק. מבין השורות שמכילות ערך lastdomain, 1,613 שייכות למונים שעדיין עודכנו השנה. מונה פעיל עם דומיין שנרשם לפני עשור נראה בדיוק כמו מונה פעיל עם דומיין עדכני.
גרוע מכך, המידע מתקבל על הדעת. אלה דומיינים, הם נראים כמו דומיינים של מונים, ושאילתה שמצרפת לפיהם מחזירה שורות. היא תענה על שאלה לגבי רשת שכבר השתנתה.
איך לדעת במהירות
יש לחפש ב־Grep כתיבות, ולא את השם. שם עמודה מופיע ברשימות SELECT וכן בעותקי סכימה, בהעברות ישנות, בהערות — וכל אלה אינם מוכיחים דבר. מה שמכריע הוא אם פקודת INSERT או UPDATE כלשהי מזכירה אותו. החיפוש הזה אורך דקה והוא חד־משמעי באופן שקריאה מסביב בקוד אינה כזאת.
הבדיקה השנייה היא המידע עצמו: אם השורה החדשה ביותר שמחזיקה ערך בת כמה שנים, העמודה היא מאובן בלי קשר למה שנדמה שהקוד אומר.
למה הן עדיין שם
הסרת עמודה זולה ואינה חינמית. כל אחת מהשורות האלה שייכת למונה של מישהו, וחלקם פועלים ברציפות מאז 2006, והצעד הבטוח לפני שינוי סכימה בטבלה כזאת הוא עותק שיוצא ושוחזר פעם אחת בפועל, ולא רק הופק. התרגול הזה כבר בוצע מאז. עד שהסרתן תהיה כדאית בפני עצמה, שלוש עמודות לא בשימוש אינן עולות דבר מלבד רגע של בלבול, וההערה שמתוארת למטה מסירה אפילו אותו.
לכן הן מתועדות במקום זאת. אין מקום מובן מאליו לשים בו את ההערה הזאת — הסכימה של מסד הנתונים הזה קיימת רק במסד הפעיל, ולא בשום קובץ במאגר הקוד — ולכן היא הוצבה במקום שבו מישהו באמת ייתקל בה: במחלקה שקוראת שורת מונה, בדיוק היכן שהעמודות עוברות. הערה בקובץ שאיש אינו פותח אינה תיעוד. היא הופכת מלכודת להערת שוליים רק אם היא נמצאת בדרך.