הודיע על השקת ה גרסה חדשה של DuckDB 0.9.0 עם שם הקוד "Undulata" לכבוד ברווז צהוב-מקור יליד אפריקה. המהדורה החדשה בולטת הכוללת גיבוב Out-Of-Core, שיפורי ביצועים מצטברים של hash, שיפורי ביצועים ועוד.
DuckDB לשלב מאפייני SQLite כמו קומפקטיות, יכולת חיבור בצורת ספרייה משולבת, אחסון מסד הנתונים בקובץ בודד וממשק CLI נוח, עם כלים ואופטימיזציות לביצוע שאילתות אנליטיות המכסות חלק ניכר מהנתונים המאוחסנים, למשל, אשר מבצעים צבירה של כל תוכן הטבלה או מיזוג טבלאות גדולות מרובות.
תכונות חדשות עיקריות של DuckDB 0.9.0 "Undulata"
אחת התכונות החדשות העיקריות של הגרסה החדשה של DuckDB 0.9.0 היא אולי ה שיפור ביצועים עם גיבוב Out-Of-Core, מאז, בעת הוספת מערכי נתונים גדולים בעת עיבוד שאילתות. מוזכר שבאמצעות מנוע ביצוע סטרימינג ומנהל חוצץ, DuckDB תומך בפעולות רבות על מערכי נתונים החורגים מהזיכרון.
בגרסה זו, ה התמיכה בפריצת דיסקים מורחבת עוד יותר על ידי תמיכה בצברי hash מחוץ לליבה. מה שפותר את בעיית הפסקת הפעולה עקב חוסר זיכרון במצבים בהם הנתונים המשמשים להוספת טבלת ה-hash אינם מתאימים ל-RAM.
חידוש נוסף שבולט הוא שה תמיכה בדחיסה של מחרוזות וסוגי מספרים מספרים שלמים ממש לפני שהנתונים נכנסים לאופרטורי המיון והצבירה המקובצים, מה שהפחית משמעותית את צריכת הזיכרון.
בנוסף לזה, אנחנו יכולים גם למצוא את טעינה אוטומטית של תוספים מהימנים ויותקן באופן אופציונלי בעת שימוש בשאילתה. מוזכר כי ערכת ההרחבות לטעינה אוטומטית מוגבלת להרחבות הרשמיות המופצות על ידי DuckDB Labs.
אם כבר מדברים על הרחבות, גם ב-DuckDB 0.9.0 "Undulata" א תוסף עבור AWS אשר מספק יכולות המשתמשות ב-AWS SDK. הרחבה זו מכילה פונקציה "LOAD_AWS_CREDENTIALS" המשמשת את AWS כדי לקבל ולהגדיר באופן אוטומטי אישורים.
גם בגרסה זו הוא נוסף תמיכה בהרחבות הניתנות לטעינה ל-DuckDB-WASM. בעבר, כל הרחבה שרצית להשתמש עם לקוח WASM היה צריך להיות משולב. עם גרסה זו, ניתן לטעון תוספים באופן דינמי. כאשר תוסף נטען, מורידים את חבילת WASM והפונקציונליות של התוסף מופעלת.
משאר השינויים הבולטים מהגרסה החדשה הזו:
- הפעלת ניקוי אוטומטי של קבוצות שורות שלמות בעת ביצוע פעולת DELETE. האפשרות לקצץ את קובץ מסד הנתונים (הקטנת גודלו) לאחר מחיקת נתונים מיושמת גם אם קבוצות השורות שנמחקו היו בסוף הקובץ.
- שיפור היעילות של אחסון אינדקסי ART המשמשים לאימות ייחודיות או מפתחות ראשיים וזרים. לדוגמה, בהשוואה לגרסה הקודמת, גודל אינדקס הבדיקה ירד מ-278 מגה-בייט ל-78 מגה-בייט.
- תקן רגרסיה ותקן מנגנון מחק
- תוקנה שגיאת פילוח בעת הוספת נתוני רשימה
- בדיקות ART ו-benchmark refactoring
- מגבלת זיכרון מוגברת בבדיקה כדי למנוע כשלי IC לא דטרמיניסטיים
- נוסף תוסף ניסיוני לקריאת נתונים מאחסון Azure. תוסף זה מאפשר ל-DuckDB לקרוא נתונים מאוחסנים ב-Azure באופן מקורי, בדומה לאופן שבו הוא יכול לקרוא נתונים המאוחסנים ב-S3.
- הגדרת Jemalloc, בתוספת מקצה חיץ והסרת עותק מחרוזת מיותר במילון פרקט
- הלקוח הוסיף תמיכה ניסיונית עבור PySpark API.
- נוסף תוסף ניסיוני לקריאת טבלאות בפורמט Apache Iceberg.
- עדכון יוליה ל-0.8.1
- הוסיף conn.interrupt() ל- DuckDB Python API
- תיקון של פרמטרי רגרסיה של x/y שהוחלפו
סוף סוף אם אתה מעוניין לדעת יותר על זה, אתה יכול לבדוק את הפרטים בקישור הבא.