לקריאה מהירה: המלצות לקוד קלוד טור #6 מאת אלכס
תוכן הפוסט
הי חברים יקרים 😍 מדי שבוע אני אחלק טיפים מתוך הניסיון שלי ורק מתוך הניסיון שלי. יש אלפי "תעשה ככה וככה" אבל אני מדבר מתוך ניסיון של קרוב ל-5 חודשים עם קלוד קוד ועשיתי כמה פרוייקטים מעניינים איתו .
אז אחרי שדיברנו פעם שעברה על הפונקציונליות של הגיטאהב notebook-py שמאפשר ליצור סקריפט אוטומציה של קליטת סרטון יוטיוטיוב והכנה של פריטים ממנו כגון: פודקאסט, פתקים לתכנים שונים מהסרטון המיובא , אינפוגרפיקה והאפשרות לקחת את הדאטה הזה כחומר גולמי הלאה כגון הכנה של קבצי MD ומשם להכין עוד אוטומציות (למשל סרטון עם כלי API כלשהו... ) הפעם נדבר על דאטהבייס. אבל חשוב לי לציין שאני מדבר על דאטהבייס שיושב על ענן (כלומר שרת מרוחק) ולא לוקלי על המחשב, כי אם מדברים על לוקלי אז פתרון כגון MySQL שהוא מעולה , או פתרון כגון MongoDB מתאים מאוד למערכות שבהן המידע הוא באמת document-oriented ובמקרים שיש לכם תשתית ב AWS . אבל הפעם נדבר... (צלצול של פעמון טם-טם-טם) עם PostgreSQL . ואני רואה שכבר חלקכם מעוותים את הפנים. פוסט מה?? פוסטגרס. פוסט מה?? טוב נו... אז straight to the point . דאטהבייס מבוסס ענן (או לוקלי..אבל שוב לוקלי יש פתרונות יותר טובים ) בשם Postgres. ואני אתן את הקונטקסט מתי השתמשתי בו . אז רקע קטן: רציתי להכין פרוייקט של שליחת ווצא'אפ או טלגרם שיתמוך בעד 20K אנשים שזה הרבה . התחיל MVP בדטאהבייס של Airtable שהוא מעולה , מהיר וידידותי והכי חשוב ויזואלי והכל עבר תקין. שלחתי באמצעות Green API ווצאפים עם חדשות בעולם הקריפטו והרטרו (עם התמקדות לקונסולות כגון ארקייד ) כל יום ל-10 אנשים שונים בזמנים שונים וכל אחד יכול לערוך את הזמן שהוא נשלח או לבטל לגמרי אל השליחה היומית . פרוייקט מאד קטן שהצליח יפה וכל הטבאלות של היסטוריית שליחה , של האנשים שאני שולח , של הסוג חדשות נמצא ב- AirTable בעזרתו של ידידנו קלודקוד ולא הייתי צריך לעשות כלום רק להשתאות מהעבודה המעולה שהוא עשה .
![]()
ובאמת הקלודקוד עשה לי עבודה מעולה מול האיירטייבל הכין לי את הטבלאות, הכין את השדות הספיציפיים , הכין קשרי גומלין והפרוייקט של שליחת הודעות ווצאפ עבר לי ממש מעולה עם האייטייבל. הכל היה מושלם במיוחד עם הממשק הויזואלי הכובש של Airtable , ו API מסודר שהקלוד יודע לנהל עם 0 תחזוקה.
![]()
ו... אז "הילד" צריך לגדול כמו הרבה פרוייקטים שגדלים ואיתו צריכים להגדיל את הדאטבייס . יש לי תוכנית Team באיירטייבל שעולה לי 24 דולר ומאפשרת עד 100 אלף קריאות בחודש שזה אמנם הרבה אבל עדיין זה בתשלום וחיפשתי חלופה חינמית... off the record נעזוב שיש בעיה קשה ב API של שליחת כמות גדולה של ווצאפ שמחייב חשבון Meta רשמי שהוא יקר בטירוף, אז התייעצתי עם קלוד איזה חלופות יש לאיירטייבל ואחד מהם היה מיגרציה ל Postgress שישב על שרת וירטואלי
של הוסטינגר. אז ביקשתי מקלוד תוכנית למיגרציה של הדאטהבייס מ Airtable ל Postgress , תוך כמה שעות הכל עבר חלק !! והפרוייקט המשיך לעבוד על דאטהבייס חינמי. אז לפני שאני אמשיך לחפור מדוע לעבור ל- PostgreSQL למרות שה- Airttable הוא נהדר עם המון פלוסים , ב־PostgreSQL, שרץ על השרת שלנו אין אף אחת מהמגבלות האלה. לא על רשומות, לא על שאילתות, לא על קצב.
סיבה מרכזית: מסד נתונים אמיתי וזו הסיבה הכי חשובה, והיא קצת טכנית אבל שווה להבין אותה, כי היא רלוונטית לכל מערכת: ל־Airtable אין טרנזקציות, אין מפתחות זרים ואין אילוצי ייחודיות. כל כלל עסקי נאכף אצלנו בקוד בלבד, בשיטת "בדוק ואז כתוב". ומה קורה אם שתי ריצות של המנוע מתנגשות באותה שנייה? שתיהן בודקות, שתיהן רואות שעוד לא נשלח... ושתיהן שולחות. המנוי מקבל את אותה הודעה פעמיים. 😬 אבל ב־PostgreSQL הכלל הזה הופך לאילוץ ייחודיות בתוך מסד הנתונים עצמו, והרישום נעשה בפעולה מדוייקת ( כפילות פשוט לא יכולה לקרות לא משנה כמה תהליכים INSERT ... ON CONFLICT DO NOTHING ) אותו סיפור עם קשרים בין טבלאות , מפתחות זרים Foreign Key , טרנזקציות ואימות ערכים חוקיים דברים שמסד נתונים אמיתי עושה בשבילכם, בלי שורת קוד אחת.
סיבה אחרונה:
עד היום, כל פעולה : התחברות, הרשמה, שליחת דיוור עברה דרך האינטרנט אל השרתים שלאם Airtable איטי, עמוס או מושבת , הווצאפ של הבוקר לא יוצא . עכשיו מסד הנתונים של PostgreSQL יושב על אותו שרת ממש וזמני תגובה של אלפיות שנייה, אפס תלות בזמינות של צד שלישי והסיבה האחרונה PostgreSQL הוא קוד פתוח וחינמי על שרת VPS (שרת מבוסס LINUX שאפשר לשים עליו גם ממשק N8N או Docker ) שאני כבר ממילא משלם עליו והבעלות היא..שלנו ולא של כלי אחד. החיסרון המשמעותי היחיד במעבר ל PostgreSQL שאין לנו את הכלים המגניבים של Airtable והוא ממשק ויזואלי מדהים עם אפשרות ליצירת דשבורדים וגרפיים באופן מהיר ופשוט ואוטומציות פשוטות לעריכה.
תודה רבה על הקריאה!!
====================================================
קצת עליי: קוראים אלכס גולדבלט, במקצוע שלי אני בודק תוכנה בחברה גדולה ואחד התחביבים שלי הוא מחשבי וינטאג' 8 ביט . אתם יכולים לבקר אותי כאן:
וכמובן אפשר לפנות אליי בפרטי לשאלות או התייעצויות
נכתב על ידי Commodore 64
תגובות ותשובות (2)
תודה רבה! מעניין מאוד
Yoel
תודה רבה יואל 😍 הכבוד הוא שלי !!
Commodore 64