Dragonfly, מערכת זיכרון זיכרון RAM

DragonFly

Dragonfly הוא מאגר נתונים בזיכרון שנבנה לעומסי עבודה מודרניים של יישומים.

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

שפיר תומך בפרוטוקולי Memcached ו-Redis, המאפשר לך להשתמש בספריות לקוח קיימות ובפרוייקטים של יציאה באמצעות Memcached ו- Redis to Dragonfly מבלי שתצטרך לעבוד מחדש את הקוד שלך.

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

במקביל, שפירית ניתן להגדיר לשימוש כאחסון משני שמקבל נתונים מהשרת הראשי על בסיס Dragonfly ו-Redis. ה-API לניהול שכפול תואם Redis ומבוסס על שימוש בפקודות ROLE ו-REPLICAOF (SLAVEOF).

על שפירית

ביצועים גבוהים מושגים הודות לארכיטקטורה מרובת חוטים ללא שיתוף משאבים (shared-nothing), מה שאומר שלכל שרשור מחובר בקר נפרד עם פיסת נתונים משלו, שעובד ללא mutex או ספין-locks.

מנעולי VLL קלים משמשים להבטחת אטומיות בעת התמודדות עם מפתחות מרובים, שכן כדי לאחסן את המידע ביעילות בזיכרון, נעשה שימוש במבנה ה-dashtable, המיישם מעין טבלאות Hash מחולקות.

בהשוואה לרדיס, Dragonfly מתגאה בשיפור ביצועים פי 25 (3,8 מיליון בקשות לשנייה) בעומסי עבודה טיפוסיים בסביבת Amazon EC2 c6gn.16xlarge. בהשוואה ל-Memcached בסביבת AWS c6gn.16xlarge, Dragonfly הצליחה להשלים פי 4,7 בקשות כתיבה בשנייה (3,8 מיליון לעומת 806k) ופי 1,77 יותר בקשות קריאה בשנייה (3,7 מיליון לעומת 2,1 מיליון).

בבדיקות אחסון של 5 GB, Dragonfly דרש 30% פחות זיכרון מאשר Redis. במהלך יצירת תמונת מצב באמצעות הפקודה "bgsave", צריכת הזיכרון עולה, אך בזמני שיא היא נשמרה כמעט פי שלושה בהשוואה ל-Redis, ופעולת כתיבת ה-Snapshot עצמה מהירה הרבה יותר (במקרה של Redis). test, a תמונת מצב נכתבה על Dragonfly תוך 30 שניות, ו- Redis - תוך 42 שניות).

כמה תכונות שפירית הן:

  • מצב מטמון המחליף אוטומטית נתונים ישנים בנתונים חדשים ברגע שהזיכרון הפנוי מתרוקן.
  • תמיכה במחזורי חיים של קשירת נתונים שבמהלכם הנתונים נחשבים מעודכנים.
  • תמיכה בשטיפה של מצב אחסון לדיסק ברקע לשחזור מאוחר יותר לאחר אתחול מחדש.
  • נוכחות של קונסולת HTTP (מתחבר ליציאת TCP 6379) לניהול מערכת וממשק API להחזרת מדדים, תואם ל-Prometheus.
  • תמיכה ב-185 פקודות Redis, שווה בערך לפונקציונליות של מהדורת Redis 5.
  • תמיכה בכל פקודות Memcached למעט CAS (אמת והגדר).
  • תמיכה בפעולות אסינכרוניות ליצירת צילומי מצב.
  • צריכת זיכרון צפויה.
  • מתורגמן משולב Lua 5.4.
  • תמיכה בסוגי נתונים מורכבים כגון גיבוב, סטים, רשימות (ZSET, HSET, LIST, SETS ו-STRING) ונתוני JSON.
  • תמיכה בשכפול אחסון עבור מעבר לכשל ואיזון עומסים.

למי שמתעניין בקוד Dragonfly, אתה צריך לדעת שזה כתוב ב-C/C++ ומופץ תחת הרישיון מנהלת הליגה המהות של BSL היא שקוד הפונקציונליות המורחבת זמין בתחילה לשינוי, אך למשך זמן מה ניתן להשתמש בו בחינם רק בכפוף לתנאים נוספים, המחייבים רכישת רישיון מסחרי לעקוף.

תנאי הרישיון הנוספים של פרויקט Dragonfly דורשים להעביר את הקוד ל-Apache License 2.0 ב-15 במרץ 2028. עד אז, הרישיון מתיר שימוש בקוד רק כדי להבטיח את פעולת השירותים והמוצרים שלו, אך אוסר על שימוש ליצירת בתשלום שירותי ענן הפועלים כפלאגין ל- Dragonfly.

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.