בלוג סייר SEO:
נסה אותנו:

מדוע הייתי צריך לבנות מסד נתונים?

איש מחזיק כיתוב של מידע גדול

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

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

 

נתחיל מההתחלה

בתחילת 2018 התחלתי לעבוד על פיתוח ה- SEO SAAS Analytics שלי (זה שאתה מבקר בו ברגע זה) ורציתי לנהל את הכמויות האדירות של נתוני קישורים של לינקים, אז עשיתי מחקר קצר כדי למצוא את מסד הנתונים הטוב ביותר לצרכים שלי.

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

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

 

מגבלות מסד נתונים

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

 

ראש בקיר

החלטתי ללכת עם MySQL בגלל הידע הקודם שלי בנושא. עיצבתי את התצורה של הסכמה שלי והתחלתי להכניס את הנתונים.

 

זה התחיל טוב – הצלחתי להכניס קובץ שלם תוך 15 שניות. כל קובץ הכיל מידע על 50,000 עמודים כולל הכותרת וקישורי האתרים לכל עמוד.

דרוש מספר רב של inserts ו selects כדי להכניס נתונים לדף אחד, והצלחתי להגיע ל 50,000 תוספות / שנייה, וואו.

הכל נראה נהדר, אך ככל שמסד הנתונים גדל, הביצועים שלו ירדו. כאשר הוא הגיע ל 100 GB לכל קובץ לקח 5 דקות לעבור עיבוד והביצועים ירדו ל 6,000 inserts לשנייה.

 

הכחשה

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

 

בידיעה שמסד הנתונים שלי יהיה בסופו של דבר 10 טרה-בייט, זה לא היה פיתרון.

 

אולי עם PostgreSQL?

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

 

הייתי משוכנע שקיים פיתרון כלשהו לבעיה זו. מצאתי addon (בבטא) הדורש התקנת קוד פתוח של הרבה  frameworks. תוסף זה מאפשר להכניס למסד נתונים מידע בזמן ליניארי, אך הוא מציב מגבלות רבות על הנתונים שאתה צריך להכניס, מה שאומר שלא יכולתי להשתמש בהם, וחוץ מזה – אני מהסס להשתמש בקומבינות של בטא.

 

אז .. מה הפיתרון?

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

 

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

בדקתי ספקי ענן שונים, כולל אמזון, דיגיטל אושן וגוגל. שימוש באשכול כזה עם נפח כולל של 10 טרה-בייט יעלה 10-30 אלף דולר לחודש. אגיד את זה שוב בפורמט שונה: 10,000-30,000 דולר לחודש.

וואו, זה סכום עצום עבור חברה שאין לה MVP ואין לקוחות. בשלב זה הבנתי איך אנשים "שורפים" את כספי ה- VC שלהם.

מישהו אחר היה מגייס הון ומשתמש בו בכדי לשלם בממוצע 20,000 $ לחודש עבור מסד נתונים. אלא אם כן יהיו מכירות ומהר, הכסף ייגמר.

חברים להצלה

 

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

 

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

 

ניסיון סופי

איש על סולם מחזיק כוכב משהמיים

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

 

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

 

מילות לסיכום

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

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Share via
Copy link
Powered by Social Snap