عنوان:

‫مقیاس‌بندی یک واردکننده CSV .NET برای SQL Server: از 3+ روز به 3.8 ساعت


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۰/۱۵ ۰۴:۰۷
آدرس: www.dntips.ir
یک توسعه‌دهنده با یک مشکل مواجه شد: وارد کردن یک فایل CSV بزرگ (40 گیگابایت) حاوی ساختارهای JSON پیچیده به یک پایگاه داده SQL Server. نسخه اول واردکننده بیش از 3 روز طول می‌کشید تا اجرا شود که برای یک مهاجرت یک‌باره قابل قبول بود. با این حال، با تغییر الزامات و نیاز به بارگذاری منظم چندین فایل مشابه، این زمان غیرقابل قبول شد. مشکل اصلی پردازش متوالی بود که باعث می‌شد CPU در زمان‌های زیادی بیکار بماند. برای حل این مشکل، توسعه‌دهنده از تکنیک‌های مختلفی مانند پردازش موازی، استفاده از `SqlBulkCopy` برای درج سریع‌تر داده‌ها در پایگاه داده و بهینه‌سازی نحوه تجزیه JSON استفاده کرد. این تغییرات منجر به بهبود چشمگیری در عملکرد شد و زمان اجرا را از بیش از 3 روز به تنها 3.8 ساعت کاهش داد. این بهینه‌سازی امکان بارگذاری منظم فایل‌ها و پشتیبانی از تحلیل‌ها و توسعه را فراهم کرد.


مشاهده مطلب اصلی