Firebird SQL vs MySQL

ב23 לחודש נערכה בדיקת benchmark של Firebird SQL מל MySQL .

בשורה התחתונה, Firebird נמצא מהיר יותר ב 8 שניות (אני לא לוקח בחשבון את המילי שניות).

את הנתונים ניתן למצוא כאן.

6 מחשבות על “Firebird SQL vs MySQL

  1. עודד

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

    הדבר הראשון שקפץ לי לעין הוא שיש אינדקס אחד יותר ב-MySQL מאשר ב-Firebird (על guy_id בטבלה השניה). מכיוון שהבדיקה היא בעיקר של INSERT (אם אני מבין נכון מה dbMonster עושה), והדבר שהכי מאיט INSERT במסד נתונים הוא אינדקסים, אז ברור שיש כאן בעיה.

    מעבר לזה, הנה עוד כמה בעיות:
    * סביבת חלונות – MySQL לא עבר בשום שלב אופטימיזציה לסביבת חלונות ואני לא בטוח בקשר לסדרה 5, אבל לפחות עד סדרה 4 מסד הנתונים בכלל לא נחשב "production quality" על חלונות. אם אני לא טועה MySQL עדיין לא מספקים תמיכה לשרת על חלונות
    * לא ידוע מה הורץ במקביל על מחשב הבדיקה, מה היה מתודולוגיית הבדיקה מבחינה של ניקוי הזכרון וכיו"ב.
    * לא הורצו בדיקות חוזרות – בהתייחס להערה הקודמת – בהחלט יכול להיות שאיזה תהליך של חלונות טחן את המחשב בזמן הריצה של MySQL ולא בזמן הריצה של Firebird – רק רצף בדיקות חוזרות יכול לאמת את הטענה.

    ואני בטח יכול להעלות עוד כמה נקודות אם אני אמשיך לחשוב על זה.

    אבל עידו – חשבתי שמאסת ב-Firebird/Interbase עוד מזמן?

  2. ik_5 מאת

    נתחיל מהסוף, כל המסדי נתונים דפוקים.
    לא נמאס לי מ firebird/Interbase, אבל כן נמאס לי מ MySQL. בייחוד אחרי הבעיות שהיו לי איתו.

    ואם לרגע אני אהיה קצת ציני:
    דבר ראשון הבדיקה נעשתה באמצעות ג'אווה, וג'אווה זה דבר פורטבילי, ולכן הוא צריך לרוץ בצורה זהה בכל מערכת מה לא ?! (לא!)

    דבר שני, מדוע MySQL מציעים ריצה על Windows אם זה לא מתאים למערכת ההפעלה הזו ? מה שאתה בסה"כ אומר זה שWindows אינו מתאים לשרתים בגלל שהוא לא מגיב אותו הדבר. אבל היות ויש הרבה יותר מידי כאלו שבוחרים בWindows בתור שרת, ובכלי קוד פתוח, לא עדיף לדעת מה עדיף ?
    השאלה היא אולי, האם השימוש ב Connector/J איטי יותר מהשימוש בJBird או שהמערכת קבצים של איפה שהנתונים נשמרו ב MySQL דורשים defragment בעוד שבFirebird לא.

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

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

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

  3. ארתיום

    אתם יודעים מה?

    אם מישהו יהיה מוכן להמיר את הסקריפט שלי למבנהFirebird מ־MySQL ובהנחה ש־Firebird יוכל להסתדר עם שאילתות שאני נותן ל־sqlite ו־mysql **כפישהן** אז אני מוכן לערוך ניסוי ולעשות השוואת ביצועים של יישום אמיתי על Firebird.

    למען האמת, די נמאס לי ללמוד את ההבדל בין sqlים השונים… כשאתה בא להגדיר foregin key, אינדקס או autoicrement לכל אחד מהם יש שטויות משלו.

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

    מה שיותר מעניין אותי זה שאילתות.

  4. ik_5 מאת

    ארתיום כשיהיה לי קצת זמן (בתקווה בסופ"ש הקרוב) אני אמיר את הסקריפט.

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

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

    יש ל Firebird הרבה יתרונות וגם הרבה חסרונות, ולדעתי די חשוב לדעת אותם. שים לב ש Interbase מי שהתחיל הכל, הוא לא מסד נתונים שהתחיל לפני יומיים, אלא הוא קיים לך משנות ה90, ויש כמה וכמה שימושים מסחריים שאני מכיר עבורו, מה שיכול להפוך אותו למאוד רלוונטי לאנשים.

  5. ארתיום

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

    מבחינת השאר (אני עובד עם InnoDB) זה נראה לי סביר. לפחות הרבה יותר נחמד בהשוואה עם PgSQL שהוא בכלל נראה כמו ייצור מעולם אחר…

להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s