TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.3K subscribers
Post #12785 5.92K
در بلاگ جدیدم رفتم سراغ بررسی عملی پردازش ۱۰ گیگابایت داده روی لپ‌تاپ شخصی با DuckDB و تجربه‌های کلیدی پردازش داده‌های بزرگ بدون نیاز به کلود یا سرورهای گران‌قیمت را نوشتم.

در نهایت ۳۰ میلیون سطر داده متنی (حدود ۱۰.۵ گیگابایت) فقط در ۸۸ ثانیه وارد یک فایل ۲.۶۷ گیگابایتی DuckDB شد و زمان کوئری‌ها از ۲.۱ ثانیه به ۰.۰۳ ثانیه رسید (۷۰ برابر سریع‌تر).
البته باید حدود ۵۰ گیگ دیتای دیگه هم بهش اضافه بشه. ولی با این حال، سرعت موقع کوئری در حد میلی ثانیه ست.

چند نکته بسیار مهم از این تجربه عملی:

- قبل از شروع بارگذاری، بایت‌های فایل را چک کنید. خطاهای کدگذاری مثل CP1252 و کاراکترهای غیر استاندارد می‌توانند همان اول کار پردازش را خراب کنند.
- الگوی all_varchar = true: ابتدا تمام ستون‌ها را متنی بخوانید و سپس درون خود SQL نوع داده‌ها را تبدیل کنید. این کار مانع از تبدیل بی‌صدا و اشتباه داده‌ها به NULL می‌شود و صفر‌های ابتدای کدها را حفظ می‌کند.
- در جداول تحلیلی از Primary Key استفاده نکنید. تعریف کلید اصلی باعث ساخت ایندکس‌های سنگین می‌شود که سرعت بارگذاری را ۱۷ برابر کندتر و حجم فایل را ۵.۶ برابر بزرگ‌تر می‌کند.
- مدیریت حافظه: با تنظیم preserve_insertion_order = false حافظه مصرفی به‌شدت کاهش پیدا می‌کند و DuckDB حتی با محدودیت شدید حافظه (۱ گیگابایت رم) داده‌ها را بدون افت سرعت روی دیسک مدیریت می‌کند.

متن کامل مقاله:
http://mlnotes.substack.com

@DevTwitter | <Mehdi Allahyari/>
  • 👍 16
  • 🍌 9
  • ❤ 1
More from @devtwitter
  1. Oct 1, 2026این بار ساده‌تر با لینگانو ادامه بده! 📕 📍دسترسی نامحدود به دوره‌ها 📍پنل اختصاصی در سایت…
  2. Oct 1, 2026سایتی که حرصتان را درآورده با آرپی‌جی نابود کنید! بازی تحت وب Destroy Any Website یک تجربه…
  3. Oct 1, 2026سرویس Cloudflare می‌خواد به یه مرجع صدور گواهی عمومی تبدیل بشه. هدفشون چیه؟ می‌خوان گواهی‌…
  4. Oct 1, 2026صدای ویندوزهای قدیمی یادتونه؟ صدای Startup ویندوز XP، خطای Windows 98، صدای وصل شدن دستگاه…
  5. Oct 1, 2026Post #13400
  6. Oct 1, 2026اینم برای کسایی که بکند رو بهتر میخوان یاد بگیرن https://www.youtube.com/watch?v=_PipiJ_i6…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →