
תצוגה מקדימה של DuckDB v2.0: מצב שרת, טריגרים ופורמט אחסון חדש
מסד הנתונים האנליטי יקבל מצב לקוח-שרת, תמיכה מלאה בטריגרים, טיפוס VARIANT כשווה זכויות וקלט-פלט אסינכרוני. גרסה 2.0, בשם Cyanoptera, תצא בסתיו עם יותר מ-10,000 קומיטים.
DuckDB פרסמה תצוגה מקדימה של גרסה 2.0 — המהדורה הגדולה הבאה של מסד הנתונים האנליטי שרץ בתוך התהליך. ההשקה צפויה בסתיו ותיקרא Cyanoptera, על שם הברווזון החום. היא כוללת יותר מ-10,000 קומיטים מאז v1.5 שיצאה במרץ, והפרויקט מתאר אותה כפתיחת «שנת DuckDB כשרת».
סוף סוף מצב שרת
השינוי המרכזי הוא תמיכה בלקוח-שרת. הרחבת quack, שהוצגה במאי, מיישמת את הפרוטוקול המקורי של DuckDB והופכת ליציבה ב-v2.0: כל תהליך DuckDB יכול לשרת את מסדי הנתונים שלו ברשת, ותהליך DuckDB אחר יכול להתחבר אליו ולהפנות אליו שאילתות בפקודת CONNECT החדשה. CONNECT אינה מוגבלת ל-DuckDB: כשמפנים אותה לשרת PostgreSQL או MySQL היא שולחת SQL ישירות למערכת המרוחקת במקום למשוך טבלאות ברשת, באמצעות אופטימיזר remote pushdown חדש. הצוות מציין ש-DuckDB הייתה טרנזקציונלית עם MVCC מלא מהיום הראשון — יתרון שמתממש כעת בפריסות מרובות משתמשים וארוכות טווח. מאותה סיבה עובדו מחדש גם המדדים והלוגים.
VARIANT, טריגרים ותוספות SQL
טיפוס VARIANT, שהוצג ב-v1.5, הופך לשווה זכויות מלא: פיצול המבנה נעשה ישירות מהאחסון, החילוץ נדחף אל תוך הסריקות, קריאה וכתיבה של Parquet נתמכות, ומתווספת משפחת פונקציות variant_*. בצוות מתכננים לבסס על VARIANT גם את טיפוס JSON הרגיל זמן קצר לאחר ההשקה, כך שעומסי JSON קיימים ייהנו מאותם יתרונות בלי לשנות שאילתות.
טריגרים מגיעים במלואם: BEFORE ו-AFTER, FOR EACH ROW ו-FOR EACH STATEMENT, טבלאות מעבר דרך REFERENCING OLD/NEW TABLE, כמה טריגרים לאירוע, RETURNING ו-DROP TRIGGER. השימוש הקלאסי הוא טבלת ביקורת שמתעדת שינויים.
הדיאלקט של SQL מקבל חיפוש דמיון top-k כסעיף join (APPROX NEAREST, לעומסי וקטורים ו-embeddings), DML בתוך CTE, סכמות מקוננות, תחביר $variable, פונקציות שינוי JSON כמו json_set ו-CTE רקורסיביים עם אגרגציית USING KEY.
קלט-פלט מהיר, שאילתות מהירות והרחבות חתומות
קלט-פלט אסינכרוני פועל כעת בכל המנוע, כך ששכבת הקלט-פלט מתרחבת בנפרד מעיבוד השאילתות: תחילה Parquet, אחר כך CSV והפורמט המקורי של DuckDB, ובנוסף מצבי MMAP ו-DIRECT_IO חדשים. הרווח הגדול ביותר הוא באחסון רשתי. בצד השאילתות, אגרגטים חלקיים נדחפים מתחת ל-join, מנוע ה-CTE הרקורסיבי נכתב מחדש, אגרגציות נשפכות לדיסק כשהן חורגות מהזיכרון, וה-CLI של Windows הפך מהיר פי 2.2 בערך בהרכבת תוצאות מרובת תהליכונים.
ההרחבות מקבלות C API יציב שעובד מחדש, ובנוסף — עדיין בתהליך — מאגרים שנרשמים על ידי משתמשים ומפיצים הרחבות חתומות ב-RSA, כשבזמן הרישום מודפס טביעת האצבע SHA-256 של כל מפתח. מהסתיו תוסיף קרן DuckDB מועצה מייעצת של בעלי עניין שתסייע לכיווני הפיתוח של DuckDB, DuckLake ו-Quack. גרסאות תצוגה מקדימה כבר כוללות את רוב היכולות האלה, אך הצוות מזהיר שהפרטים עשויים להשתנות עד להשקה בסתיו.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.