تیم DuckDB به AWS پیوست
خلاصهٔ کاملتر
AWS و DuckLabs اعلام کردن که تیم سازندهی DuckDB بهعنوان یه شرکت زیرمجموعه به AWS میپیونده. اندی وارفیلد تو بلاگ All Things Distributed نوشته که خود پروژه اوپنسورس و زیر لایسنس MIT میمونه، سرپرستیش دست بنیاد DuckDB باقی میمونه، و همون تیم از همون دفتر آمستردام توسعه رو ادامه میده.
به گفتهی نویسنده، حرف اصلی این اتفاق فنیه نه تجاری. طراحی سیستمها همیشه جواب دادن به «فیزیک» روزه، یعنی نسبت سرعت حافظه به شبکه و دیسک. اوایل دههی ۲۰۰۰ گلوگاه این بود که یه سرور تکی نمیتونست داده رو بهاندازهی کافی سریع بخونه، و همین محدودیت بود که MapReduce گوگل و بعدترش RDDهای Spark رو به وجود آورد.
ولی اون نسبتها عوض شدن. نوزده سال پیش قویترین اینستنس EC2 یعنی m1.xlarge حدود ۱۵ گیگ رم، ۴ هستهی مجازی و تقریباً ۱ گیگابیت شبکه داشت؛ یه m8g.48xlarge امروز نزدیک ۵۰ برابرِ هر سهتاست. دادهها هم بزرگتر شدن، اما نویسنده میگه رشدشون یه توزیعه: فقط دنبالهی نمودار منفجر شده و خیلی از دیتاستها به چیزهای انسانی مثل تعداد مشتری یا تراکنش گره خوردن.
همین جابهجایی، مقالهی ۲۰۱۵ با عنوان «Scalability! But at what COST?» رو دوباره مهم میکنه. نویسندههاش یه پیادهسازی تکنخی خوب رو با فریمورکهای توزیعشده مقایسه کردن و دیدن اون نسخهی تکنخ از سیستمهای گراف توزیعشده روی ۱۲۸ هسته جلو میزنه و تازه با ۵۱۲ هستهست که نسخهی توزیعشده ازش رد میشه. حرفشون حذف توزیع نبود، توجه به بازده هر هسته بود.
DuckDB از ۲۰۱۸ روی همین شرط بسته. هانس مولایزن و مارک راسولت که از همون آزمایشگاه MonetDB در CWI اومدن، موتور رو به شکل یه کتابخونه ساختن که تو همون فضای آدرس برنامه اجرا میشه (یعنی مثل SQLite، بدون یه سرویس جدا اونور سیم). همین فرم کتابخونهای باعث شده به WebAssembly هم کامپایل بشه و کامل داخل تب مرورگر بالا بیاد.
همکاری با AWS از S3 Tables شروع شد: AWS اسپانسر افزونهی Iceberg شد تا Iceberg بیرون از دنیای Spark هم قابل استفاده باشه. اون افزونه الان هم نسخهی v2 و هم v3 مشخصات Iceberg رو پیاده کرده، هفتهای بیش از ۸۰۰ هزار بار دانلود میشه، و کار روش پشتیبانی async I/O رو جلو انداخت که قراره تو نسخهی 2.0 برسه. وارفیلد DuckDB رو «glibc دادهی ساختیافته» صدا میزنه و تأکید میکنه این جایگزین پردازش توزیعشده نیست؛ کاری که واقعاً هزار ماشین میخواد، هنوز هزار ماشین میخواد.
نکات کلیدی:
- DuckLabs بهعنوان زیرمجموعه به AWS میپیونده؛ DuckDB زیر لایسنس MIT و سرپرستی بنیاد DuckDB اوپنسورس میمونه
- تیم تو همون دفتر آمستردام میمونه و پروژه از ۲۰۱۸ توسط هانس مولایزن و مارک راسولت ساخته شده
- m8g.48xlarge امروزی حدود ۵۰ برابر m1.xlarge سال ۲۰۰۷ رم، هسته و پهنای باند شبکه داره
- افزونهی Iceberg هم v2 و هم v3 رو پیاده کرده و هفتهای بیش از ۸۰۰ هزار دانلود داره
- پشتیبانی async I/O تو نسخهی 2.0 میرسه، با هدف اشباعکردن NIC موقع اسکن جدولها از S3




