SlideShare a Scribd company logo
‫حق‬ ‫بسمه‬
‫مفهوم‬
staging
‫داده‬ ‫پایگاه‬ ‫در‬
: ‫نویسنده‬
‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬
: ‫نسخه‬
0.1
: ‫نویسنده‬ ‫درباره‬
‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬
cyber security
. ‫هستم‬
‫از‬ ‫بیش‬
۱۵
. ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬
‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬
/ / / / / /
Devops Platform Cloud Eng |Gnu Linux System Network Security Storage
/
Engineer Admin & Oracle Dba | Linux Trainer |Consultant
): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬
. ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬
‫تبریز‬ ‫الگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬
: ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬
: +9809991057856
Mob
Telegram ID : yashar_esm
Telegram channel : unixmens
Instagram Account
Linkedin Account :/ /
in yashar_esmaildokht
: ‫مشاوره‬
. ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
: ‫به‬ ‫تقدیم‬
‫خدا‬
‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬
‫مادرم‬
‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬‫َم‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬
‫پدرم‬
‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬
‫عشقم‬
‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬
‫سورس‬ ‫اپن‬ ‫جامعه‬
‫بشریت‬
‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬
): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
‫مینویسم‬
‫تا‬
‫بمانم‬
‫لینوکس‬ ‫و‬ ‫گنو‬ ‫تاریخچه‬
“ ‫مخفف‬ ‫گنو‬ .‫‌باشد‬
‫ی‬‫م‬ ‫سازگار‬ ‫یونیکس‬ ‫با‬ ‫‌ای‬
‫ه‬‫فزایند‬ ‫طــور‬ ‫به‬ ‫کــه‬ ‫بــوده‬ ‫آزاد‬ ‫کامال‬ ‫عامل‬ ‫سیــستم‬ ‫یک‬ ‫گنو‬ ‫عامل‬ ‫سیستم‬
’
GNU s Not
Unix
‫سپتامبر‬ ‫در‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫اولیه‬ ‫اطالعیه‬ ‫استالمن‬ ‫ریچارد‬ .‫است‬ ”
۱۹۸۳
‫سپتامبر‬ ‫در‬ ‫گنو‬ ‫اعالمیه‬ ‫نام‬ ‫به‬ ‫آن‬ ‫‌تر‬
‫ل‬‫کام‬ ‫نسخه‬ .‫کرد‬ ‫منتشر‬
۱۹۸۵
.‫است‬ ‫شده‬ ‫ترجمه‬ ‫زبان‬ ‫چندین‬ ‫به‬ ‫که‬ ‫شد‬ ‫منتشر‬
“ ‫برای‬ ‫بازگشتی‬ ‫مخفف‬ ‫یک‬ ،‫نخست‬ ‫‌کند؛‬
‫ی‬‫م‬ ‫بــرطــرف‬ ‫را‬ ‫نیــازها‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫است‬ ‫شده‬ ‫انتخاب‬ ‫علت‬ ‫این‬ ‫به‬ »‫«گنو‬ ‫نام‬
’
GNU s Not
Unix
.‫است‬ ‫جالب‬ ‫آن‬ )‫خواندن‬ ‫(یا‬ ‫گفتن‬ ‫آهنگ‬ ،‫سوم‬ ،‫است‬ ‫واقعی‬ ‫کلمه‬ ‫یک‬ ،‫دوم‬ ،‫است‬ ”
‫یا‬ ‫بپردازید‬ ‫مبلغی‬ ‫است‬ ‫ممکن‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫شما‬ .‫قیمت‬ ‫نه‬ ،‫‌کند‬
‫ی‬‫م‬ ‫اشاره‬ ‫آزادی‬ ‫به‬ »‫آزاد‬ ‫‌افزار‬
‫م‬‫«نر‬ ‫در‬ »‫«آزاد‬ ‫کلمه‬
‫آزادی‬ ،‫نخست‬ .‫داشت‬ ‫خواهید‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫ویــژه‬ ‫آزادی‬ ‫ســه‬ ،‫باشید‬ ‫داشتــه‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫وقتـی‬ ،‫صورت‬ ‫هر‬ ‫در‬ .‫نپردازید‬
‫داشتن‬ ‫با‬ ،‫دلخواه‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫در‬ ‫تغییرات‬ ‫اعمال‬ ‫بــرای‬ ‫آزادی‬ ،‫دوم‬ ‫همــکاران؛‬ ‫و‬ ‫دوستان‬ ‫به‬ ‫آن‬ ‫دادن‬ ‫هدیه‬ ‫و‬ ‫برنامه‬ ‫از‬ ‫برداری‬ ‫نسخه‬ ‫برای‬
‫را‬ ‫گنو‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مجددا‬ ‫(اگر‬ .‫جامعه‬ ‫ساخت‬ ‫به‬ ‫کمک‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫یافته‬ ‫بهبود‬ ‫نسخه‬ ‫توزیع‬ ‫برای‬ ‫آزادی‬ ،‫سوم‬ ‫منبع؛‬ ‫کدهای‬ ‫به‬ ‫کامل‬ ‫دسترسی‬
.)‫کنید‬ ‫هدیه‬ ‫رایگان‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫یا‬ ‫و‬ ‫کنید‬ ‫دریافت‬ ‫را‬ ‫مبلغی‬ ‫نسخه‬ ‫یک‬ ‫انتقال‬ ‫فیزیکی‬ ‫کار‬ ‫بــرای‬ ‫‌تــوانـید‬
‫ی‬‫م‬ ،‫نمایید‬ ‫توزیع‬
‫ســال‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫نامیده‬ «‫گنو‬ ‫»پروژه‬ ،‫گنو‬ ‫سیستم‬ ‫توسعه‬ ‫پروژه‬
۱۹۸۳
‫در‬ ‫که‬ ‫همکاری‬ ‫روح‬ ‫بازگرداندن‬ ‫برای‬ ‫راهی‬ ‫عنوان‬ ‫به‬ ‫گنــو‬ ‫پــروژه‬
‫انحصاری‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫صاحبان‬ ‫توسط‬ ‫که‬ ‫موانع‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫تا‬ ‫شد‬ ‫ایجاد‬ ‫داشـت‬ ‫وجــود‬ ‫کامپیــوتر‬ ‫کاربران‬ ‫جامعه‬ ‫بین‬ ‫در‬ ‫نخست‬ ‫روزهای‬
.‫سازد‬ ‫ممکن‬ ‫را‬ ‫همکاری‬ ‫دیگر‬ ‫بار‬ ‫یک‬ ،‫بودند‬ ‫شده‬ ‫تحمیل‬
‫سال‬ ‫در‬
۱۹۷۱
‫دانشگاه‬ ‫در‬ ‫را‬ ‫خود‬ ‫کار‬ ‫استالمن‬ ‫ریچارد‬ ‫که‬ ‫هنگامی‬
MIT
‫استفاده‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫منحصرا‬ ‫کــه‬ ‫گــروهی‬ ‫در‬ ،‫کرد‬ ‫آغاز‬
‫آزاد‬ ‫یکدیگر‬ ‫با‬ ‫همکاری‬ ‫در‬ ‫‌نویسان‬
‫ه‬‫بــرنام‬ .‫‌کــردند‬
‫ی‬‫م‬ ‫توزیع‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اغلب‬ ‫نیز‬ ‫کامپیوتری‬ ‫‌های‬
‫ت‬‫شرک‬ ‫حتی‬ .‫پرداخت‬ ‫کار‬ ‫به‬ ‫‌کردند‬
‫ی‬‫م‬
.‫‌دادند‬
‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫همین‬ ‫نیز‬ ‫اغلب‬ ‫و‬ ‫بودند‬
‫دهه‬ ‫در‬
۱۹۸۰
‫منع‬ ‫را‬ ‫کاربزان‬ ‫توسط‬ ‫همکاری‬ ‫آنها‬ ‫مالکان‬ ‫و‬ ‫داشتند‬ ‫مالک‬ ‫که‬ ‫معنی‬ ‫این‬ ‫بــه‬ ،‫بودند‬ ‫انحصاری‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫تمام‬ ‫تقریبا‬
.‫‌کرد‬
‫ی‬‫م‬ ‫ایجاب‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫ضرورت‬ ‫کار‬ ‫این‬ ‫که‬ ‫‌کردند‬
‫ی‬‫م‬
‫‌توانید‬
‫ی‬‫نم‬ ‫حتی‬ ‫شـما‬ ،‫بــاشـد‬ ‫نـداشـته‬ ‫وجــود‬ ‫آزادی‬ ‫عامل‬ ‫سـیـستم‬ ‫اگــر‬ ‫دارند؛‬ ‫نیــاز‬ ‫عامل‬ ‫سیستم‬ ‫یــک‬ ‫به‬ ‫کامپیوتر‬ ‫کاربران‬ ‫تمام‬
‫عامل‬ ‫سیستم‬ ‫یک‬ ‫وجود‬ ،‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫در‬ ‫ضرورت‬ ‫اولیــن‬ ‫بنــابــراین‬ .‫کنید‬ ‫شروع‬ ‫را‬ ‫کامپیوتر‬ ‫با‬ ‫کار‬ ‫انحصاری‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫از‬ ‫استفاده‬ ‫بدون‬
.‫است‬ ‫آزاد‬
‫انتقال‬ ‫قابل‬ ‫و‬ ‫خورده‬ ‫محک‬ ‫قبال‬ ‫آن‬ ‫کلی‬ ‫طــراحی‬ ‫زیرا‬ ‫بساند‬ ‫یونیکس‬ ‫با‬ ‫منطبق‬ ‫عاملی‬ ‫سیستم‬ ‫تا‬ ‫گرفتند‬ ‫تصمیم‬ ‫آزاد‬ ‫افزاری‬ ‫نرم‬ ‫جنبش‬
.‫‌کرد‬
‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫گنو‬ ‫به‬ ‫یونیکس‬ ‫کاربران‬ ‫حرکت‬ ‫سازگاری‬ ‫این‬ ‫همچنین‬ ‫و‬ ،‫بود‬
،‫متن‬ ‫‌بندی‬
‫ب‬‫قال‬ ‫‌های‬
‫ه‬‫برنام‬ ،‫ویــرایشــگـرها‬ ،‫کامپــایـلرها‬ ‫شــامــل‬ ‫و‬ ‫اســت؛‬ ‫هسته‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫خیلی‬ ‫یونیکس‬ ‫شبه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬
‫ژانویه‬ ‫در‬ .‫است‬ ‫بزرگی‬ ‫بسیار‬ ‫کار‬ ‫کامل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫نوشتن‬ ‫بنابرایـن‬ .‫‌باشد‬
‫ی‬‫م‬ ‫دیگر‬ ‫چیزهای‬ ‫خیلی‬ ‫و‬ ‫پستی‬ ‫‌افزارهای‬
‫م‬‫نر‬
۱۹۸۴
‫شروع‬
‫اکتبر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬ .‫انجامید‬ ‫طول‬ ‫به‬ ‫سالها‬ ‫کردند‬ ‫کار‬ ‫به‬
۱۹۸۵
.‫شد‬ ‫تاسیس‬ ‫گنو‬ ‫توسعه‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫سرمایه‬ ‫جذب‬ ‫برای‬ ‫بیشتر‬
‫سال‬ ‫تا‬
۱۹۹۰
‫سال‬ ‫در‬ ،‫یونیکس‬ ‫شبه‬ ‫هسته‬ ‫یک‬ ،‫لینوکس‬ ‫سپس‬ . ‫یافتند‬ ‫دست‬ ‫هسته‬ ‫جــز‬ ‫بــه‬ ،‫عامل‬ ‫سیستم‬ ‫اصلی‬ ‫اجزای‬ ‫تمامی‬ ‫به‬
۱۹۹۱
‫ســال‬ ‫در‬ ‫و‬ ‫کرد‬ ‫پیدا‬ ‫توسعه‬ ‫تروالدز‬ ‫لینوس‬ ‫توسط‬
۱۹۹۲
‫گنو‬ ‫کامل‬ ‫تقریبا‬ ‫سیستم‬ ‫با‬ ‫لینوکس‬ ‫ترکیب‬ .‫شد‬ ‫آزاد‬ ‫‌افـزار‬
‫م‬‫نــر‬ ‫یــک‬
‫‌های‬
‫م‬‫سیست‬ ‫از‬ ‫نفر‬ ‫میلیون‬ ‫‌ها‬
‫ه‬‫د‬ ‫‌اکنون‬
‫م‬‫ه‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫زده‬ ‫تخمــین‬ .‫لینوکس‬/‫گنـو‬ ‫سیستم‬ :‫شد‬ ‫کــامل‬ ‫عامــل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫منجر‬
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫غـیـره‬ ‫و‬ ‫ردهــت‬ ،‫دبیــان‬ ،‫اسلکور‬ ‫شــامــل‬ ،‫لینوکس‬/‫گنو‬
‫را‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫از‬ ‫کامل‬ ‫مجموعه‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نظر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬ .‫است‬ ‫نشده‬ ‫محدود‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫گنو‬ ‫پروژه‬ ،‫حال‬ ‫این‬ ‫با‬
.‫‌شود‬
‫ی‬‫م‬ ‫نیز‬ ‫کاربردی‬ ‫‌افزارهای‬
‫م‬‫نـر‬ ‫شــامــل‬ ‫مــوضــوع‬ ‫ایــن‬ .‫باشند‬ ‫داشته‬ ‫‌خواهند‬
‫ی‬‫م‬ ‫کاربــران‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫آنچه‬ ‫هر‬ ، ‫کند‬ ‫ایجاد‬
‫بنیاد‬ ‫جهت‬ ‫همین‬ ‫به‬ ‫کنند‬ ‫تهیه‬ ‫‌افزار‬
‫م‬‫نر‬ ‫نیز‬ ‫ندارند‬ ‫مهارت‬ ‫کامپیـوتر‬ ‫زمینه‬ ‫در‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫دارد‬ ‫قصد‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬
.‫کرد‬ ‫ایجاد‬ ،‫گنو‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫‌کار‬
‫ه‬‫تاز‬ ‫کاربران‬ ‫به‬ ‫کمک‬ ‫منظور‬ ‫به‬ ‫گرافیکی‬ ‫کار‬ ‫میز‬ ‫یک‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬
.‫است‬ ‫دسترس‬ ‫در‬ ‫‌اکنون‬
‫م‬‫ه‬ ‫آزاد‬ ‫بازی‬ ‫تعدادی‬ .‫کند‬ ‫ایجاد‬ ‫نیز‬ ‫دیگــری‬ ‫تفریح‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ی‬‫باز‬ ‫‌خــواهد‬
‫ی‬‫م‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬
‫به‬ ‫را‬ ‫گنو‬ ‫‌افزار‬
‫م‬‫نر‬ ،‫انحصاری‬ ‫سیستم‬ ‫مانند‬ ‫قوانینی‬ ‫که‬ ‫زمانی‬ ‫جز‬ ‫بـه‬ ،‫نـدارد‬ ‫وجــود‬ ‫محدودیتی‬ ‫هیچ‬ ‫برود؟‬ ‫پیش‬ ‫‌تواند‬
‫ی‬‫م‬ ‫کجا‬ ‫تا‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬
‫دهند‬ ‫انجام‬ ‫‌خواهند‬
‫ی‬‫م‬ ‫کامپیوتر‬ ‫کاربران‬ ‫که‬ ‫کارهایی‬ ‫تمام‬ ‫انجام‬ ‫برای‬ ‫آزاد‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫کردن‬ ‫فراهم‬ ‫نــهـایی‬ ‫هــدف‬ .‫کننــد‬ ‫منع‬ ‫کامل‬ ‫طور‬
.‫‌باشد‬
‫ی‬‫م‬ ‫انحصاری‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫کردن‬ ‫مطرود‬ ‫نتیجه‬ ‫در‬ ‫و‬
‫باز‬ ‫متن‬ ‫افزار‬ ‫نرم‬
Open Source
Software
‫مقدمه‬
‫قواعد‬ ‫گذاشته‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اکوسیستم‬ ‫در‬ ‫‌گذاران‬
‫ه‬‫سرمای‬ ‫اقتصادی‬ ‫رفتار‬ ‫بر‬ ‫که‬ ‫‌ای‬
‫ه‬‫مالحظ‬ ‫قابل‬ ‫تأثیر‬ ‫با‬ ‫‌باز‬
‫ن‬‫مت‬ ‫افزار‬ ‫نرم‬
‫تولید‬ ‫فشار‬ ‫شرکتها‬ ،‫باشند‬ ‫کد‬ ‫کننده‬ ‫اعمال‬ ‫‌کنند‬
‫ی‬‫م‬ ‫سعی‬ ‫‌دهنگان‬
‫ه‬‫توسع‬ ‫تازه‬ ‫محیط‬ ‫این‬ ‫در‬ .‫است‬ ‫داده‬ ‫تغییر‬ ‫را‬ ‫بازی‬
.‫‌کشند‬
‫ی‬‫م‬ ‫را‬ ‫سرشاری‬ ‫سود‬ ‫انتظار‬ ‫سیستم‬ ‫فروشندگان‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫حس‬ ‫را‬ ‫‌باز‬
‫ن‬‫مت‬ ‫محصوالت‬
۱
‫معرفی‬ .
‫فعل‬ ‫در‬ ‫عمده‬ ‫تغییراتی‬ ‫اتفاق‬ ‫این‬ .‫است‬ ‫آورده‬ ‫بار‬ ‫به‬ ‫کاربران‬ ‫برای‬ ‫ارزانتر‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫بیش‬ ‫چیزی‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫ظهور‬
.‫است‬ ‫کرده‬ ‫ایجاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫حوزه‬ ‫بازیگران‬ ‫بین‬ ‫اقتصادی‬ ‫انفعال‬ ‫و‬
‫معنای‬ ‫به‬ ‫اما‬ ‫است‬ - ‫زندگی‬ ‫از‬ ‫سبکی‬ ‫حتی‬ ‫یا‬ - ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫به‬ ‫ویژه‬ ‫نگاهی‬ ‫تجسم‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌ها‬
‫ی‬‫خیل‬ ‫برای‬
‫جامعه‬ ‫رشد‬ ‫برای‬ ‫باید‬ ‫شرکتها‬ ‫که‬ ‫است‬ ‫این‬ ‫گابریل‬ ‫ریچارد‬ ‫و‬ ‫گلدمن‬ ‫ران‬ ‫پیشنهاد‬ .‫هست‬ ‫هم‬ ‫تجاری‬ ‫تدبیر‬ ‫نوعی‬
.‫نمایند‬ ‫ایجاد‬ ‫خدماتشان‬ ‫و‬ ‫محصوالت‬ ‫اطراف‬ ‫زنده‬ ‫محیطی‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫کاربرانشان‬
‫به‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫کاربر‬ ‫احتیاجات‬ ‫با‬ ‫آن‬ ‫دادن‬ ‫تطبیق‬ ‫برای‬ ‫که‬ ‫را‬ ‫کد‬ ‫متن‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫معمول‬ ‫بطور‬
‫مبلغی‬ ‫دریافت‬ ‫ازای‬ ‫در‬ ‫را‬ ‫ممکن‬ ‫تغییرات‬ ‫بعالوه‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بازپخش‬ ‫اجازه‬ ‫کاربر‬ ‫به‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروان‬ ‫اغلب‬ .‫دارد‬ ‫همراه‬
( ‫باشد‬ ‫دسترس‬ ‫در‬ ‫عمومی‬ ‫بصورت‬ ‫کد‬ ‫متن‬ ‫تغییرات‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌دهند‬
‫ی‬‫م‬ ‫بازپخش‬ ‫برای‬
. .
www opensource org
.)
‫یک‬ ‫اینکه‬ ‫بجای‬ .‫‌دهد‬
‫ی‬‫م‬ ‫توسعه‬ ‫جامعه‬ ‫که‬ ‫است‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫جمعی‬ ‫‌باز‬
‫ن‬‫مت‬ .‫دارد‬ ‫وجود‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫نوع‬ ‫دو‬
‫از‬ ‫یک‬ ‫کدام‬ ‫که‬ ‫‌گیرند‬
‫ی‬‫م‬ ‫تصمیم‬ ‫داوطلبان‬ ‫از‬ ‫برگزیده‬ ‫گروهی‬ ‫گاهی‬ ‫باشد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مالک‬ ‫حقوقی‬ ‫شخصیت‬
‫‌دهندگان‬
‫ه‬‫توسع‬ .‫برود‬ ‫سو‬ ‫کدام‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫و‬ ‫شوند‬ ‫پذیرفته‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫شده‬ ‫اعمال‬ ‫همکاریهای‬
‫آپاچی‬ ‫وب‬ ‫سرور‬ ‫مورد‬ ‫مانند‬ ‫‌گیرند‬
‫ی‬‫م‬ ‫تصمیم‬ ‫‌افزار‬
‫م‬‫نر‬ ‫درباره‬ ‫بخصوص‬ ‫شرکت‬ ‫یک‬ ‫نه‬ ‫و‬ ‫کد‬ ‫کنندگان‬ ‫اعمال‬ ،‫شخصی‬
(
. .
httpd apache org
.)
‫در‬ ‫را‬ ‫تالیف‬ ‫حق‬ ‫شرکت‬ .‫است‬ ‫آن‬ ‫‌دهنده‬
‫ه‬‫توسع‬ ‫و‬ ‫مالک‬ ،‫سود‬ ‫پی‬ ‫در‬ ‫شخصیتی‬ ‫که‬ ‫است‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫تجاری‬ ‫‌باز‬
‫ن‬‫مت‬
‫مانند‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫آینده‬ ‫در‬ ‫و‬ ‫بپذیرد‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫را‬ ‫کد‬ ‫کدام‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫تعیین‬ ‫و‬ ‫دارد‬ ‫اختیار‬
‫مورد‬
MySQL
‫داده‬ ‫پایگاه‬ ‫و‬
( . . )
MySQL www mysql com
.
‫متمرکز‬ ‫کار‬ ‫نیروی‬ ‫اقتصاد‬ ‫بر‬ ‫اغلب‬ ‫جامعه‬ ‫بوسیله‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اقتصاد‬ ‫درباره‬ ‫پیشین‬ ‫مطالعات‬
‫اشاره‬ ‫ریموند‬ ‫اریک‬ .‫‌یابد‬
‫ی‬‫م‬ ‫تخصیص‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫به‬ ‫‌آوری‬
‫ب‬‫تعج‬ ‫فراوان‬ ‫داوطلبانه‬ ‫کار‬ ‫میزان‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬
‫کمک‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫همتایانشان‬ ‫بین‬ ‫اعتبار‬ ‫افزایش‬ ‫از‬ ‫ناشی‬ ‫شخصی‬ ‫لذت‬ ‫بخاطر‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬
. ‫رسیدند‬ ‫مشابهی‬ ‫نتیجه‬ ‫به‬ ‫نیز‬ ‫خود‬ ‫تجربی‬ ‫مطالعه‬ ‫در‬ ‫همکارانش‬ ‫و‬ ‫هارووی‬ ‫ارنان‬ ‫‌کنند‬
‫ی‬‫م‬
‫‌انداز‬
‫م‬‫چش‬ ‫بهبود‬ ‫و‬ ‫فنی‬ ‫تواناییهای‬ ‫کردن‬ ‫مستند‬ ‫برای‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫استدالل‬ ‫تیروله‬ ‫جین‬ ،‫لرنرو‬ ‫جاشوا‬
‫لذت‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫گزارش‬ ‫گلف‬ ‫رابرت‬ ‫الخانیو‬ ‫کریم‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫آتی‬ ‫کارفرمایان‬ ‫برای‬ ‫شغلی‬
‫نشان‬ ‫مطالعه‬ ‫این‬ ‫گرچه‬ ‫است‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫کمک‬ ‫برای‬ ‫مهمی‬ ‫ذاتی‬ ‫محرک‬ ‫کار‬ ‫از‬ ‫بردن‬
.‫‌اند‬
‫م‬‫مه‬ ‫هم‬ ‫مالی‬ ‫‌های‬
‫ه‬‫انگیز‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬
‫را‬ ‫اشخاصی‬ ‫شرکتها‬ ‫چرا‬ ‫که‬ ‫‌دهد‬
‫ی‬‫نم‬ ‫شرح‬ ‫را‬ ‫این‬ ‫اما‬ ‫است‬ ‫داوطلبانه‬ ‫کار‬ ‫برای‬ ‫توضیحات‬ ‫از‬ ‫‌ای‬
‫ه‬‫پار‬ ‫اینها‬ ‫که‬ ‫حالی‬ ‫در‬
‫همکارانش‬ ‫و‬ ‫هان‬ ‫هورن‬ ‫ایل‬ .‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫شرکت‬ ‫کاری‬ ‫زمان‬ ‫در‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫استخدام‬
‫در‬ ‫آنها‬ ‫رتبه‬ ‫با‬ ‫مستقیمی‬ ‫رابطه‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫آپاچی‬ ‫افزار‬ ‫نرم‬ ‫بنیاد‬ ‫پروژه‬ ‫به‬ ‫که‬ ‫کسانی‬ ‫حقوق‬ ‫که‬ ‫دریافتند‬
‫معیاری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫بنیاد‬ ‫در‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫رتبه‬ ‫کارفرمایان‬ ‫که‬ ‫گرفتند‬ ‫نتیجه‬ ‫محققین‬ ‫پس‬ .‫دارد‬ ‫آپاچی‬ ‫تشکیالت‬
.‫‌گیرند‬
‫ی‬‫م‬ ‫بکار‬ ‫مولد‬ ‫‌های‬
‫ی‬‫توانای‬ ‫سنجش‬ ‫برای‬
Staging
‫نام‬ ‫به‬ ‫جداولی‬ ‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ‫موقت‬ ‫ذخیره‬ ‫فرآیند‬ ‫به‬
staging tables
‫‌های‬
‫م‬‫سیست‬ ‫در‬ ‫که‬ ‫دارد‬ ‫اشاره‬
Data
Warehouse
‫و‬
( , , )
ETL Extract Transform Load
‫‌سازی‬
‫ه‬‫آماد‬ ‫و‬ ‫تبدیل‬ ،‫پاکسازی‬ ،‫بارگذاری‬ ‫برای‬ ‫جداول‬ ‫این‬ .‫‌رود‬
‫ی‬‫م‬ ‫کار‬ ‫به‬
،‫واقع‬ ‫در‬ .‫‌شوند‬
‫ی‬‫م‬ ‫استفاده‬ ‫اصلی‬ ‫داده‬ ‫پایگاه‬ ‫یا‬ ‫نهایی‬ ‫جداول‬ ‫به‬ ‫انتقال‬ ‫برای‬ ‫‌ها‬
‫ه‬‫داد‬
staging
‫‌های‬
‫ه‬‫داد‬ ‫نگهداری‬ ‫برای‬ ‫میانی‬ ‫محیط‬ ‫یک‬
.‫دارند‬ ‫پردازش‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫است‬ ‫‌هایی‬
‫ه‬‫داد‬ ‫یا‬ ‫خام‬
‫کاربردهای‬
Staging
:‫مختلف‬ ‫منابع‬ ‫از‬ ‫داده‬ ‫‌آوری‬
‫ع‬‫جم‬
‫‌های‬
‫ل‬‫فای‬ ‫(مانند‬ ‫مختلف‬ ‫منابع‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫از‬ ‫خام‬ ‫‌های‬
‫ه‬‫داد‬
CSV
‫به‬ )... ‫و‬ ‫‌ها‬
‫ت‬‫‌سای‬
‫ب‬‫و‬ ،‫دیگر‬ ‫‌های‬
‫ه‬‫داد‬ ‫پایگاه‬ ،
staging tables
‫منتقل‬
.‫شوند‬ ‫آماده‬ ‫پردازش‬ ‫برای‬ ‫و‬ ‫شده‬ ‫تجمیع‬ ‫یکجا‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬
‫‌ها‬
‫ه‬‫داد‬ ‫‌سازی‬
‫ن‬‫یکسا‬ ‫و‬ ‫پاکسازی‬
‫در‬ .‫باشند‬ ‫دیگر‬ ‫خطاهای‬ ‫یا‬ ‫تکراری‬ ‫مقادیر‬ ،‫خالی‬ ‫‌های‬
‫ه‬‫داد‬ ،‫ناسازگاری‬ ‫دارای‬ ‫است‬ ‫ممکن‬ ،‫‌شوند‬
‫ی‬‫م‬ ‫دریافت‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫که‬ ‫‌هایی‬
‫ه‬‫داد‬ :
‫جداول‬
staging
.‫کرد‬ ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫این‬ ‫‌توان‬
‫ی‬‫م‬
:‫داده‬ ‫انبار‬ ‫برای‬ ‫‌ها‬
‫ه‬‫داد‬ ‫‌سازی‬
‫ه‬‫آماد‬ ‫و‬ ‫تبدیل‬
‫تغییرات‬ ‫این‬ .‫باشند‬ ‫داشته‬ ‫خاصی‬ ‫‌های‬
‫ل‬‫تبدی‬ ‫یا‬ ‫محاسبات‬ ،‫فرمت‬ ‫تغییر‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫شوند‬ ‫استفاده‬ ‫داده‬ ‫انبار‬ ‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫این‬ ‫برای‬
‫در‬
staging tables
.‫شوند‬ ‫آماده‬ ‫بعدی‬ ‫‌های‬
‫ل‬‫تحلی‬ ‫برای‬ ‫‌ها‬
‫ه‬‫داد‬ ‫تا‬ ‫‌شود‬
‫ی‬‫م‬ ‫انجام‬
:‫بارگذاری‬ ‫فرآیند‬ ‫کارایی‬ ‫بهبود‬
‫جداول‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫‌توان‬
‫ی‬‫م‬ ،‫کنیم‬ ‫منتقل‬ ‫نهایی‬ ‫جداول‬ ‫به‬ ‫مستقیمًا‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫این‬ ‫جای‬ ‫به‬
staging
‫انجام‬ ‫را‬ ‫الزم‬ ‫عملیات‬ ،‫کرد‬ ‫ذخیره‬
.‫شود‬ ‫انجام‬ ‫بیشتری‬ ‫کارایی‬ ‫با‬ ‫و‬ ‫‌تر‬
‫ع‬‫سری‬ ‫نهایی‬ ‫بارگذاری‬ ‫‌شود‬
‫ی‬‫م‬ ‫باعث‬ ‫کار‬ ‫این‬ .‫کرد‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫تجمیعی‬ ‫صورت‬ ‫به‬ ‫سپس‬ ‫و‬ ،‫داد‬
:‫‌ها‬
‫ه‬‫داد‬ ‫‌روزرسانی‬
‫ه‬‫ب‬ ‫و‬ ‫تغییرات‬ ‫مدیریت‬
‫جداول‬ .‫باشند‬ ‫داشته‬ ‫تغییر‬ ‫و‬ ‫‌روزرسانی‬
‫ه‬‫ب‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ‫‌ها‬
‫ه‬‫داد‬
staging
‫‌ای‬
‫ه‬‫دور‬ ‫صورت‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫‌دهند‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ما‬ ‫به‬
.‫کنیم‬ ‫منتقل‬ ‫نهایی‬ ‫داده‬ ‫انبار‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کنیم‬ ‫‌روز‬
‫ه‬‫ب‬
:‫اصلی‬ ‫جداول‬ ‫روی‬ ‫بار‬ ‫کاهش‬
‫جداول‬ ‫به‬ ‫پاکسازی‬ ‫و‬ ‫پردازشی‬ ‫عملیات‬ ‫انتقال‬ ‫با‬
staging
.‫‌شود‬
‫ی‬‫م‬ ‫محافظت‬ ‫پرهزینه‬ ‫عملیات‬ ‫و‬ ‫سنگین‬ ‫بارهای‬ ‫برابر‬ ‫در‬ ‫اصلی‬ ‫جداول‬ ‫از‬ ،
.‫شود‬ ‫جلوگیری‬ ‫سیستم‬ ‫در‬ ‫اختالالت‬ ‫از‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫بهتری‬ ‫عملکرد‬ ‫اصلی‬ ‫جداول‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫باعث‬ ‫امر‬ ‫این‬
‫کاربردهای‬ ‫از‬ ‫‌هایی‬
‫ل‬‫مثا‬
Staging
‫مختلف‬ ‫صنایع‬ ‫در‬
:‫‌فروشی‬
‫ه‬‫خرد‬
.‫مختلف‬ ‫مراکز‬ ‫و‬ ‫‌ها‬
‫ه‬‫فروشگا‬ ‫از‬ ‫روزانه‬ ‫فروش‬ ‫‌های‬
‫ه‬‫داد‬ ‫پاکسازی‬ ‫و‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫برای‬
:‫مالی‬ ‫و‬ ‫بانکی‬
.‫دارند‬ ‫تحلیل‬ ‫و‬ ‫تجمیع‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬ ‫وارد‬ ‫مختلف‬ ‫‌های‬
‫م‬‫سیست‬ ‫از‬ ‫که‬ ‫مالی‬ ‫‌های‬
‫ش‬‫تراکن‬ ‫پردازش‬ ‫برای‬
:‫بیمه‬
.‫ریسک‬ ‫‌های‬
‫ل‬‫تحلی‬ ‫برای‬ ‫‌سازی‬
‫ه‬‫آماد‬ ‫و‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫پرداختی‬ ‫خسارات‬ ‫و‬ ‫‌گذاران‬
‫ه‬‫بیم‬ ‫‌های‬
‫ه‬‫داد‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫برای‬
:‫درمان‬ ‫و‬ ‫بهداشت‬
.‫درمانی‬ ‫مراکز‬ ‫و‬ ‫‌ها‬
‫ه‬‫آزمایشگا‬ ،‫‌ها‬
‫ن‬‫بیمارستا‬ ‫مختلف‬ ‫‌های‬
‫م‬‫سیست‬ ‫از‬ ‫بیماران‬ ‫به‬ ‫مربوط‬ ‫‌های‬
‫ه‬‫داد‬ ‫پردازش‬ ‫و‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫برای‬
‫از‬ ‫استفاده‬ ‫مزایای‬
Staging
:‫‌ها‬
‫ه‬‫داد‬ ‫کیفیت‬ ‫افزایش‬
.‫شد‬ ‫مطمئن‬ ‫بعدی‬ ‫‌های‬
‫ل‬‫تحلی‬ ‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ‫دقت‬ ‫و‬ ‫کیفیت‬ ‫از‬ ‫‌توان‬
‫ی‬‫م‬ ،‫‌ها‬
‫ه‬‫داد‬ ‫‌سازی‬
‫ن‬‫یکسا‬ ‫و‬ ‫پاکسازی‬ ‫با‬
:‫‌ها‬
‫ه‬‫داد‬ ‫مدیریت‬ ‫در‬ ‫سهولت‬ ‫و‬ ‫پیچیدگی‬ ‫کاهش‬
‫پیچیده‬ ‫فرآیندهای‬
ETL
.‫داشت‬ ‫‌ها‬
‫ه‬‫داد‬ ‫روی‬ ‫بر‬ ‫‌تری‬
‫ن‬‫آسا‬ ‫مدیریت‬ ‫و‬ ‫کرد‬ ‫تقسیم‬ ‫مختلفی‬ ‫‌های‬
‫ش‬‫بخ‬ ‫به‬ ‫‌توان‬
‫ی‬‫م‬ ‫را‬
:‫‌پذیری‬
‫س‬‫مقیا‬ ‫و‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ ‫افزایش‬
‫جداول‬ ‫از‬ ‫استفاده‬ ‫با‬
staging
.‫داد‬ ‫انجام‬ ‫را‬ ‫‌تری‬
‫م‬‫حجی‬ ‫‌های‬
‫ش‬‫پرداز‬ ‫و‬ ‫آمد‬ ‫کنار‬ ‫‌ها‬
‫ه‬‫داد‬ ‫حجم‬ ‫افزایش‬ ‫با‬ ‫راحتی‬ ‫به‬ ‫‌توان‬
‫ی‬‫م‬ ،
‫قابلیت‬
staging table
‫‌های‬
‫م‬‫سیست‬ ‫در‬ ‫ویژه‬ ‫به‬ ،‫‌ها‬
‫ه‬‫داد‬ ‫پایگاه‬ ‫در‬
Data Warehouse
،‫‌ها‬
‫م‬‫سیست‬ ‫این‬ ‫در‬ .‫دارد‬ ‫کلیدی‬ ‫نقش‬ ‫یک‬ ،
‫جداول‬ ‫به‬ ‫موقت‬ ‫صورت‬ ‫به‬ ‫ابتدا‬ ‫و‬ ‫شده‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫‌ها‬
‫ه‬‫داد‬
staging
‫جداول‬ ‫در‬ ‫نهایی‬ ‫بارگذاری‬ ‫از‬ ‫پیش‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬ ‫منتقل‬
‫‌های‬
‫ه‬‫داد‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫عمل‬ ‫بافر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫‌ها‬
‫ل‬‫جدو‬ ‫این‬ .‫شود‬ ‫انجام‬ ‫‌ها‬
‫ن‬‫آ‬ ‫روی‬ ‫تبدیل‬ ‫و‬ ‫استانداردسازی‬ ،‫پاکسازی‬ ‫نظیر‬ ‫فرآیندهایی‬ ،‫اصلی‬
.‫‌کنند‬
‫ی‬‫م‬ ‫‌سازی‬
‫ه‬‫آماد‬ ‫بعدی‬ ‫‌های‬
‫ل‬‫تحلی‬ ‫برای‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫غیراستاندارد‬ ‫و‬ ‫خام‬
‫جداول‬ ‫از‬ ‫استفاده‬ ‫مزایای‬
Staging
‫در‬ .‫باشند‬ ‫متفاوتی‬ ‫‌های‬
‫ت‬‫فرم‬ ‫و‬ ،‫خالی‬ ‫مقادیر‬ ،‫ناسازگاری‬ ‫دارای‬ ‫است‬ ‫ممکن‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫‌ها‬
‫ه‬‫داد‬ :‫‌ها‬
‫ه‬‫داد‬ ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬
‫جداول‬
staging
.‫شود‬ ‫تضمین‬ ‫‌ها‬
‫ل‬‫تحلی‬ ‫در‬ ‫استفاده‬ ‫از‬ ‫پیش‬ ‫‌ها‬
‫ه‬‫داد‬ ‫کیفیت‬ ‫تا‬ ‫است‬ ‫فراهم‬ ‫‌ها‬
‫ه‬‫داد‬ ‫فرمت‬ ‫تطبیق‬ ‫و‬ ‫پاکسازی‬ ‫امکان‬ ،
‫همراه‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫ریختگی‬ ‫هم‬ ‫در‬ ‫و‬ ‫عملکرد‬ ‫کندی‬ ‫مانند‬ ‫مشکالتی‬ ‫‌تواند‬
‫ی‬‫م‬ ‫اصلی‬ ‫جداول‬ ‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ‫مستقیم‬ ‫بارگذاری‬ :‫کارایی‬ ‫افزایش‬
‫از‬ ‫استفاده‬ ‫با‬ .‫باشد‬ ‫داشته‬
staging table
.‫کرد‬ ‫منتقل‬ ‫نهایی‬ ‫جداول‬ ‫به‬ ‫‌سازی‬
‫ه‬‫آماد‬ ‫از‬ ‫پس‬ ‫و‬ ‫تجمیعی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫‌توان‬
‫ی‬‫م‬ ،
‫فرآیند‬ ‫تسهیل‬
ETL
‫فرآیند‬ ‫از‬ ‫مهمی‬ ‫بخش‬ ‫‌ها‬
‫ل‬‫جدو‬ ‫این‬ :
( , , )
ETL Extract Transform Load
‫بهتر‬ ‫مدیریت‬ ‫امکان‬ ‫و‬ ‫هستند‬
.‫‌کنند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫جریان‬
‫جدید‬ ‫‌های‬
‫ت‬‫قابلی‬
23
Oracle c AI
‫برای‬
Staging Table
‫نسخه‬ ‫در‬ ‫اوراکل‬
23c AI
‫جداول‬ ‫برای‬ ‫‌تری‬
‫ه‬‫بهین‬ ‫و‬ ‫جدید‬ ‫‌های‬
‫ی‬‫ویژگ‬
staging
‫و‬ ‫مدرن‬ ‫کارهای‬ ‫برای‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫که‬ ‫است‬ ‫داده‬ ‫ارائه‬
:‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬ ‫‌توان‬
‫ی‬‫م‬ ‫‌ها‬
‫ت‬‫قابلی‬ ‫این‬ ‫جمله‬ ‫از‬ .‫‌بخشد‬
‫ی‬‫م‬ ‫بهبود‬ ‫‌تر‬
‫ه‬‫پیچید‬
‫دستور‬
FOR STAGING
‫ساده‬ ‫دستور‬ ‫با‬ ‫را‬ ‫جداول‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫ویژگی‬ ‫این‬ :
FOR STAGING
‫عنوان‬ ‫به‬
staging
.‫کند‬ ‫استفاده‬ ‫جداول‬ ‫این‬ ‫برای‬ ‫داخلی‬ ‫‌سازی‬
‫ه‬‫بهین‬ ‫امکانات‬ ‫از‬ ‫برخی‬ ‫از‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫اوراکل‬ ‫به‬ ‫تعریف‬ ‫این‬ .‫کنند‬ ‫تعریف‬
‫در‬ :‫‌ها‬
‫ه‬‫داد‬ ‫هوشمندانه‬ ‫مدیریت‬
23
Oracle c AI
‫جداول‬ ‫خودکار‬ ‫نگهداری‬ ‫و‬ ‫‌روزرسانی‬
‫ه‬‫ب‬ ‫امکان‬ ،
staging
‫و‬ ،‫است‬ ‫یافته‬ ‫بهبود‬
.‫است‬ ‫شده‬ ‫‌تر‬
‫ن‬‫آسا‬ ‫باال‬ ‫حجم‬ ‫با‬ ‫و‬ ‫پویا‬ ‫‌ای‬
‫ه‬‫داد‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫جداول‬ ‫این‬ ‫‌کارگیری‬
‫ه‬‫ب‬
‫فرآیند‬ ‫در‬ ‫‌سازی‬
‫ه‬‫بهین‬
Truncate
‫جداول‬ ‫‌توان‬
‫ی‬‫م‬ ،‫قابلیت‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ :‫‌ها‬
‫ه‬‫داد‬ ‫بارگذاری‬ ‫و‬
staging
‫سرعت‬ ‫به‬ ‫را‬
truncate
‫زمان‬ ‫و‬ ‫کارایی‬ ‫بهبود‬ ‫باعث‬ ‫امر‬ ‫این‬ .‫شود‬ ‫فراهم‬ ‫جدید‬ ‫‌های‬
‫ه‬‫داد‬ ‫برای‬ ‫فضا‬ ‫و‬ ‫شده‬ ‫حذف‬ ‫قدیمی‬ ‫‌های‬
‫ه‬‫داد‬ ‫‌شود‬
‫ی‬‫م‬ ‫باعث‬ ‫کار‬ ‫این‬ ‫که‬ ،‫کرد‬
.‫‌شود‬
‫ی‬‫م‬ ‫‌ها‬
‫ه‬‫داد‬ ‫مجدد‬ ‫بارگذاری‬
‫اوراکل‬ :‫خودکار‬ ‫‌های‬
‫ی‬‫‌ساز‬
‫ه‬‫بهین‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ش‬‫پرداز‬ ‫از‬ ‫پشتیبانی‬
23c
‫جداول‬ ‫برای‬ ‫را‬ ‫موازی‬ ‫پردازش‬ ‫امکان‬
staging
‫کرده‬ ‫فراهم‬
‫فرآیندهای‬ ‫‌شود‬
‫ی‬‫م‬ ‫موجب‬ ‫که‬ ‫است‬
ETL
.‫شوند‬ ‫انجام‬ ‫باالتر‬ ‫سرعت‬ ‫با‬ ‫و‬ ‫‌تر‬
‫ه‬‫بهین‬ ‫شکل‬ ‫به‬ ‫‌تر‬
‫ه‬‫پیچید‬ ‌
‫ت‬‫عملیا‬ ‫و‬
‫قابلیت‬ ‫از‬ ‫چرا‬
Staging
‫در‬
23
Oracle c AI
‫کنیم؟‬ ‫استفاده‬
‫جداول‬ ‫به‬ ‫پاکسازی‬ ‫عملیات‬ ‫و‬ ‫سنگین‬ ‫‌های‬
‫ش‬‫پرداز‬ ‫انتقال‬ ‫با‬ :‫اصلی‬ ‫جداول‬ ‫روی‬ ‫بار‬ ‫کاهش‬
staging
‫را‬ ‫اصلی‬ ‫جداول‬ ‫بار‬ ‫‌توان‬
‫ی‬‫م‬ ،
.‫کرد‬ ‫جلوگیری‬ ‫کارایی‬ ‫مشکالت‬ ‫و‬ ‫‌ریختگی‬
‫م‬‫دره‬ ‫از‬ ‫و‬ ‫داد‬ ‫کاهش‬
‫جداول‬ :‫‌ها‬
‫ه‬‫داد‬ ‫کیفیت‬ ‫بهبود‬
staging
‫این‬ ‫که‬ ،‫شوند‬ ‫پاکسازی‬ ‫و‬ ‫‌سازی‬
‫ه‬‫آماد‬ ،‫نهایی‬ ‫جداول‬ ‫به‬ ‫ورود‬ ‫از‬ ‫پیش‬ ‫‌ها‬
‫ه‬‫داد‬ ‫تا‬ ‫‌دهند‬
‫ی‬‫م‬ ‫اجازه‬
.‫رود‬ ‫باالتر‬ ‫نهایی‬ ‫‌های‬
‫ه‬‫داد‬ ‫کیفیت‬ ‫‌شود‬
‫ی‬‫م‬ ‫باعث‬ ‫امر‬
‫اوراکل‬ ‫خاص‬ ‫‌های‬
‫ی‬‫‌ساز‬
‫ه‬‫بهین‬ ‫دلیل‬ ‫به‬ :‫حافظه‬ ‫و‬ ‫منابع‬ ‫بهتر‬ ‫مدیریت‬
23c
‫جداول‬ ‫برای‬
staging
‫منابع‬ ‫از‬ ‫‌تری‬
‫ه‬‫بهین‬ ‫استفاده‬ ‫‌توان‬
‫ی‬‫م‬ ،
.‫داشت‬ ‫حافظه‬ ‫و‬ ‫سیستمی‬
‫فرآیند‬ ‫در‬ ‫سهولت‬
ETL
‫که‬ ‫‌شوند‬
‫ی‬‫م‬ ‫باعث‬ ،‫سریع‬ ‫دسترسی‬ ‫و‬ ‫موازی‬ ‫پردازش‬ ‫برای‬ ‫اوراکل‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫از‬ ‫پشتیبانی‬ ‫دلیل‬ ‫به‬ ‫جداول‬ ‫این‬ :
‫فرآیند‬
ETL
.‫شود‬ ‫انجام‬ ‫کارآمدتر‬ ‫و‬ ‫‌تر‬
‫ع‬‫سری‬
‫جول‬
staging
‫محیط‬ ‫در‬
Data Warehouse
‫خام‬ ‫‌های‬
‫ه‬‫داد‬ .‫‌رود‬
‫ی‬‫م‬ ‫‌کار‬
‫ه‬‫ب‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫‌ها‬
‫ه‬‫داد‬ ‫موقت‬ ‫نگهداری‬ ‫و‬ ‫دریافت‬ ‫برای‬
‫منتقل‬ ‫نهایی‬ ‫جدول‬ ‫به‬ ‫سپس‬ ‫و‬ ‫شود‬ ‫انجام‬ ‫استاندارد‬ ‫فرمت‬ ‫به‬ ‫‌ها‬
‫ه‬‫داد‬ ‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫فرآیند‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬ ‫منتقل‬ ‫جدول‬ ‫این‬ ‫به‬ ‫ابتدا‬
.‫‌گردند‬
‫ی‬‫م‬
‫استفاده‬ ‫از‬ ‫قبل‬ ‫معموًال‬ ‫جداول‬ ‫این‬
truncate
‫در‬ ،‫خاص‬ ‫‌طور‬
‫ه‬‫ب‬ .‫شوند‬ ‫جایگزین‬ ‫جدید‬ ‫‌های‬
‫ه‬‫داد‬ ‫و‬ ‫شده‬ ‫حذف‬ ‫قبلی‬ ‫‌های‬
‫ه‬‫داد‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬
‫اوراکل‬ ‫نسخه‬
23c
‫جداول‬ ‫تعریف‬ ‫برای‬ ‫جدیدی‬ ‫قابلیت‬ ،
staging
‫عبارت‬ ‫افزودن‬ ‫با‬ ‫که‬ ‫شده‬ ‫معرفی‬
FOR STAGING
‫دستور‬ ‫به‬
CREATE TABLE
.‫است‬ ‫تنظیم‬ ‫قابل‬
‫جداول‬ ‫تعریف‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫باعث‬ ‫قابلیت‬ ‫این‬
staging
‫ایجاد‬ ‫دستور‬ ‫از‬ ‫‌ای‬
‫ه‬‫ساد‬ ‫مثال‬ ‫تصویر‬ ‫در‬ .‫باشد‬ ‫‌تر‬
‫ل‬‫‌کنتر‬
‫ل‬‫قاب‬ ‫و‬ ‫‌تر‬
‫ه‬‫ساد‬ ‫اوراکل‬ ‫در‬
‫جدول‬
staging
:‫است‬ ‫شده‬ ‫آورده‬
create table STGtbl (id number, name varchar2(100), address varchar2(1000)) FOR STAGING;
‫فرآیندهای‬ ‫در‬ ‫تسهیل‬ ‫و‬ ‫‌ها‬
‫ه‬‫داد‬ ‫موقت‬ ‫مدیریت‬ ‫امکان‬ ‫ویژگی‬ ‫این‬
( , , )
ETL Extract Transform Load
‫‌تواند‬
‫ی‬‫م‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬
.‫کند‬ ‫کمک‬ ‫‌ها‬
‫ه‬‫داد‬ ‫انبار‬ ‫در‬ ‫‌ها‬
‫ن‬‫آ‬ ‫مدیریت‬ ‫و‬ ‫‌ها‬
‫ه‬‫داد‬ ‫بارگذاری‬ ‫کارایی‬ ‫بهبود‬ ‫به‬
‫در‬
MySQL
‫و‬
MariaDB
‫مفهوم‬ ،
staging
‫فرآیند‬ ‫از‬ ‫بخشی‬ ‫‌عنوان‬
‫ه‬‫ب‬ ‫نیز‬
( , , )
ETL Extract Transform Load
‫مورد‬
‫‌های‬
‫م‬‫سیست‬ ‫برخالف‬ ‫‌ها‬
‫م‬‫سیست‬ ‫این‬ ‫اما‬ ،‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬
Data Warehouse
‫مثل‬
Oracle
‫و‬
SQL Server
‫‌های‬
‫ت‬‫قابلی‬ ،
‫از‬ ‫‌توان‬
‫ی‬‫م‬ ،‫حال‬ ‫این‬ ‫با‬ .‫‌دهند‬
‫ی‬‫م‬ ‫ارائه‬ ‫جداول‬ ‫نوع‬ ‫این‬ ‫برای‬ ‫کمتری‬ ‫تخصصی‬
staging tables
‫در‬
MySQL
‫و‬
MariaDB
‫برای‬
.‫کرد‬ ‫استفاده‬ ‫‌ها‬
‫ه‬‫داد‬ ‫موقت‬ ‫پردازش‬ ‫و‬ ‫بارگذاری‬
‫تعریف‬
Staging Table
‫در‬
/
MySQL MariaDB
‫در‬
MySQL
‫و‬
MariaDB
‫جداول‬ ،
staging
‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ساده‬ ‫‌طور‬
‫ه‬‫ب‬
CREATE TABLE
‫عنوان‬ ‫به‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬ ‫ایجاد‬
‫ایجاد‬ ‫برای‬ .‫‌کنند‬
‫ی‬‫م‬ ‫عمل‬ ‫‌ها‬
‫ن‬‫آ‬ ‫روی‬ ‫بر‬ ‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫عملیات‬ ‫اجرای‬ ‫و‬ ‫‌ها‬
‫ه‬‫داد‬ ‫ذخیره‬ ‫برای‬ ‫موقت‬ ‫جداول‬
staging table
‫به‬ ‫نیاز‬ ،
.‫کرد‬ ‫اضافه‬ ‫خاصی‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫‌ها‬
‫ل‬‫جدو‬ ‫این‬ ‫به‬ ‫‌توان‬
‫ی‬‫م‬ ‫نیازها‬ ‫به‬ ‫توجه‬ ‫با‬ ‫اما‬ ،‫است‬ ‫معمولی‬ ‫جدول‬ ‫یک‬ ‫تعریف‬
‫جدول‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫‌ای‬
‫ه‬‫ساد‬ ‫مثال‬
staging
:
CREATE TABLE staging_table (
id INT,
name VARCHAR(100),
address VARCHAR(255),
status VARCHAR(50)
);
‫کاربردهای‬
Staging Table
‫در‬
/
MySQL MariaDB
‫‌های‬
‫ل‬‫فای‬ ‫(مثل‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫که‬ ‫‌هایی‬
‫ه‬‫داد‬ :‫ورودی‬ ‫‌های‬
‫ه‬‫داد‬ ‫موقت‬ ‫ذخیره‬
CSV، JSON
‫دریافت‬ )‫خارجی‬ ‫‌های‬
‫ه‬‫داد‬ ‫پایگاه‬ ‫یا‬ ،
‫در‬ ‫ابتدا‬ ،‫‌شوند‬
‫ی‬‫م‬
staging table
‫پردازش‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫باشند‬ ‫ناسازگار‬ ‫و‬ ‫خام‬ ‫اطالعات‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫‌ها‬
‫ه‬‫داد‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫بارگذاری‬
.‫دارند‬
‫در‬ :‫‌ها‬
‫ه‬‫داد‬ ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬
MySQL
‫و‬
MariaDB
‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ،
staging table
‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬ ‫قابل‬
.‫‌شود‬
‫ی‬‫م‬ ‫نامعتبر‬ ‫‌های‬
‫ه‬‫داد‬ ‫حذف‬ ‫و‬ ،‫تاریخ‬ ‫‌های‬
‫ت‬‫فرم‬ ‫اصالح‬ ،‫تکراری‬ ‫‌های‬
‫ه‬‫داد‬ ‫حذف‬ ‫شامل‬ ‫مراحل‬ ‫این‬ .‫هستند‬
‫تغییرات‬ ‫این‬ ،)‫خاص‬ ‫محاسبات‬ ‫یا‬ ‫جدید‬ ‫‌بندی‬
‫ت‬‫فرم‬ ،‫‌ها‬
‫ه‬‫داد‬ ‫نوع‬ ‫تغییر‬ ‫(مثًال‬ ‫باشند‬ ‫داشته‬ ‫تبدیل‬ ‫به‬ ‫نیاز‬ ‫‌ها‬
‫ه‬‫داد‬ ‫اگر‬ :‫‌ها‬
‫ه‬‫داد‬ ‫تبدیل‬
‫در‬ ‫‌توانند‬
‫ی‬‫م‬
staging table
.‫‌شوند‬
‫ی‬‫م‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫‌ها‬
‫ه‬‫داد‬ ،‫تغییرات‬ ‫این‬ ‫انجام‬ ‫از‬ ‫پس‬ .‫شوند‬ ‫انجام‬
‫کار‬ ‫این‬ .‫شوند‬ ‫منتقل‬ ‫داده‬ ‫پایگاه‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫ه‬‫داد‬ ،‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫مراحل‬ ‫انجام‬ ‫از‬ ‫پس‬ :‫اصلی‬ ‫جداول‬ ‫به‬ ‫داده‬ ‫انتقال‬
‫دستورات‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫معموًال‬
INSERT INTO SELECT
.‫‌شود‬
‫ی‬‫م‬ ‫انجام‬
‫‌های‬
‫ت‬‫عملیا‬ ‫از‬ ‫پشتیبانی‬
ETL
‫‌های‬
‫ت‬‫اسکریپ‬ ‫با‬
SQL
‫در‬ :
MySQL
‫و‬
MariaDB
‫‌های‬
‫ت‬‫عملیا‬ ‫معموًال‬ ،
ETL
‫با‬ ‫یا‬ ‫دستی‬ ‫صورت‬ ‫به‬
‫‌های‬
‫ت‬‫اسکریپ‬ ‫از‬ ‫استفاده‬
SQL
‫مانند‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬ ‫‌توان‬
‫ی‬‫م‬ ،‫‌تر‬
‫ه‬‫پیچید‬ ‫عملیات‬ ‫اجرای‬ ‫برای‬ .‫‌شوند‬
‫ی‬‫م‬ ‫انجام‬
Python
‫و‬
‫ابزارهای‬
ETL
‫مانند‬
Talend
‫و‬
Pentaho
‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬
MySQL
‫و‬
MariaDB
.‫‌شوند‬
‫ی‬‫م‬ ‫متصل‬
‫‌های‬
‫ت‬‫محدودی‬
Staging
‫در‬
/
MySQL MariaDB
‫تخصصی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫وجود‬ ‫عدم‬
Staging
‫مانند‬ ‫‌تر‬
‫ه‬‫پیشرفت‬ ‫‌های‬
‫ه‬‫داد‬ ‫پایگاه‬ ‫برخالف‬ :
Oracle، MySQL
‫و‬
MariaDB
‫‌طور‬
‫ه‬‫ب‬
‫جداول‬ ‫برای‬ ‫خاصی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫‌فرض‬
‫ش‬‫پی‬
staging
‫(مثل‬ ‫ندارند‬
FOR STAGING
‫در‬
Oracle
‫دستی‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫بنابراین‬ .)
‫جداول‬ ‫ساختار‬
staging
.‫کرد‬ ‫نگهداری‬ ‫و‬ ‫ایجاد‬ ‫را‬
‫عملیات‬
Truncate
‫در‬ :‫دستی‬ ‫‌روزرسانی‬
‫ه‬‫ب‬ ‫و‬
MySQL
‫و‬
MariaDB
‫جداول‬ ‫دستی‬ ‫صورت‬ ‫به‬ ‫باید‬ ،
staging
‫را‬
truncate
‫خودکارسازی‬ ‫فرآیندهای‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫کار‬ ‫این‬ .‫کرد‬ ‫حذف‬ ‫را‬ ‫قدیمی‬ ‫‌های‬
‫ه‬‫داد‬ ‫یا‬ ‫کرد‬
ETL
.‫کند‬ ‫ایجاد‬ ‫‌هایی‬
‫ی‬‫پیچیدگ‬
:‫محدود‬ ‫‌پذیری‬
‫س‬‫مقیا‬ ‫و‬ ‫موازی‬ ‫پردازش‬ ‫از‬ ‫کمتر‬ ‫پشتیبانی‬
MySQL
‫و‬
MariaDB
‫داده‬ ‫باالی‬ ‫حجم‬ ‫و‬ ‫سنگین‬ ‫پردازشی‬ ‫عملیات‬ ‫برای‬
.‫باشد‬ ‫بیشتری‬ ‫منابع‬ ‫و‬ ‫تنظیمات‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫باشند‬ ‫حجیم‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫بنابراین‬ ،‫‌اند‬
‫ه‬‫نشد‬ ‫بهینه‬
‫از‬ ‫چرا‬
Staging Table
‫در‬
/
MySQL MariaDB
‫کنیم؟‬ ‫استفاده‬
‫ایجاد‬ :‫‌ها‬
‫ه‬‫داد‬ ‫بهتر‬ ‫مدیریت‬
staging table
‫و‬ ‫پاکسازی‬ ‫سپس‬ ‫و‬ ‫کنید‬ ‫ذخیره‬ ‫موقت‬ ‫طور‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬
.‫دهید‬ ‫انجام‬ ‫‌ها‬
‫ن‬‫آ‬ ‫روی‬ ‫را‬ ‫الزم‬ ‫پردازش‬
‫فرآیند‬ ‫کارایی‬ ‫بهبود‬
ETL
‫به‬ ‫‌ها‬
‫ه‬‫داد‬ ‫انتقال‬ ‫با‬ :
staging table
‫و‬ ‫کرد‬ ‫وارد‬ ‫داده‬ ‫پایگاه‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫کمتری‬ ‫کاری‬ ‫بار‬ ‫‌توان‬
‫ی‬‫م‬ ،
.‫کرد‬ ‫حفظ‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫کارایی‬
‫مفاهیم‬ ‫از‬ ‫استفاده‬ :‫‌تر‬
‫ه‬‫پیشرفت‬ ‫‌های‬
‫م‬‫سیست‬ ‫به‬ ‫انتقال‬ ‫برای‬ ‫آمادگی‬
staging
‫در‬
MySQL
‫و‬
MariaDB
‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬
‫فرآیندهای‬ ‫که‬ ‫کند‬
ETL
.‫کنند‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫‌تر‬
‫ه‬‫پیچید‬ ‫داده‬ ‫پایگاه‬ ‫‌های‬
‫م‬‫سیست‬ ‫به‬ ‫انتقال‬ ‫قابل‬ ‫و‬ ‫استاندارد‬ ‫‌صورت‬
‫ه‬‫ب‬ ‫را‬
‫از‬ ‫استفاده‬ ‫برای‬ ‫کاربردی‬ ‫نکات‬
Staging Table
‫در‬
/
MySQL MariaDB
‫فرآیندهای‬ ‫انجام‬ ‫برای‬ :‫خودکار‬ ‫‌های‬
‫ت‬‫اسکریپ‬ ‫ایجاد‬
ETL
‫خارجی‬ ‫منابع‬ ‫از‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫کرد‬ ‫ایجاد‬ ‫خودکارسازی‬ ‫‌های‬
‫ت‬‫اسکریپ‬ ‫‌توان‬
‫ی‬‫م‬ ،
‫در‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ،‫کرده‬ ‫بارگذاری‬
staging table
.‫دهند‬ ‫انتقال‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫سپس‬ ‫و‬ ،‫کرده‬ ‫تبدیل‬ ‫و‬ ‫پاکسازی‬
‫ابزارهای‬ ‫از‬ ‫استفاده‬
ETL
‫فرآیندهای‬ ‫اجرای‬ ‫برای‬ :
ETL
‫ابزارهای‬ ‫از‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫پیچیده‬
ETL
‫مانند‬
Talend، Apache NiFi
‫یا‬ ،
Pentaho
‫به‬ ‫که‬ ‫کنید‬ ‫استفاده‬
MySQL
‫و‬
MariaDB
.‫‌کنند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫پردازش‬ ‫برای‬ ‫اضافی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬ ‫متصل‬
،‫نهایت‬ ‫در‬
staging tables
‫در‬
MySQL
‫و‬
MariaDB
‫فرآیندهای‬ ‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ‫مدیریت‬ ‫برای‬ ‫مفیدی‬ ‫ابزار‬
ETL
‫برای‬ ‫اما‬ ،‫هستند‬
.‫باشد‬ ‫می‬ ‫اضافی‬ ‫‌های‬
‫ک‬‫تکنی‬ ‫و‬ ‫ابزارها‬ ‫به‬ ‫نیاز‬ ،‫پیشرفته‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫‌سازی‬
‫ه‬‫پیاد‬
‫مورد‬ ‫در‬
staging tables
‫در‬
MySQL
‫و‬
MariaDB
‫قابلیت‬ ‫این‬ ‫از‬ ‫مؤثر‬ ‫استفاده‬ ‫و‬ ‫بهتر‬ ‫درک‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫مواردی‬ ،
:‫‌کنیم‬
‫ی‬‫م‬ ‫بررسی‬ ‫را‬ ‫موارد‬ ‫این‬ ‫از‬ ‫تعدادی‬ ،‫ادامه‬ ‫در‬ .‫کند‬ ‫کمک‬
( ‫موقت‬ ‫جداول‬ ‫از‬ ‫استفاده‬
Temporary Tables
:)
MySQL
‫و‬
MariaDB
( ‫موقت‬ ‫جداول‬ ‫از‬
temporary tables
‫عنوان‬ ‫به‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫پشتیبانی‬ )
staging tables
.‫گیرند‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫‌توانند‬
‫ی‬‫م‬ ‫نیز‬ ‫موقتی‬
( ‫نشست‬ ‫یک‬ ‫طول‬ ‫در‬ ‫تنها‬ ‫موقت‬ ‫جداول‬
session
‫حذف‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ،‫جلسه‬ ‫شدن‬ ‫بسته‬ ‫از‬ ‫پس‬ ‫و‬ ‫هستند‬ ‫دسترس‬ ‫در‬ ‫خاص‬ )
.‫‌شوند‬
‫ی‬‫م‬
‫کلیدی‬ ‫کلمه‬ ‫از‬ ،‫موقت‬ ‫جدول‬ ‫یک‬ ‫ایجاد‬ ‫برای‬
TEMPORARY
:‫‌کنیم‬
‫ی‬‫م‬ ‫استفاده‬
CREATE TEMPORARY TABLE temp_staging_table (
id INT,
name VARCHAR(100),
address VARCHAR(255)
);
‫دستورات‬ ‫از‬ ‫استفاده‬
TRUNCATE
‫و‬
DELETE
:
‫در‬ ‫قدیمی‬ ‫‌های‬
‫ه‬‫داد‬ ‫که‬ ‫زمانی‬
staging table
‫دستور‬ ‫با‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫‌توان‬
‫ی‬‫م‬ ،‫ندارند‬ ‫نیازی‬ ‫دیگر‬
TRUNCATE
‫یا‬
DELETE
‫پاک‬
.‫کرد‬
TRUNCATE
‫از‬ ‫‌تر‬
‫ع‬‫سری‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫خالی‬ ‫را‬ ‫جدول‬ ‫کل‬
DELETE
( ‫شرایط‬ ‫از‬ ‫‌دهد‬
‫ی‬‫نم‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫دستور‬ ‫این‬ ‫اما‬ ،‫است‬
condition
.‫کنید‬ ‫استفاده‬ ‫‌ها‬
‫ه‬‫داد‬ ‫حذف‬ ‫برای‬ ‫خاصی‬ )
‫از‬ ‫استفاده‬ ‫مثال‬
TRUNCATE
‫و‬
DELETE
:
TRUNCATE TABLE staging_table;
DELETE FROM staging_table WHERE created_at < '2024-01-01';
‫دستورات‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫‌ها‬
‫ه‬‫داد‬ ‫تبدیل‬
...
INSERT INTO SELECT
:
‫در‬ ‫‌ها‬
‫ه‬‫داد‬ ‫‌سازی‬
‫ه‬‫آماد‬ ‫و‬ ‫پاکسازی‬ ‫از‬ ‫پس‬ ‫معموًال‬
staging table
‫از‬ ‫‌توان‬
‫ی‬‫م‬ ‫کار‬ ‫این‬ ‫برای‬ .‫شوند‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫باید‬ ‫‌ها‬
‫ه‬‫داد‬ ،
‫دستور‬
...
INSERT INTO SELECT
.‫کرد‬ ‫استفاده‬
‫از‬ ‫مستقیم‬ ‫طور‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ما‬ ‫به‬ ‫روش‬ ‫این‬
staging table
.‫کنیم‬ ‫کپی‬ ‫مقصد‬ ‫جدول‬ ‫به‬
:‫مثال‬
INSERT INTO main_table (id, name, address)
SELECT id, name, address
FROM staging_table
WHERE status = 'valid';
( ‫‌ها‬
‫ص‬‫شاخ‬ ‫از‬ ‫استفاده‬
Indexes
:‫کارایی‬ ‫بهبود‬ ‫برای‬ )
‫‌های‬
‫ن‬‫ستو‬ ‫به‬ ‫‌ها‬
‫ص‬‫شاخ‬ ‫افزودن‬
staging table
‫‌های‬
‫ت‬‫عملیا‬ ‫کارایی‬ ‫بهبود‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ،‫‌شوند‬
‫ی‬‫م‬ ‫استفاده‬ ‫فیلترها‬ ‫و‬ ‫جستجوها‬ ‫در‬ ‫که‬
ETL
.‫کند‬ ‫کمک‬
‫وارد‬ ‫حجیمی‬ ‫‌های‬
‫ه‬‫داد‬ ‫که‬ ‫مواردی‬ ‫در‬ ‫ویژه‬ ‫به‬ ‫‌ها‬
‫ص‬‫شاخ‬
staging table
.‫هستند‬ ‫مفید‬ ،‫دارند‬ ‫سریع‬ ‫جستجوی‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬
‫انجام‬ ‫دقت‬ ‫با‬ ‫‌ها‬
‫ص‬‫شاخ‬ ‫از‬ ‫استفاده‬ ‫باید‬ ‫بنابراین‬ ،‫کند‬ ‫کندتر‬ ‫کمی‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫ورود‬ ‫عملیات‬ ‫‌تواند‬
‫ی‬‫م‬ ‫‌ها‬
‫ص‬‫شاخ‬ ‫ایجاد‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬
.‫شود‬
:‫مثال‬
CREATE INDEX idx_status ON staging_table (status);
:‫‌ها‬
‫گ‬‫ال‬ ‫ثبت‬ ‫و‬ ‫خطاها‬ ‫مدیریت‬
‫از‬ ‫‌ها‬
‫ه‬‫داد‬ ‫انتقال‬ ‫هنگام‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫توصیه‬ .‫باشند‬ ‫مختلفی‬ ‫خطاهای‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫ورودی‬ ‫‌های‬
‫ه‬‫داد‬ ،‫موارد‬ ‫از‬ ‫بسیاری‬ ‫در‬
staging
table
.‫شوند‬ ‫مدیریت‬ ‫و‬ ‫ثبت‬ ‫احتمالی‬ ‫خطاهای‬ ،‫اصلی‬ ‫جداول‬ ‫به‬
( ‫خطا‬ ‫جدول‬ ‫یک‬ ‫به‬ ‫را‬ ‫نامعتبر‬ ‫‌های‬
‫ه‬‫داد‬ ‫‌توان‬
‫ی‬‫م‬ ،‫مثال‬ ‫برای‬
error table
.‫کرد‬ ‫اصالح‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کرد‬ ‫منتقل‬ )
:‫مثال‬
INSERT INTO error_log (id, name, address)
SELECT id, name, address
FROM staging_table
WHERE status = 'invalid';
‫فرآیندهای‬ ‫‌بندی‬
‫ن‬‫زما‬
ETL
:
‫عملیات‬ ‫انجام‬ ‫برای‬
ETL
‫مانند‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫ابزارهای‬ ‫از‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫منظم‬ ‫صورت‬ ‫به‬
cron job
‫عملیات‬ ‫که‬ ‫کنید‬ ‫استفاده‬ ‫لینوکس‬ ‫در‬
.‫دهند‬ ‫انجام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫پردازش‬ ‫و‬ ‫بارگذاری‬
‫از‬ ‫استفاده‬ ‫با‬
cron jobs
‫فرآیندهای‬ ‫‌توان‬
‫ی‬‫م‬
ETL
‫‌ها‬
‫ه‬‫داد‬ ‫تا‬ )‫هفته‬ ‫هر‬ ‫یا‬ ‫شب‬ ‫هر‬ ‫(مثل‬ ‫کرد‬ ‫اجرا‬ ‫خاصی‬ ‫‌های‬
‫ن‬‫زما‬ ‫در‬ ‫را‬
.‫شوند‬ ‫‌روزرسانی‬
‫ه‬‫ب‬
‫ابزارهای‬ ‫از‬ ‫استفاده‬
ETL
‫فرآیندهای‬ ‫بهبود‬ ‫برای‬ ‫خارجی‬
Staging
:
‫مثل‬ ‫ابزارهایی‬
Apache NiFi، Talend
‫و‬
Pentaho
‫فرآیندهای‬ ‫‌توانند‬
‫ی‬‫م‬
ETL
‫واسطی‬ ‫عنوان‬ ‫به‬ ‫و‬ ‫کنند‬ ‫خودکارسازی‬ ‫را‬
‫به‬ ‫‌ها‬
‫ه‬‫داد‬ ‫انتقال‬ ‫برای‬
staging table
‫در‬
MySQL
‫یا‬
MariaDB
.‫شوند‬ ‫استفاده‬
‫فرآیند‬ ‫‌سازی‬
‫ه‬‫بهین‬ ‫و‬ ‫عملکرد‬ ‫پایش‬ ،‫خطا‬ ‫مدیریت‬ ‫نظیر‬ ‫امکاناتی‬ ‫ابزارها‬ ‫این‬
ETL
.‫‌کنند‬
‫ی‬‫م‬ ‫فراهم‬ ‫نیز‬ ‫را‬
‫فرآیندهای‬ ‫آزمایش‬ ‫و‬ ‫تست‬
ETL
:
‫فرآیندهای‬ ‫اجرای‬ ‫از‬ ‫قبل‬ ‫‌شود‬
‫ی‬‫م‬ ‫توصیه‬
ETL
‫اطمینان‬ ‫فرآیند‬ ‫صحت‬ ‫از‬ ‫تا‬ ‫دهید‬ ‫انجام‬ ‫کافی‬ ‫‌های‬
‫ت‬‫تس‬ ،‫واقعی‬ ‫‌های‬
‫ه‬‫داد‬ ‫روی‬ ‫بر‬
.‫کنید‬ ‫حاصل‬
‫از‬ ‫استفاده‬
staging table
‫به‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کنید‬ ‫تست‬ ‫جداگانه‬ ‫محیط‬ ‫یک‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬
.‫کنید‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬
‫پایانی‬ ‫نکته‬
‫از‬ ‫استفاده‬
staging tables
‫در‬
MySQL
‫و‬
MariaDB
‫در‬ ‫اما‬ ،‫باشد‬ ‫داشته‬ ‫نیاز‬ ‫بیشتری‬ ‫منابع‬ ‫و‬ ‫پیچیدگی‬ ‫به‬ ‫است‬ ‫ممکن‬ ‫اگرچه‬
‫‌توانید‬
‫ی‬‫م‬ ‫باال‬ ‫موارد‬ ‫رعایت‬ ‫با‬ .‫شد‬ ‫خواهد‬ ‫اصلی‬ ‫جداول‬ ‫روی‬ ‫بر‬ ‫کاری‬ ‫بار‬ ‫کاهش‬ ‫و‬ ،‫سیستم‬ ‫کارایی‬ ‫افزایش‬ ،‫‌ها‬
‫ه‬‫داد‬ ‫کیفیت‬ ‫بهبود‬ ‫باعث‬ ‫نهایت‬
‫مزایای‬ ‫از‬
staging tables
‫در‬
MySQL
‫و‬
MariaDB
‫فرآیندهای‬ ‫و‬ ‫شوید‬ ‫‌مند‬
‫ه‬‫بهر‬ ‫خوبی‬ ‫به‬
ETL
.‫کنید‬ ‫‌سازی‬
‫ه‬‫بهین‬ ‫را‬ ‫خود‬

More Related Content

PDF
oracle mysql/mariadb api -the connect engine
PDF
DevOps reference - Devops metadologhy - devops technologhy
PDF
PDF
devops and bcp (bussiness continues planning)
PDF
Systemd and its various uses and capabilities.
PDF
bcache and cachefs its benefits.
oracle mysql/mariadb api -the connect engine
DevOps reference - Devops metadologhy - devops technologhy
devops and bcp (bussiness continues planning)
Systemd and its various uses and capabilities.
bcache and cachefs its benefits.

Similar to what is staging in database (oracle and mariadb |mysql) (20)

PDF
PDF
nbd and it's benefits
PDF
PDF
PDF
how add and remove Mgr in ceph cluster
PDF
how add and delete new mon in ceph cluster
PDF
PDF
openstack designate
PDF
virsh vmware
PDF
Package management
PDF
تجارت الکترونبکی با opencart
PDF
Zabbix monitoring website
PDF
PDF
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
PDF
Supervisor
PDF
مرجع oracle mysql |mariadb
PDF
PDF
معرفی نرم‌افزار آزاد و فعالیت‌های گروه
nbd and it's benefits
how add and remove Mgr in ceph cluster
how add and delete new mon in ceph cluster
openstack designate
virsh vmware
Package management
تجارت الکترونبکی با opencart
Zabbix monitoring website
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
Supervisor
مرجع oracle mysql |mariadb
معرفی نرم‌افزار آزاد و فعالیت‌های گروه
Ad

More from Yashar Esmaildokht (15)

PDF
ceph csi vs rook and its benefit and future
PDF
firewalling in linux and netfilter and iptables
PDF
the refrence of Oracle Database - The 0.4 release
PDF
The Refrence Of DevOps -The 0.5 release
PDF
Ceph RADOS Gateway (RGW) - s3 swift -object storage
PDF
maxscale and spider engine for performance and security and clustering
PDF
louad balancing vs api getway vs reverse proxy
PDF
Ceph: A Powerful, Scalable, and Flexible Storage Solution
PDF
how install and config sdn in proxmox virtualization
PDF
service registery and the service discovery
PDF
raid with megacli
PDF
Openstack Rally
PDF
OpenStack and its service
PDF
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
PDF
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
ceph csi vs rook and its benefit and future
firewalling in linux and netfilter and iptables
the refrence of Oracle Database - The 0.4 release
The Refrence Of DevOps -The 0.5 release
Ceph RADOS Gateway (RGW) - s3 swift -object storage
maxscale and spider engine for performance and security and clustering
louad balancing vs api getway vs reverse proxy
Ceph: A Powerful, Scalable, and Flexible Storage Solution
how install and config sdn in proxmox virtualization
service registery and the service discovery
raid with megacli
Openstack Rally
OpenStack and its service
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
Ad

what is staging in database (oracle and mariadb |mysql)

  • 1. ‫حق‬ ‫بسمه‬ ‫مفهوم‬ staging ‫داده‬ ‫پایگاه‬ ‫در‬ : ‫نویسنده‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫مهندس‬ : ‫نسخه‬ 0.1
  • 2. : ‫نویسنده‬ ‫درباره‬ ‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬ cyber security . ‫هستم‬ ‫از‬ ‫بیش‬ ۱۵ . ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬ ‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬ / / / / / / Devops Platform Cloud Eng |Gnu Linux System Network Security Storage / Engineer Admin & Oracle Dba | Linux Trainer |Consultant ): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬ . ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬ ‫تبریز‬ ‫الگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬ : ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬ : +9809991057856 Mob Telegram ID : yashar_esm Telegram channel : unixmens Instagram Account Linkedin Account :/ / in yashar_esmaildokht
  • 3. : ‫مشاوره‬ . ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
  • 4. : ‫به‬ ‫تقدیم‬ ‫خدا‬ ‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬ ‫مادرم‬ ‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬‫َم‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬ ‫پدرم‬ ‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬ ‫عشقم‬ ‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬ ‫سورس‬ ‫اپن‬ ‫جامعه‬ ‫بشریت‬ ‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬ ): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
  • 6. ‫لینوکس‬ ‫و‬ ‫گنو‬ ‫تاریخچه‬ “ ‫مخفف‬ ‫گنو‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫سازگار‬ ‫یونیکس‬ ‫با‬ ‫‌ای‬ ‫ه‬‫فزایند‬ ‫طــور‬ ‫به‬ ‫کــه‬ ‫بــوده‬ ‫آزاد‬ ‫کامال‬ ‫عامل‬ ‫سیــستم‬ ‫یک‬ ‫گنو‬ ‫عامل‬ ‫سیستم‬ ’ GNU s Not Unix ‫سپتامبر‬ ‫در‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫اولیه‬ ‫اطالعیه‬ ‫استالمن‬ ‫ریچارد‬ .‫است‬ ” ۱۹۸۳ ‫سپتامبر‬ ‫در‬ ‫گنو‬ ‫اعالمیه‬ ‫نام‬ ‫به‬ ‫آن‬ ‫‌تر‬ ‫ل‬‫کام‬ ‫نسخه‬ .‫کرد‬ ‫منتشر‬ ۱۹۸۵ .‫است‬ ‫شده‬ ‫ترجمه‬ ‫زبان‬ ‫چندین‬ ‫به‬ ‫که‬ ‫شد‬ ‫منتشر‬ “ ‫برای‬ ‫بازگشتی‬ ‫مخفف‬ ‫یک‬ ،‫نخست‬ ‫‌کند؛‬ ‫ی‬‫م‬ ‫بــرطــرف‬ ‫را‬ ‫نیــازها‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫است‬ ‫شده‬ ‫انتخاب‬ ‫علت‬ ‫این‬ ‫به‬ »‫«گنو‬ ‫نام‬ ’ GNU s Not Unix .‫است‬ ‫جالب‬ ‫آن‬ )‫خواندن‬ ‫(یا‬ ‫گفتن‬ ‫آهنگ‬ ،‫سوم‬ ،‫است‬ ‫واقعی‬ ‫کلمه‬ ‫یک‬ ،‫دوم‬ ،‫است‬ ” ‫یا‬ ‫بپردازید‬ ‫مبلغی‬ ‫است‬ ‫ممکن‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫شما‬ .‫قیمت‬ ‫نه‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫اشاره‬ ‫آزادی‬ ‫به‬ »‫آزاد‬ ‫‌افزار‬ ‫م‬‫«نر‬ ‫در‬ »‫«آزاد‬ ‫کلمه‬ ‫آزادی‬ ،‫نخست‬ .‫داشت‬ ‫خواهید‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫ویــژه‬ ‫آزادی‬ ‫ســه‬ ،‫باشید‬ ‫داشتــه‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫وقتـی‬ ،‫صورت‬ ‫هر‬ ‫در‬ .‫نپردازید‬ ‫داشتن‬ ‫با‬ ،‫دلخواه‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫در‬ ‫تغییرات‬ ‫اعمال‬ ‫بــرای‬ ‫آزادی‬ ،‫دوم‬ ‫همــکاران؛‬ ‫و‬ ‫دوستان‬ ‫به‬ ‫آن‬ ‫دادن‬ ‫هدیه‬ ‫و‬ ‫برنامه‬ ‫از‬ ‫برداری‬ ‫نسخه‬ ‫برای‬ ‫را‬ ‫گنو‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مجددا‬ ‫(اگر‬ .‫جامعه‬ ‫ساخت‬ ‫به‬ ‫کمک‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫یافته‬ ‫بهبود‬ ‫نسخه‬ ‫توزیع‬ ‫برای‬ ‫آزادی‬ ،‫سوم‬ ‫منبع؛‬ ‫کدهای‬ ‫به‬ ‫کامل‬ ‫دسترسی‬ .)‫کنید‬ ‫هدیه‬ ‫رایگان‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫یا‬ ‫و‬ ‫کنید‬ ‫دریافت‬ ‫را‬ ‫مبلغی‬ ‫نسخه‬ ‫یک‬ ‫انتقال‬ ‫فیزیکی‬ ‫کار‬ ‫بــرای‬ ‫‌تــوانـید‬ ‫ی‬‫م‬ ،‫نمایید‬ ‫توزیع‬ ‫ســال‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫نامیده‬ «‫گنو‬ ‫»پروژه‬ ،‫گنو‬ ‫سیستم‬ ‫توسعه‬ ‫پروژه‬ ۱۹۸۳ ‫در‬ ‫که‬ ‫همکاری‬ ‫روح‬ ‫بازگرداندن‬ ‫برای‬ ‫راهی‬ ‫عنوان‬ ‫به‬ ‫گنــو‬ ‫پــروژه‬ ‫انحصاری‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫صاحبان‬ ‫توسط‬ ‫که‬ ‫موانع‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫تا‬ ‫شد‬ ‫ایجاد‬ ‫داشـت‬ ‫وجــود‬ ‫کامپیــوتر‬ ‫کاربران‬ ‫جامعه‬ ‫بین‬ ‫در‬ ‫نخست‬ ‫روزهای‬ .‫سازد‬ ‫ممکن‬ ‫را‬ ‫همکاری‬ ‫دیگر‬ ‫بار‬ ‫یک‬ ،‫بودند‬ ‫شده‬ ‫تحمیل‬ ‫سال‬ ‫در‬ ۱۹۷۱ ‫دانشگاه‬ ‫در‬ ‫را‬ ‫خود‬ ‫کار‬ ‫استالمن‬ ‫ریچارد‬ ‫که‬ ‫هنگامی‬ MIT ‫استفاده‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫منحصرا‬ ‫کــه‬ ‫گــروهی‬ ‫در‬ ،‫کرد‬ ‫آغاز‬ ‫آزاد‬ ‫یکدیگر‬ ‫با‬ ‫همکاری‬ ‫در‬ ‫‌نویسان‬ ‫ه‬‫بــرنام‬ .‫‌کــردند‬ ‫ی‬‫م‬ ‫توزیع‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اغلب‬ ‫نیز‬ ‫کامپیوتری‬ ‫‌های‬ ‫ت‬‫شرک‬ ‫حتی‬ .‫پرداخت‬ ‫کار‬ ‫به‬ ‫‌کردند‬ ‫ی‬‫م‬ .‫‌دادند‬ ‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫همین‬ ‫نیز‬ ‫اغلب‬ ‫و‬ ‫بودند‬ ‫دهه‬ ‫در‬ ۱۹۸۰ ‫منع‬ ‫را‬ ‫کاربزان‬ ‫توسط‬ ‫همکاری‬ ‫آنها‬ ‫مالکان‬ ‫و‬ ‫داشتند‬ ‫مالک‬ ‫که‬ ‫معنی‬ ‫این‬ ‫بــه‬ ،‫بودند‬ ‫انحصاری‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫تمام‬ ‫تقریبا‬ .‫‌کرد‬ ‫ی‬‫م‬ ‫ایجاب‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫ضرورت‬ ‫کار‬ ‫این‬ ‫که‬ ‫‌کردند‬ ‫ی‬‫م‬ ‫‌توانید‬ ‫ی‬‫نم‬ ‫حتی‬ ‫شـما‬ ،‫بــاشـد‬ ‫نـداشـته‬ ‫وجــود‬ ‫آزادی‬ ‫عامل‬ ‫سـیـستم‬ ‫اگــر‬ ‫دارند؛‬ ‫نیــاز‬ ‫عامل‬ ‫سیستم‬ ‫یــک‬ ‫به‬ ‫کامپیوتر‬ ‫کاربران‬ ‫تمام‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫وجود‬ ،‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫در‬ ‫ضرورت‬ ‫اولیــن‬ ‫بنــابــراین‬ .‫کنید‬ ‫شروع‬ ‫را‬ ‫کامپیوتر‬ ‫با‬ ‫کار‬ ‫انحصاری‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫از‬ ‫استفاده‬ ‫بدون‬ .‫است‬ ‫آزاد‬ ‫انتقال‬ ‫قابل‬ ‫و‬ ‫خورده‬ ‫محک‬ ‫قبال‬ ‫آن‬ ‫کلی‬ ‫طــراحی‬ ‫زیرا‬ ‫بساند‬ ‫یونیکس‬ ‫با‬ ‫منطبق‬ ‫عاملی‬ ‫سیستم‬ ‫تا‬ ‫گرفتند‬ ‫تصمیم‬ ‫آزاد‬ ‫افزاری‬ ‫نرم‬ ‫جنبش‬ .‫‌کرد‬ ‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫گنو‬ ‫به‬ ‫یونیکس‬ ‫کاربران‬ ‫حرکت‬ ‫سازگاری‬ ‫این‬ ‫همچنین‬ ‫و‬ ،‫بود‬ ،‫متن‬ ‫‌بندی‬ ‫ب‬‫قال‬ ‫‌های‬ ‫ه‬‫برنام‬ ،‫ویــرایشــگـرها‬ ،‫کامپــایـلرها‬ ‫شــامــل‬ ‫و‬ ‫اســت؛‬ ‫هسته‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫خیلی‬ ‫یونیکس‬ ‫شبه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫ژانویه‬ ‫در‬ .‫است‬ ‫بزرگی‬ ‫بسیار‬ ‫کار‬ ‫کامل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫نوشتن‬ ‫بنابرایـن‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫دیگر‬ ‫چیزهای‬ ‫خیلی‬ ‫و‬ ‫پستی‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ۱۹۸۴ ‫شروع‬ ‫اکتبر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ .‫انجامید‬ ‫طول‬ ‫به‬ ‫سالها‬ ‫کردند‬ ‫کار‬ ‫به‬ ۱۹۸۵ .‫شد‬ ‫تاسیس‬ ‫گنو‬ ‫توسعه‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫سرمایه‬ ‫جذب‬ ‫برای‬ ‫بیشتر‬
  • 7. ‫سال‬ ‫تا‬ ۱۹۹۰ ‫سال‬ ‫در‬ ،‫یونیکس‬ ‫شبه‬ ‫هسته‬ ‫یک‬ ،‫لینوکس‬ ‫سپس‬ . ‫یافتند‬ ‫دست‬ ‫هسته‬ ‫جــز‬ ‫بــه‬ ،‫عامل‬ ‫سیستم‬ ‫اصلی‬ ‫اجزای‬ ‫تمامی‬ ‫به‬ ۱۹۹۱ ‫ســال‬ ‫در‬ ‫و‬ ‫کرد‬ ‫پیدا‬ ‫توسعه‬ ‫تروالدز‬ ‫لینوس‬ ‫توسط‬ ۱۹۹۲ ‫گنو‬ ‫کامل‬ ‫تقریبا‬ ‫سیستم‬ ‫با‬ ‫لینوکس‬ ‫ترکیب‬ .‫شد‬ ‫آزاد‬ ‫‌افـزار‬ ‫م‬‫نــر‬ ‫یــک‬ ‫‌های‬ ‫م‬‫سیست‬ ‫از‬ ‫نفر‬ ‫میلیون‬ ‫‌ها‬ ‫ه‬‫د‬ ‫‌اکنون‬ ‫م‬‫ه‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫زده‬ ‫تخمــین‬ .‫لینوکس‬/‫گنـو‬ ‫سیستم‬ :‫شد‬ ‫کــامل‬ ‫عامــل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫منجر‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫غـیـره‬ ‫و‬ ‫ردهــت‬ ،‫دبیــان‬ ،‫اسلکور‬ ‫شــامــل‬ ،‫لینوکس‬/‫گنو‬ ‫را‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫از‬ ‫کامل‬ ‫مجموعه‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نظر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ .‫است‬ ‫نشده‬ ‫محدود‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫گنو‬ ‫پروژه‬ ،‫حال‬ ‫این‬ ‫با‬ .‫‌شود‬ ‫ی‬‫م‬ ‫نیز‬ ‫کاربردی‬ ‫‌افزارهای‬ ‫م‬‫نـر‬ ‫شــامــل‬ ‫مــوضــوع‬ ‫ایــن‬ .‫باشند‬ ‫داشته‬ ‫‌خواهند‬ ‫ی‬‫م‬ ‫کاربــران‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫آنچه‬ ‫هر‬ ، ‫کند‬ ‫ایجاد‬ ‫بنیاد‬ ‫جهت‬ ‫همین‬ ‫به‬ ‫کنند‬ ‫تهیه‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫نیز‬ ‫ندارند‬ ‫مهارت‬ ‫کامپیـوتر‬ ‫زمینه‬ ‫در‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫دارد‬ ‫قصد‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ .‫کرد‬ ‫ایجاد‬ ،‫گنو‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫‌کار‬ ‫ه‬‫تاز‬ ‫کاربران‬ ‫به‬ ‫کمک‬ ‫منظور‬ ‫به‬ ‫گرافیکی‬ ‫کار‬ ‫میز‬ ‫یک‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ .‫است‬ ‫دسترس‬ ‫در‬ ‫‌اکنون‬ ‫م‬‫ه‬ ‫آزاد‬ ‫بازی‬ ‫تعدادی‬ .‫کند‬ ‫ایجاد‬ ‫نیز‬ ‫دیگــری‬ ‫تفریح‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ی‬‫باز‬ ‫‌خــواهد‬ ‫ی‬‫م‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ ‫به‬ ‫را‬ ‫گنو‬ ‫‌افزار‬ ‫م‬‫نر‬ ،‫انحصاری‬ ‫سیستم‬ ‫مانند‬ ‫قوانینی‬ ‫که‬ ‫زمانی‬ ‫جز‬ ‫بـه‬ ،‫نـدارد‬ ‫وجــود‬ ‫محدودیتی‬ ‫هیچ‬ ‫برود؟‬ ‫پیش‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫کجا‬ ‫تا‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫دهند‬ ‫انجام‬ ‫‌خواهند‬ ‫ی‬‫م‬ ‫کامپیوتر‬ ‫کاربران‬ ‫که‬ ‫کارهایی‬ ‫تمام‬ ‫انجام‬ ‫برای‬ ‫آزاد‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫کردن‬ ‫فراهم‬ ‫نــهـایی‬ ‫هــدف‬ .‫کننــد‬ ‫منع‬ ‫کامل‬ ‫طور‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫انحصاری‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫کردن‬ ‫مطرود‬ ‫نتیجه‬ ‫در‬ ‫و‬
  • 8. ‫باز‬ ‫متن‬ ‫افزار‬ ‫نرم‬ Open Source Software ‫مقدمه‬ ‫قواعد‬ ‫گذاشته‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اکوسیستم‬ ‫در‬ ‫‌گذاران‬ ‫ه‬‫سرمای‬ ‫اقتصادی‬ ‫رفتار‬ ‫بر‬ ‫که‬ ‫‌ای‬ ‫ه‬‫مالحظ‬ ‫قابل‬ ‫تأثیر‬ ‫با‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫افزار‬ ‫نرم‬ ‫تولید‬ ‫فشار‬ ‫شرکتها‬ ،‫باشند‬ ‫کد‬ ‫کننده‬ ‫اعمال‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫سعی‬ ‫‌دهنگان‬ ‫ه‬‫توسع‬ ‫تازه‬ ‫محیط‬ ‫این‬ ‫در‬ .‫است‬ ‫داده‬ ‫تغییر‬ ‫را‬ ‫بازی‬ .‫‌کشند‬ ‫ی‬‫م‬ ‫را‬ ‫سرشاری‬ ‫سود‬ ‫انتظار‬ ‫سیستم‬ ‫فروشندگان‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫حس‬ ‫را‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫محصوالت‬
  • 9. ۱ ‫معرفی‬ . ‫فعل‬ ‫در‬ ‫عمده‬ ‫تغییراتی‬ ‫اتفاق‬ ‫این‬ .‫است‬ ‫آورده‬ ‫بار‬ ‫به‬ ‫کاربران‬ ‫برای‬ ‫ارزانتر‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫بیش‬ ‫چیزی‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫ظهور‬ .‫است‬ ‫کرده‬ ‫ایجاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫حوزه‬ ‫بازیگران‬ ‫بین‬ ‫اقتصادی‬ ‫انفعال‬ ‫و‬ ‫معنای‬ ‫به‬ ‫اما‬ ‫است‬ - ‫زندگی‬ ‫از‬ ‫سبکی‬ ‫حتی‬ ‫یا‬ - ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫به‬ ‫ویژه‬ ‫نگاهی‬ ‫تجسم‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌ها‬ ‫ی‬‫خیل‬ ‫برای‬ ‫جامعه‬ ‫رشد‬ ‫برای‬ ‫باید‬ ‫شرکتها‬ ‫که‬ ‫است‬ ‫این‬ ‫گابریل‬ ‫ریچارد‬ ‫و‬ ‫گلدمن‬ ‫ران‬ ‫پیشنهاد‬ .‫هست‬ ‫هم‬ ‫تجاری‬ ‫تدبیر‬ ‫نوعی‬ .‫نمایند‬ ‫ایجاد‬ ‫خدماتشان‬ ‫و‬ ‫محصوالت‬ ‫اطراف‬ ‫زنده‬ ‫محیطی‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫کاربرانشان‬ ‫به‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫کاربر‬ ‫احتیاجات‬ ‫با‬ ‫آن‬ ‫دادن‬ ‫تطبیق‬ ‫برای‬ ‫که‬ ‫را‬ ‫کد‬ ‫متن‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫معمول‬ ‫بطور‬ ‫مبلغی‬ ‫دریافت‬ ‫ازای‬ ‫در‬ ‫را‬ ‫ممکن‬ ‫تغییرات‬ ‫بعالوه‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بازپخش‬ ‫اجازه‬ ‫کاربر‬ ‫به‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروان‬ ‫اغلب‬ .‫دارد‬ ‫همراه‬ ( ‫باشد‬ ‫دسترس‬ ‫در‬ ‫عمومی‬ ‫بصورت‬ ‫کد‬ ‫متن‬ ‫تغییرات‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫بازپخش‬ ‫برای‬ . . www opensource org .) ‫یک‬ ‫اینکه‬ ‫بجای‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫توسعه‬ ‫جامعه‬ ‫که‬ ‫است‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫جمعی‬ ‫‌باز‬ ‫ن‬‫مت‬ .‫دارد‬ ‫وجود‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫نوع‬ ‫دو‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫که‬ ‫‌گیرند‬ ‫ی‬‫م‬ ‫تصمیم‬ ‫داوطلبان‬ ‫از‬ ‫برگزیده‬ ‫گروهی‬ ‫گاهی‬ ‫باشد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مالک‬ ‫حقوقی‬ ‫شخصیت‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ .‫برود‬ ‫سو‬ ‫کدام‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫و‬ ‫شوند‬ ‫پذیرفته‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫شده‬ ‫اعمال‬ ‫همکاریهای‬ ‫آپاچی‬ ‫وب‬ ‫سرور‬ ‫مورد‬ ‫مانند‬ ‫‌گیرند‬ ‫ی‬‫م‬ ‫تصمیم‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫درباره‬ ‫بخصوص‬ ‫شرکت‬ ‫یک‬ ‫نه‬ ‫و‬ ‫کد‬ ‫کنندگان‬ ‫اعمال‬ ،‫شخصی‬ ( . . httpd apache org .) ‫در‬ ‫را‬ ‫تالیف‬ ‫حق‬ ‫شرکت‬ .‫است‬ ‫آن‬ ‫‌دهنده‬ ‫ه‬‫توسع‬ ‫و‬ ‫مالک‬ ،‫سود‬ ‫پی‬ ‫در‬ ‫شخصیتی‬ ‫که‬ ‫است‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫تجاری‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫مانند‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫آینده‬ ‫در‬ ‫و‬ ‫بپذیرد‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫را‬ ‫کد‬ ‫کدام‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تعیین‬ ‫و‬ ‫دارد‬ ‫اختیار‬ ‫مورد‬ MySQL ‫داده‬ ‫پایگاه‬ ‫و‬ ( . . ) MySQL www mysql com . ‫متمرکز‬ ‫کار‬ ‫نیروی‬ ‫اقتصاد‬ ‫بر‬ ‫اغلب‬ ‫جامعه‬ ‫بوسیله‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اقتصاد‬ ‫درباره‬ ‫پیشین‬ ‫مطالعات‬ ‫اشاره‬ ‫ریموند‬ ‫اریک‬ .‫‌یابد‬ ‫ی‬‫م‬ ‫تخصیص‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫به‬ ‫‌آوری‬ ‫ب‬‫تعج‬ ‫فراوان‬ ‫داوطلبانه‬ ‫کار‬ ‫میزان‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫کمک‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫همتایانشان‬ ‫بین‬ ‫اعتبار‬ ‫افزایش‬ ‫از‬ ‫ناشی‬ ‫شخصی‬ ‫لذت‬ ‫بخاطر‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ . ‫رسیدند‬ ‫مشابهی‬ ‫نتیجه‬ ‫به‬ ‫نیز‬ ‫خود‬ ‫تجربی‬ ‫مطالعه‬ ‫در‬ ‫همکارانش‬ ‫و‬ ‫هارووی‬ ‫ارنان‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫‌انداز‬ ‫م‬‫چش‬ ‫بهبود‬ ‫و‬ ‫فنی‬ ‫تواناییهای‬ ‫کردن‬ ‫مستند‬ ‫برای‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫استدالل‬ ‫تیروله‬ ‫جین‬ ،‫لرنرو‬ ‫جاشوا‬ ‫لذت‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫گزارش‬ ‫گلف‬ ‫رابرت‬ ‫الخانیو‬ ‫کریم‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫آتی‬ ‫کارفرمایان‬ ‫برای‬ ‫شغلی‬ ‫نشان‬ ‫مطالعه‬ ‫این‬ ‫گرچه‬ ‫است‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫کمک‬ ‫برای‬ ‫مهمی‬ ‫ذاتی‬ ‫محرک‬ ‫کار‬ ‫از‬ ‫بردن‬ .‫‌اند‬ ‫م‬‫مه‬ ‫هم‬ ‫مالی‬ ‫‌های‬ ‫ه‬‫انگیز‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬
  • 10. ‫را‬ ‫اشخاصی‬ ‫شرکتها‬ ‫چرا‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫نم‬ ‫شرح‬ ‫را‬ ‫این‬ ‫اما‬ ‫است‬ ‫داوطلبانه‬ ‫کار‬ ‫برای‬ ‫توضیحات‬ ‫از‬ ‫‌ای‬ ‫ه‬‫پار‬ ‫اینها‬ ‫که‬ ‫حالی‬ ‫در‬ ‫همکارانش‬ ‫و‬ ‫هان‬ ‫هورن‬ ‫ایل‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫شرکت‬ ‫کاری‬ ‫زمان‬ ‫در‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫استخدام‬ ‫در‬ ‫آنها‬ ‫رتبه‬ ‫با‬ ‫مستقیمی‬ ‫رابطه‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫آپاچی‬ ‫افزار‬ ‫نرم‬ ‫بنیاد‬ ‫پروژه‬ ‫به‬ ‫که‬ ‫کسانی‬ ‫حقوق‬ ‫که‬ ‫دریافتند‬ ‫معیاری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫بنیاد‬ ‫در‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫رتبه‬ ‫کارفرمایان‬ ‫که‬ ‫گرفتند‬ ‫نتیجه‬ ‫محققین‬ ‫پس‬ .‫دارد‬ ‫آپاچی‬ ‫تشکیالت‬ .‫‌گیرند‬ ‫ی‬‫م‬ ‫بکار‬ ‫مولد‬ ‫‌های‬ ‫ی‬‫توانای‬ ‫سنجش‬ ‫برای‬
  • 11. Staging ‫نام‬ ‫به‬ ‫جداولی‬ ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫موقت‬ ‫ذخیره‬ ‫فرآیند‬ ‫به‬ staging tables ‫‌های‬ ‫م‬‫سیست‬ ‫در‬ ‫که‬ ‫دارد‬ ‫اشاره‬ Data Warehouse ‫و‬ ( , , ) ETL Extract Transform Load ‫‌سازی‬ ‫ه‬‫آماد‬ ‫و‬ ‫تبدیل‬ ،‫پاکسازی‬ ،‫بارگذاری‬ ‫برای‬ ‫جداول‬ ‫این‬ .‫‌رود‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ،‫واقع‬ ‫در‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫اصلی‬ ‫داده‬ ‫پایگاه‬ ‫یا‬ ‫نهایی‬ ‫جداول‬ ‫به‬ ‫انتقال‬ ‫برای‬ ‫‌ها‬ ‫ه‬‫داد‬ staging ‫‌های‬ ‫ه‬‫داد‬ ‫نگهداری‬ ‫برای‬ ‫میانی‬ ‫محیط‬ ‫یک‬ .‫دارند‬ ‫پردازش‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫است‬ ‫‌هایی‬ ‫ه‬‫داد‬ ‫یا‬ ‫خام‬ ‫کاربردهای‬ Staging :‫مختلف‬ ‫منابع‬ ‫از‬ ‫داده‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫‌های‬ ‫ل‬‫فای‬ ‫(مانند‬ ‫مختلف‬ ‫منابع‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫از‬ ‫خام‬ ‫‌های‬ ‫ه‬‫داد‬ CSV ‫به‬ )... ‫و‬ ‫‌ها‬ ‫ت‬‫‌سای‬ ‫ب‬‫و‬ ،‫دیگر‬ ‫‌های‬ ‫ه‬‫داد‬ ‫پایگاه‬ ، staging tables ‫منتقل‬ .‫شوند‬ ‫آماده‬ ‫پردازش‬ ‫برای‬ ‫و‬ ‫شده‬ ‫تجمیع‬ ‫یکجا‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫‌سازی‬ ‫ن‬‫یکسا‬ ‫و‬ ‫پاکسازی‬ ‫در‬ .‫باشند‬ ‫دیگر‬ ‫خطاهای‬ ‫یا‬ ‫تکراری‬ ‫مقادیر‬ ،‫خالی‬ ‫‌های‬ ‫ه‬‫داد‬ ،‫ناسازگاری‬ ‫دارای‬ ‫است‬ ‫ممکن‬ ،‫‌شوند‬ ‫ی‬‫م‬ ‫دریافت‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫که‬ ‫‌هایی‬ ‫ه‬‫داد‬ : ‫جداول‬ staging .‫کرد‬ ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫این‬ ‫‌توان‬ ‫ی‬‫م‬ :‫داده‬ ‫انبار‬ ‫برای‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ‫و‬ ‫تبدیل‬ ‫تغییرات‬ ‫این‬ .‫باشند‬ ‫داشته‬ ‫خاصی‬ ‫‌های‬ ‫ل‬‫تبدی‬ ‫یا‬ ‫محاسبات‬ ،‫فرمت‬ ‫تغییر‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫شوند‬ ‫استفاده‬ ‫داده‬ ‫انبار‬ ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫این‬ ‫برای‬ ‫در‬ staging tables .‫شوند‬ ‫آماده‬ ‫بعدی‬ ‫‌های‬ ‫ل‬‫تحلی‬ ‫برای‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫تا‬ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ :‫بارگذاری‬ ‫فرآیند‬ ‫کارایی‬ ‫بهبود‬ ‫جداول‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫کنیم‬ ‫منتقل‬ ‫نهایی‬ ‫جداول‬ ‫به‬ ‫مستقیمًا‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫این‬ ‫جای‬ ‫به‬ staging ‫انجام‬ ‫را‬ ‫الزم‬ ‫عملیات‬ ،‫کرد‬ ‫ذخیره‬ .‫شود‬ ‫انجام‬ ‫بیشتری‬ ‫کارایی‬ ‫با‬ ‫و‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫نهایی‬ ‫بارگذاری‬ ‫‌شود‬ ‫ی‬‫م‬ ‫باعث‬ ‫کار‬ ‫این‬ .‫کرد‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫تجمیعی‬ ‫صورت‬ ‫به‬ ‫سپس‬ ‫و‬ ،‫داد‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫و‬ ‫تغییرات‬ ‫مدیریت‬ ‫جداول‬ .‫باشند‬ ‫داشته‬ ‫تغییر‬ ‫و‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ‫‌ها‬ ‫ه‬‫داد‬ staging ‫‌ای‬ ‫ه‬‫دور‬ ‫صورت‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ما‬ ‫به‬ .‫کنیم‬ ‫منتقل‬ ‫نهایی‬ ‫داده‬ ‫انبار‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کنیم‬ ‫‌روز‬ ‫ه‬‫ب‬
  • 12. :‫اصلی‬ ‫جداول‬ ‫روی‬ ‫بار‬ ‫کاهش‬ ‫جداول‬ ‫به‬ ‫پاکسازی‬ ‫و‬ ‫پردازشی‬ ‫عملیات‬ ‫انتقال‬ ‫با‬ staging .‫‌شود‬ ‫ی‬‫م‬ ‫محافظت‬ ‫پرهزینه‬ ‫عملیات‬ ‫و‬ ‫سنگین‬ ‫بارهای‬ ‫برابر‬ ‫در‬ ‫اصلی‬ ‫جداول‬ ‫از‬ ، .‫شود‬ ‫جلوگیری‬ ‫سیستم‬ ‫در‬ ‫اختالالت‬ ‫از‬ ‫و‬ ‫باشند‬ ‫داشته‬ ‫بهتری‬ ‫عملکرد‬ ‫اصلی‬ ‫جداول‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫باعث‬ ‫امر‬ ‫این‬ ‫کاربردهای‬ ‫از‬ ‫‌هایی‬ ‫ل‬‫مثا‬ Staging ‫مختلف‬ ‫صنایع‬ ‫در‬ :‫‌فروشی‬ ‫ه‬‫خرد‬ .‫مختلف‬ ‫مراکز‬ ‫و‬ ‫‌ها‬ ‫ه‬‫فروشگا‬ ‫از‬ ‫روزانه‬ ‫فروش‬ ‫‌های‬ ‫ه‬‫داد‬ ‫پاکسازی‬ ‫و‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫برای‬ :‫مالی‬ ‫و‬ ‫بانکی‬ .‫دارند‬ ‫تحلیل‬ ‫و‬ ‫تجمیع‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫وارد‬ ‫مختلف‬ ‫‌های‬ ‫م‬‫سیست‬ ‫از‬ ‫که‬ ‫مالی‬ ‫‌های‬ ‫ش‬‫تراکن‬ ‫پردازش‬ ‫برای‬ :‫بیمه‬ .‫ریسک‬ ‫‌های‬ ‫ل‬‫تحلی‬ ‫برای‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ‫و‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫پرداختی‬ ‫خسارات‬ ‫و‬ ‫‌گذاران‬ ‫ه‬‫بیم‬ ‫‌های‬ ‫ه‬‫داد‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫برای‬ :‫درمان‬ ‫و‬ ‫بهداشت‬ .‫درمانی‬ ‫مراکز‬ ‫و‬ ‫‌ها‬ ‫ه‬‫آزمایشگا‬ ،‫‌ها‬ ‫ن‬‫بیمارستا‬ ‫مختلف‬ ‫‌های‬ ‫م‬‫سیست‬ ‫از‬ ‫بیماران‬ ‫به‬ ‫مربوط‬ ‫‌های‬ ‫ه‬‫داد‬ ‫پردازش‬ ‫و‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫برای‬ ‫از‬ ‫استفاده‬ ‫مزایای‬ Staging :‫‌ها‬ ‫ه‬‫داد‬ ‫کیفیت‬ ‫افزایش‬ .‫شد‬ ‫مطمئن‬ ‫بعدی‬ ‫‌های‬ ‫ل‬‫تحلی‬ ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫دقت‬ ‫و‬ ‫کیفیت‬ ‫از‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫‌ها‬ ‫ه‬‫داد‬ ‫‌سازی‬ ‫ن‬‫یکسا‬ ‫و‬ ‫پاکسازی‬ ‫با‬
  • 13. :‫‌ها‬ ‫ه‬‫داد‬ ‫مدیریت‬ ‫در‬ ‫سهولت‬ ‫و‬ ‫پیچیدگی‬ ‫کاهش‬ ‫پیچیده‬ ‫فرآیندهای‬ ETL .‫داشت‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫روی‬ ‫بر‬ ‫‌تری‬ ‫ن‬‫آسا‬ ‫مدیریت‬ ‫و‬ ‫کرد‬ ‫تقسیم‬ ‫مختلفی‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫به‬ ‫‌توان‬ ‫ی‬‫م‬ ‫را‬ :‫‌پذیری‬ ‫س‬‫مقیا‬ ‫و‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫افزایش‬ ‫جداول‬ ‫از‬ ‫استفاده‬ ‫با‬ staging .‫داد‬ ‫انجام‬ ‫را‬ ‫‌تری‬ ‫م‬‫حجی‬ ‫‌های‬ ‫ش‬‫پرداز‬ ‫و‬ ‫آمد‬ ‫کنار‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫حجم‬ ‫افزایش‬ ‫با‬ ‫راحتی‬ ‫به‬ ‫‌توان‬ ‫ی‬‫م‬ ، ‫قابلیت‬ staging table ‫‌های‬ ‫م‬‫سیست‬ ‫در‬ ‫ویژه‬ ‫به‬ ،‫‌ها‬ ‫ه‬‫داد‬ ‫پایگاه‬ ‫در‬ Data Warehouse ،‫‌ها‬ ‫م‬‫سیست‬ ‫این‬ ‫در‬ .‫دارد‬ ‫کلیدی‬ ‫نقش‬ ‫یک‬ ، ‫جداول‬ ‫به‬ ‫موقت‬ ‫صورت‬ ‫به‬ ‫ابتدا‬ ‫و‬ ‫شده‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫‌ها‬ ‫ه‬‫داد‬ staging ‫جداول‬ ‫در‬ ‫نهایی‬ ‫بارگذاری‬ ‫از‬ ‫پیش‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫منتقل‬ ‫‌های‬ ‫ه‬‫داد‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫عمل‬ ‫بافر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫‌ها‬ ‫ل‬‫جدو‬ ‫این‬ .‫شود‬ ‫انجام‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫روی‬ ‫تبدیل‬ ‫و‬ ‫استانداردسازی‬ ،‫پاکسازی‬ ‫نظیر‬ ‫فرآیندهایی‬ ،‫اصلی‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ‫بعدی‬ ‫‌های‬ ‫ل‬‫تحلی‬ ‫برای‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫غیراستاندارد‬ ‫و‬ ‫خام‬ ‫جداول‬ ‫از‬ ‫استفاده‬ ‫مزایای‬ Staging ‫در‬ .‫باشند‬ ‫متفاوتی‬ ‫‌های‬ ‫ت‬‫فرم‬ ‫و‬ ،‫خالی‬ ‫مقادیر‬ ،‫ناسازگاری‬ ‫دارای‬ ‫است‬ ‫ممکن‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫‌ها‬ ‫ه‬‫داد‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬ ‫جداول‬ staging .‫شود‬ ‫تضمین‬ ‫‌ها‬ ‫ل‬‫تحلی‬ ‫در‬ ‫استفاده‬ ‫از‬ ‫پیش‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫کیفیت‬ ‫تا‬ ‫است‬ ‫فراهم‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫فرمت‬ ‫تطبیق‬ ‫و‬ ‫پاکسازی‬ ‫امکان‬ ، ‫همراه‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫ریختگی‬ ‫هم‬ ‫در‬ ‫و‬ ‫عملکرد‬ ‫کندی‬ ‫مانند‬ ‫مشکالتی‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫اصلی‬ ‫جداول‬ ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫مستقیم‬ ‫بارگذاری‬ :‫کارایی‬ ‫افزایش‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫باشد‬ ‫داشته‬ staging table .‫کرد‬ ‫منتقل‬ ‫نهایی‬ ‫جداول‬ ‫به‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ‫از‬ ‫پس‬ ‫و‬ ‫تجمیعی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫‌توان‬ ‫ی‬‫م‬ ، ‫فرآیند‬ ‫تسهیل‬ ETL ‫فرآیند‬ ‫از‬ ‫مهمی‬ ‫بخش‬ ‫‌ها‬ ‫ل‬‫جدو‬ ‫این‬ : ( , , ) ETL Extract Transform Load ‫بهتر‬ ‫مدیریت‬ ‫امکان‬ ‫و‬ ‫هستند‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫جریان‬ ‫جدید‬ ‫‌های‬ ‫ت‬‫قابلی‬ 23 Oracle c AI ‫برای‬ Staging Table ‫نسخه‬ ‫در‬ ‫اوراکل‬ 23c AI ‫جداول‬ ‫برای‬ ‫‌تری‬ ‫ه‬‫بهین‬ ‫و‬ ‫جدید‬ ‫‌های‬ ‫ی‬‫ویژگ‬ staging ‫و‬ ‫مدرن‬ ‫کارهای‬ ‫برای‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫که‬ ‫است‬ ‫داده‬ ‫ارائه‬ :‫کرد‬ ‫اشاره‬ ‫زیر‬ ‫موارد‬ ‫به‬ ‫‌توان‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ت‬‫قابلی‬ ‫این‬ ‫جمله‬ ‫از‬ .‫‌بخشد‬ ‫ی‬‫م‬ ‫بهبود‬ ‫‌تر‬ ‫ه‬‫پیچید‬ ‫دستور‬ FOR STAGING ‫ساده‬ ‫دستور‬ ‫با‬ ‫را‬ ‫جداول‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫ویژگی‬ ‫این‬ : FOR STAGING ‫عنوان‬ ‫به‬ staging .‫کند‬ ‫استفاده‬ ‫جداول‬ ‫این‬ ‫برای‬ ‫داخلی‬ ‫‌سازی‬ ‫ه‬‫بهین‬ ‫امکانات‬ ‫از‬ ‫برخی‬ ‫از‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫اوراکل‬ ‫به‬ ‫تعریف‬ ‫این‬ .‫کنند‬ ‫تعریف‬ ‫در‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫هوشمندانه‬ ‫مدیریت‬ 23 Oracle c AI ‫جداول‬ ‫خودکار‬ ‫نگهداری‬ ‫و‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫امکان‬ ، staging ‫و‬ ،‫است‬ ‫یافته‬ ‫بهبود‬ .‫است‬ ‫شده‬ ‫‌تر‬ ‫ن‬‫آسا‬ ‫باال‬ ‫حجم‬ ‫با‬ ‫و‬ ‫پویا‬ ‫‌ای‬ ‫ه‬‫داد‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫جداول‬ ‫این‬ ‫‌کارگیری‬ ‫ه‬‫ب‬
  • 14. ‫فرآیند‬ ‫در‬ ‫‌سازی‬ ‫ه‬‫بهین‬ Truncate ‫جداول‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫قابلیت‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫بارگذاری‬ ‫و‬ staging ‫سرعت‬ ‫به‬ ‫را‬ truncate ‫زمان‬ ‫و‬ ‫کارایی‬ ‫بهبود‬ ‫باعث‬ ‫امر‬ ‫این‬ .‫شود‬ ‫فراهم‬ ‫جدید‬ ‫‌های‬ ‫ه‬‫داد‬ ‫برای‬ ‫فضا‬ ‫و‬ ‫شده‬ ‫حذف‬ ‫قدیمی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫‌شود‬ ‫ی‬‫م‬ ‫باعث‬ ‫کار‬ ‫این‬ ‫که‬ ،‫کرد‬ .‫‌شود‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫مجدد‬ ‫بارگذاری‬ ‫اوراکل‬ :‫خودکار‬ ‫‌های‬ ‫ی‬‫‌ساز‬ ‫ه‬‫بهین‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ش‬‫پرداز‬ ‫از‬ ‫پشتیبانی‬ 23c ‫جداول‬ ‫برای‬ ‫را‬ ‫موازی‬ ‫پردازش‬ ‫امکان‬ staging ‫کرده‬ ‫فراهم‬ ‫فرآیندهای‬ ‫‌شود‬ ‫ی‬‫م‬ ‫موجب‬ ‫که‬ ‫است‬ ETL .‫شوند‬ ‫انجام‬ ‫باالتر‬ ‫سرعت‬ ‫با‬ ‫و‬ ‫‌تر‬ ‫ه‬‫بهین‬ ‫شکل‬ ‫به‬ ‫‌تر‬ ‫ه‬‫پیچید‬ ‌ ‫ت‬‫عملیا‬ ‫و‬ ‫قابلیت‬ ‫از‬ ‫چرا‬ Staging ‫در‬ 23 Oracle c AI ‫کنیم؟‬ ‫استفاده‬ ‫جداول‬ ‫به‬ ‫پاکسازی‬ ‫عملیات‬ ‫و‬ ‫سنگین‬ ‫‌های‬ ‫ش‬‫پرداز‬ ‫انتقال‬ ‫با‬ :‫اصلی‬ ‫جداول‬ ‫روی‬ ‫بار‬ ‫کاهش‬ staging ‫را‬ ‫اصلی‬ ‫جداول‬ ‫بار‬ ‫‌توان‬ ‫ی‬‫م‬ ، .‫کرد‬ ‫جلوگیری‬ ‫کارایی‬ ‫مشکالت‬ ‫و‬ ‫‌ریختگی‬ ‫م‬‫دره‬ ‫از‬ ‫و‬ ‫داد‬ ‫کاهش‬ ‫جداول‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫کیفیت‬ ‫بهبود‬ staging ‫این‬ ‫که‬ ،‫شوند‬ ‫پاکسازی‬ ‫و‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ،‫نهایی‬ ‫جداول‬ ‫به‬ ‫ورود‬ ‫از‬ ‫پیش‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫تا‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫اجازه‬ .‫رود‬ ‫باالتر‬ ‫نهایی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫کیفیت‬ ‫‌شود‬ ‫ی‬‫م‬ ‫باعث‬ ‫امر‬ ‫اوراکل‬ ‫خاص‬ ‫‌های‬ ‫ی‬‫‌ساز‬ ‫ه‬‫بهین‬ ‫دلیل‬ ‫به‬ :‫حافظه‬ ‫و‬ ‫منابع‬ ‫بهتر‬ ‫مدیریت‬ 23c ‫جداول‬ ‫برای‬ staging ‫منابع‬ ‫از‬ ‫‌تری‬ ‫ه‬‫بهین‬ ‫استفاده‬ ‫‌توان‬ ‫ی‬‫م‬ ، .‫داشت‬ ‫حافظه‬ ‫و‬ ‫سیستمی‬ ‫فرآیند‬ ‫در‬ ‫سهولت‬ ETL ‫که‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫باعث‬ ،‫سریع‬ ‫دسترسی‬ ‫و‬ ‫موازی‬ ‫پردازش‬ ‫برای‬ ‫اوراکل‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫از‬ ‫پشتیبانی‬ ‫دلیل‬ ‫به‬ ‫جداول‬ ‫این‬ : ‫فرآیند‬ ETL .‫شود‬ ‫انجام‬ ‫کارآمدتر‬ ‫و‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫جول‬ staging ‫محیط‬ ‫در‬ Data Warehouse ‫خام‬ ‫‌های‬ ‫ه‬‫داد‬ .‫‌رود‬ ‫ی‬‫م‬ ‫‌کار‬ ‫ه‬‫ب‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫موقت‬ ‫نگهداری‬ ‫و‬ ‫دریافت‬ ‫برای‬ ‫منتقل‬ ‫نهایی‬ ‫جدول‬ ‫به‬ ‫سپس‬ ‫و‬ ‫شود‬ ‫انجام‬ ‫استاندارد‬ ‫فرمت‬ ‫به‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫فرآیند‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫منتقل‬ ‫جدول‬ ‫این‬ ‫به‬ ‫ابتدا‬ .‫‌گردند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫از‬ ‫قبل‬ ‫معموًال‬ ‫جداول‬ ‫این‬ truncate ‫در‬ ،‫خاص‬ ‫‌طور‬ ‫ه‬‫ب‬ .‫شوند‬ ‫جایگزین‬ ‫جدید‬ ‫‌های‬ ‫ه‬‫داد‬ ‫و‬ ‫شده‬ ‫حذف‬ ‫قبلی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫اوراکل‬ ‫نسخه‬ 23c ‫جداول‬ ‫تعریف‬ ‫برای‬ ‫جدیدی‬ ‫قابلیت‬ ، staging ‫عبارت‬ ‫افزودن‬ ‫با‬ ‫که‬ ‫شده‬ ‫معرفی‬ FOR STAGING ‫دستور‬ ‫به‬ CREATE TABLE .‫است‬ ‫تنظیم‬ ‫قابل‬ ‫جداول‬ ‫تعریف‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫باعث‬ ‫قابلیت‬ ‫این‬ staging ‫ایجاد‬ ‫دستور‬ ‫از‬ ‫‌ای‬ ‫ه‬‫ساد‬ ‫مثال‬ ‫تصویر‬ ‫در‬ .‫باشد‬ ‫‌تر‬ ‫ل‬‫‌کنتر‬ ‫ل‬‫قاب‬ ‫و‬ ‫‌تر‬ ‫ه‬‫ساد‬ ‫اوراکل‬ ‫در‬ ‫جدول‬ staging :‫است‬ ‫شده‬ ‫آورده‬ create table STGtbl (id number, name varchar2(100), address varchar2(1000)) FOR STAGING; ‫فرآیندهای‬ ‫در‬ ‫تسهیل‬ ‫و‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫موقت‬ ‫مدیریت‬ ‫امکان‬ ‫ویژگی‬ ‫این‬ ( , , ) ETL Extract Transform Load ‫‌تواند‬ ‫ی‬‫م‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ .‫کند‬ ‫کمک‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫انبار‬ ‫در‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫مدیریت‬ ‫و‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫بارگذاری‬ ‫کارایی‬ ‫بهبود‬ ‫به‬
  • 15. ‫در‬ MySQL ‫و‬ MariaDB ‫مفهوم‬ ، staging ‫فرآیند‬ ‫از‬ ‫بخشی‬ ‫‌عنوان‬ ‫ه‬‫ب‬ ‫نیز‬ ( , , ) ETL Extract Transform Load ‫مورد‬ ‫‌های‬ ‫م‬‫سیست‬ ‫برخالف‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫این‬ ‫اما‬ ،‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ Data Warehouse ‫مثل‬ Oracle ‫و‬ SQL Server ‫‌های‬ ‫ت‬‫قابلی‬ ، ‫از‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫حال‬ ‫این‬ ‫با‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫ارائه‬ ‫جداول‬ ‫نوع‬ ‫این‬ ‫برای‬ ‫کمتری‬ ‫تخصصی‬ staging tables ‫در‬ MySQL ‫و‬ MariaDB ‫برای‬ .‫کرد‬ ‫استفاده‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫موقت‬ ‫پردازش‬ ‫و‬ ‫بارگذاری‬ ‫تعریف‬ Staging Table ‫در‬ / MySQL MariaDB ‫در‬ MySQL ‫و‬ MariaDB ‫جداول‬ ، staging ‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ساده‬ ‫‌طور‬ ‫ه‬‫ب‬ CREATE TABLE ‫عنوان‬ ‫به‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫ایجاد‬ ‫ایجاد‬ ‫برای‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫عمل‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫روی‬ ‫بر‬ ‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫عملیات‬ ‫اجرای‬ ‫و‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫ذخیره‬ ‫برای‬ ‫موقت‬ ‫جداول‬ staging table ‫به‬ ‫نیاز‬ ، .‫کرد‬ ‫اضافه‬ ‫خاصی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫‌ها‬ ‫ل‬‫جدو‬ ‫این‬ ‫به‬ ‫‌توان‬ ‫ی‬‫م‬ ‫نیازها‬ ‫به‬ ‫توجه‬ ‫با‬ ‫اما‬ ،‫است‬ ‫معمولی‬ ‫جدول‬ ‫یک‬ ‫تعریف‬ ‫جدول‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫‌ای‬ ‫ه‬‫ساد‬ ‫مثال‬ staging : CREATE TABLE staging_table ( id INT, name VARCHAR(100), address VARCHAR(255), status VARCHAR(50) ); ‫کاربردهای‬ Staging Table ‫در‬ / MySQL MariaDB ‫‌های‬ ‫ل‬‫فای‬ ‫(مثل‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫که‬ ‫‌هایی‬ ‫ه‬‫داد‬ :‫ورودی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫موقت‬ ‫ذخیره‬ CSV، JSON ‫دریافت‬ )‫خارجی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫پایگاه‬ ‫یا‬ ، ‫در‬ ‫ابتدا‬ ،‫‌شوند‬ ‫ی‬‫م‬ staging table ‫پردازش‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫باشند‬ ‫ناسازگار‬ ‫و‬ ‫خام‬ ‫اطالعات‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫بارگذاری‬ .‫دارند‬ ‫در‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬ MySQL ‫و‬ MariaDB ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ، staging table ‫استانداردسازی‬ ‫و‬ ‫پاکسازی‬ ‫قابل‬ .‫‌شود‬ ‫ی‬‫م‬ ‫نامعتبر‬ ‫‌های‬ ‫ه‬‫داد‬ ‫حذف‬ ‫و‬ ،‫تاریخ‬ ‫‌های‬ ‫ت‬‫فرم‬ ‫اصالح‬ ،‫تکراری‬ ‫‌های‬ ‫ه‬‫داد‬ ‫حذف‬ ‫شامل‬ ‫مراحل‬ ‫این‬ .‫هستند‬ ‫تغییرات‬ ‫این‬ ،)‫خاص‬ ‫محاسبات‬ ‫یا‬ ‫جدید‬ ‫‌بندی‬ ‫ت‬‫فرم‬ ،‫‌ها‬ ‫ه‬‫داد‬ ‫نوع‬ ‫تغییر‬ ‫(مثًال‬ ‫باشند‬ ‫داشته‬ ‫تبدیل‬ ‫به‬ ‫نیاز‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫اگر‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫تبدیل‬ ‫در‬ ‫‌توانند‬ ‫ی‬‫م‬ staging table .‫‌شوند‬ ‫ی‬‫م‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫‌ها‬ ‫ه‬‫داد‬ ،‫تغییرات‬ ‫این‬ ‫انجام‬ ‫از‬ ‫پس‬ .‫شوند‬ ‫انجام‬ ‫کار‬ ‫این‬ .‫شوند‬ ‫منتقل‬ ‫داده‬ ‫پایگاه‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ه‬‫داد‬ ،‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫مراحل‬ ‫انجام‬ ‫از‬ ‫پس‬ :‫اصلی‬ ‫جداول‬ ‫به‬ ‫داده‬ ‫انتقال‬ ‫دستورات‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫معموًال‬ INSERT INTO SELECT .‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫‌های‬ ‫ت‬‫عملیا‬ ‫از‬ ‫پشتیبانی‬ ETL ‫‌های‬ ‫ت‬‫اسکریپ‬ ‫با‬ SQL ‫در‬ : MySQL ‫و‬ MariaDB ‫‌های‬ ‫ت‬‫عملیا‬ ‫معموًال‬ ، ETL ‫با‬ ‫یا‬ ‫دستی‬ ‫صورت‬ ‫به‬ ‫‌های‬ ‫ت‬‫اسکریپ‬ ‫از‬ ‫استفاده‬ SQL ‫مانند‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫‌تر‬ ‫ه‬‫پیچید‬ ‫عملیات‬ ‫اجرای‬ ‫برای‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫انجام‬ Python ‫و‬ ‫ابزارهای‬ ETL ‫مانند‬ Talend ‫و‬ Pentaho ‫به‬ ‫که‬ ‫کرد‬ ‫استفاده‬ MySQL ‫و‬ MariaDB .‫‌شوند‬ ‫ی‬‫م‬ ‫متصل‬
  • 16. ‫‌های‬ ‫ت‬‫محدودی‬ Staging ‫در‬ / MySQL MariaDB ‫تخصصی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫وجود‬ ‫عدم‬ Staging ‫مانند‬ ‫‌تر‬ ‫ه‬‫پیشرفت‬ ‫‌های‬ ‫ه‬‫داد‬ ‫پایگاه‬ ‫برخالف‬ : Oracle، MySQL ‫و‬ MariaDB ‫‌طور‬ ‫ه‬‫ب‬ ‫جداول‬ ‫برای‬ ‫خاصی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫‌فرض‬ ‫ش‬‫پی‬ staging ‫(مثل‬ ‫ندارند‬ FOR STAGING ‫در‬ Oracle ‫دستی‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫بنابراین‬ .) ‫جداول‬ ‫ساختار‬ staging .‫کرد‬ ‫نگهداری‬ ‫و‬ ‫ایجاد‬ ‫را‬ ‫عملیات‬ Truncate ‫در‬ :‫دستی‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫و‬ MySQL ‫و‬ MariaDB ‫جداول‬ ‫دستی‬ ‫صورت‬ ‫به‬ ‫باید‬ ، staging ‫را‬ truncate ‫خودکارسازی‬ ‫فرآیندهای‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫کار‬ ‫این‬ .‫کرد‬ ‫حذف‬ ‫را‬ ‫قدیمی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫یا‬ ‫کرد‬ ETL .‫کند‬ ‫ایجاد‬ ‫‌هایی‬ ‫ی‬‫پیچیدگ‬ :‫محدود‬ ‫‌پذیری‬ ‫س‬‫مقیا‬ ‫و‬ ‫موازی‬ ‫پردازش‬ ‫از‬ ‫کمتر‬ ‫پشتیبانی‬ MySQL ‫و‬ MariaDB ‫داده‬ ‫باالی‬ ‫حجم‬ ‫و‬ ‫سنگین‬ ‫پردازشی‬ ‫عملیات‬ ‫برای‬ .‫باشد‬ ‫بیشتری‬ ‫منابع‬ ‫و‬ ‫تنظیمات‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫باشند‬ ‫حجیم‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫صورتی‬ ‫در‬ ‫بنابراین‬ ،‫‌اند‬ ‫ه‬‫نشد‬ ‫بهینه‬ ‫از‬ ‫چرا‬ Staging Table ‫در‬ / MySQL MariaDB ‫کنیم؟‬ ‫استفاده‬ ‫ایجاد‬ :‫‌ها‬ ‫ه‬‫داد‬ ‫بهتر‬ ‫مدیریت‬ staging table ‫و‬ ‫پاکسازی‬ ‫سپس‬ ‫و‬ ‫کنید‬ ‫ذخیره‬ ‫موقت‬ ‫طور‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ .‫دهید‬ ‫انجام‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫روی‬ ‫را‬ ‫الزم‬ ‫پردازش‬ ‫فرآیند‬ ‫کارایی‬ ‫بهبود‬ ETL ‫به‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫انتقال‬ ‫با‬ : staging table ‫و‬ ‫کرد‬ ‫وارد‬ ‫داده‬ ‫پایگاه‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫کمتری‬ ‫کاری‬ ‫بار‬ ‫‌توان‬ ‫ی‬‫م‬ ، .‫کرد‬ ‫حفظ‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫کارایی‬ ‫مفاهیم‬ ‫از‬ ‫استفاده‬ :‫‌تر‬ ‫ه‬‫پیشرفت‬ ‫‌های‬ ‫م‬‫سیست‬ ‫به‬ ‫انتقال‬ ‫برای‬ ‫آمادگی‬ staging ‫در‬ MySQL ‫و‬ MariaDB ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫فرآیندهای‬ ‫که‬ ‫کند‬ ETL .‫کنند‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫‌تر‬ ‫ه‬‫پیچید‬ ‫داده‬ ‫پایگاه‬ ‫‌های‬ ‫م‬‫سیست‬ ‫به‬ ‫انتقال‬ ‫قابل‬ ‫و‬ ‫استاندارد‬ ‫‌صورت‬ ‫ه‬‫ب‬ ‫را‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫کاربردی‬ ‫نکات‬ Staging Table ‫در‬ / MySQL MariaDB ‫فرآیندهای‬ ‫انجام‬ ‫برای‬ :‫خودکار‬ ‫‌های‬ ‫ت‬‫اسکریپ‬ ‫ایجاد‬ ETL ‫خارجی‬ ‫منابع‬ ‫از‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫کرد‬ ‫ایجاد‬ ‫خودکارسازی‬ ‫‌های‬ ‫ت‬‫اسکریپ‬ ‫‌توان‬ ‫ی‬‫م‬ ، ‫در‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ،‫کرده‬ ‫بارگذاری‬ staging table .‫دهند‬ ‫انتقال‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫سپس‬ ‫و‬ ،‫کرده‬ ‫تبدیل‬ ‫و‬ ‫پاکسازی‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ETL ‫فرآیندهای‬ ‫اجرای‬ ‫برای‬ : ETL ‫ابزارهای‬ ‫از‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫پیچیده‬ ETL ‫مانند‬ Talend، Apache NiFi ‫یا‬ ، Pentaho ‫به‬ ‫که‬ ‫کنید‬ ‫استفاده‬ MySQL ‫و‬ MariaDB .‫‌کنند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫پردازش‬ ‫برای‬ ‫اضافی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫متصل‬ ،‫نهایت‬ ‫در‬ staging tables ‫در‬ MySQL ‫و‬ MariaDB ‫فرآیندهای‬ ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫مدیریت‬ ‫برای‬ ‫مفیدی‬ ‫ابزار‬ ETL ‫برای‬ ‫اما‬ ،‫هستند‬ .‫باشد‬ ‫می‬ ‫اضافی‬ ‫‌های‬ ‫ک‬‫تکنی‬ ‫و‬ ‫ابزارها‬ ‫به‬ ‫نیاز‬ ،‫پیشرفته‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫‌سازی‬ ‫ه‬‫پیاد‬
  • 17. ‫مورد‬ ‫در‬ staging tables ‫در‬ MySQL ‫و‬ MariaDB ‫قابلیت‬ ‫این‬ ‫از‬ ‫مؤثر‬ ‫استفاده‬ ‫و‬ ‫بهتر‬ ‫درک‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫مواردی‬ ، :‫‌کنیم‬ ‫ی‬‫م‬ ‫بررسی‬ ‫را‬ ‫موارد‬ ‫این‬ ‫از‬ ‫تعدادی‬ ،‫ادامه‬ ‫در‬ .‫کند‬ ‫کمک‬ ( ‫موقت‬ ‫جداول‬ ‫از‬ ‫استفاده‬ Temporary Tables :) MySQL ‫و‬ MariaDB ( ‫موقت‬ ‫جداول‬ ‫از‬ temporary tables ‫عنوان‬ ‫به‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ) staging tables .‫گیرند‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫نیز‬ ‫موقتی‬ ( ‫نشست‬ ‫یک‬ ‫طول‬ ‫در‬ ‫تنها‬ ‫موقت‬ ‫جداول‬ session ‫حذف‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ،‫جلسه‬ ‫شدن‬ ‫بسته‬ ‫از‬ ‫پس‬ ‫و‬ ‫هستند‬ ‫دسترس‬ ‫در‬ ‫خاص‬ ) .‫‌شوند‬ ‫ی‬‫م‬ ‫کلیدی‬ ‫کلمه‬ ‫از‬ ،‫موقت‬ ‫جدول‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ TEMPORARY :‫‌کنیم‬ ‫ی‬‫م‬ ‫استفاده‬ CREATE TEMPORARY TABLE temp_staging_table ( id INT, name VARCHAR(100), address VARCHAR(255) ); ‫دستورات‬ ‫از‬ ‫استفاده‬ TRUNCATE ‫و‬ DELETE : ‫در‬ ‫قدیمی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫که‬ ‫زمانی‬ staging table ‫دستور‬ ‫با‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫ندارند‬ ‫نیازی‬ ‫دیگر‬ TRUNCATE ‫یا‬ DELETE ‫پاک‬ .‫کرد‬ TRUNCATE ‫از‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫خالی‬ ‫را‬ ‫جدول‬ ‫کل‬ DELETE ( ‫شرایط‬ ‫از‬ ‫‌دهد‬ ‫ی‬‫نم‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫دستور‬ ‫این‬ ‫اما‬ ،‫است‬ condition .‫کنید‬ ‫استفاده‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫حذف‬ ‫برای‬ ‫خاصی‬ ) ‫از‬ ‫استفاده‬ ‫مثال‬ TRUNCATE ‫و‬ DELETE : TRUNCATE TABLE staging_table; DELETE FROM staging_table WHERE created_at < '2024-01-01'; ‫دستورات‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫تبدیل‬ ... INSERT INTO SELECT : ‫در‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ‫و‬ ‫پاکسازی‬ ‫از‬ ‫پس‬ ‫معموًال‬ staging table ‫از‬ ‫‌توان‬ ‫ی‬‫م‬ ‫کار‬ ‫این‬ ‫برای‬ .‫شوند‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬ ‫به‬ ‫باید‬ ‫‌ها‬ ‫ه‬‫داد‬ ، ‫دستور‬ ... INSERT INTO SELECT .‫کرد‬ ‫استفاده‬ ‫از‬ ‫مستقیم‬ ‫طور‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ما‬ ‫به‬ ‫روش‬ ‫این‬ staging table .‫کنیم‬ ‫کپی‬ ‫مقصد‬ ‫جدول‬ ‫به‬ :‫مثال‬ INSERT INTO main_table (id, name, address) SELECT id, name, address FROM staging_table WHERE status = 'valid';
  • 18. ( ‫‌ها‬ ‫ص‬‫شاخ‬ ‫از‬ ‫استفاده‬ Indexes :‫کارایی‬ ‫بهبود‬ ‫برای‬ ) ‫‌های‬ ‫ن‬‫ستو‬ ‫به‬ ‫‌ها‬ ‫ص‬‫شاخ‬ ‫افزودن‬ staging table ‫‌های‬ ‫ت‬‫عملیا‬ ‫کارایی‬ ‫بهبود‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ،‫‌شوند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫فیلترها‬ ‫و‬ ‫جستجوها‬ ‫در‬ ‫که‬ ETL .‫کند‬ ‫کمک‬ ‫وارد‬ ‫حجیمی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫که‬ ‫مواردی‬ ‫در‬ ‫ویژه‬ ‫به‬ ‫‌ها‬ ‫ص‬‫شاخ‬ staging table .‫هستند‬ ‫مفید‬ ،‫دارند‬ ‫سریع‬ ‫جستجوی‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫انجام‬ ‫دقت‬ ‫با‬ ‫‌ها‬ ‫ص‬‫شاخ‬ ‫از‬ ‫استفاده‬ ‫باید‬ ‫بنابراین‬ ،‫کند‬ ‫کندتر‬ ‫کمی‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫ورود‬ ‫عملیات‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ص‬‫شاخ‬ ‫ایجاد‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬ .‫شود‬ :‫مثال‬ CREATE INDEX idx_status ON staging_table (status); :‫‌ها‬ ‫گ‬‫ال‬ ‫ثبت‬ ‫و‬ ‫خطاها‬ ‫مدیریت‬ ‫از‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫انتقال‬ ‫هنگام‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫توصیه‬ .‫باشند‬ ‫مختلفی‬ ‫خطاهای‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫ورودی‬ ‫‌های‬ ‫ه‬‫داد‬ ،‫موارد‬ ‫از‬ ‫بسیاری‬ ‫در‬ staging table .‫شوند‬ ‫مدیریت‬ ‫و‬ ‫ثبت‬ ‫احتمالی‬ ‫خطاهای‬ ،‫اصلی‬ ‫جداول‬ ‫به‬ ( ‫خطا‬ ‫جدول‬ ‫یک‬ ‫به‬ ‫را‬ ‫نامعتبر‬ ‫‌های‬ ‫ه‬‫داد‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫مثال‬ ‫برای‬ error table .‫کرد‬ ‫اصالح‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کرد‬ ‫منتقل‬ ) :‫مثال‬ INSERT INTO error_log (id, name, address) SELECT id, name, address FROM staging_table WHERE status = 'invalid'; ‫فرآیندهای‬ ‫‌بندی‬ ‫ن‬‫زما‬ ETL : ‫عملیات‬ ‫انجام‬ ‫برای‬ ETL ‫مانند‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫ابزارهای‬ ‫از‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫منظم‬ ‫صورت‬ ‫به‬ cron job ‫عملیات‬ ‫که‬ ‫کنید‬ ‫استفاده‬ ‫لینوکس‬ ‫در‬ .‫دهند‬ ‫انجام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫پردازش‬ ‫و‬ ‫بارگذاری‬ ‫از‬ ‫استفاده‬ ‫با‬ cron jobs ‫فرآیندهای‬ ‫‌توان‬ ‫ی‬‫م‬ ETL ‫‌ها‬ ‫ه‬‫داد‬ ‫تا‬ )‫هفته‬ ‫هر‬ ‫یا‬ ‫شب‬ ‫هر‬ ‫(مثل‬ ‫کرد‬ ‫اجرا‬ ‫خاصی‬ ‫‌های‬ ‫ن‬‫زما‬ ‫در‬ ‫را‬ .‫شوند‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ETL ‫فرآیندهای‬ ‫بهبود‬ ‫برای‬ ‫خارجی‬ Staging : ‫مثل‬ ‫ابزارهایی‬ Apache NiFi، Talend ‫و‬ Pentaho ‫فرآیندهای‬ ‫‌توانند‬ ‫ی‬‫م‬ ETL ‫واسطی‬ ‫عنوان‬ ‫به‬ ‫و‬ ‫کنند‬ ‫خودکارسازی‬ ‫را‬ ‫به‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫انتقال‬ ‫برای‬ staging table ‫در‬ MySQL ‫یا‬ MariaDB .‫شوند‬ ‫استفاده‬ ‫فرآیند‬ ‫‌سازی‬ ‫ه‬‫بهین‬ ‫و‬ ‫عملکرد‬ ‫پایش‬ ،‫خطا‬ ‫مدیریت‬ ‫نظیر‬ ‫امکاناتی‬ ‫ابزارها‬ ‫این‬ ETL .‫‌کنند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫نیز‬ ‫را‬ ‫فرآیندهای‬ ‫آزمایش‬ ‫و‬ ‫تست‬ ETL : ‫فرآیندهای‬ ‫اجرای‬ ‫از‬ ‫قبل‬ ‫‌شود‬ ‫ی‬‫م‬ ‫توصیه‬ ETL ‫اطمینان‬ ‫فرآیند‬ ‫صحت‬ ‫از‬ ‫تا‬ ‫دهید‬ ‫انجام‬ ‫کافی‬ ‫‌های‬ ‫ت‬‫تس‬ ،‫واقعی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫روی‬ ‫بر‬ .‫کنید‬ ‫حاصل‬ ‫از‬ ‫استفاده‬ staging table ‫به‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کنید‬ ‫تست‬ ‫جداگانه‬ ‫محیط‬ ‫یک‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ .‫کنید‬ ‫منتقل‬ ‫اصلی‬ ‫جداول‬
  • 19. ‫پایانی‬ ‫نکته‬ ‫از‬ ‫استفاده‬ staging tables ‫در‬ MySQL ‫و‬ MariaDB ‫در‬ ‫اما‬ ،‫باشد‬ ‫داشته‬ ‫نیاز‬ ‫بیشتری‬ ‫منابع‬ ‫و‬ ‫پیچیدگی‬ ‫به‬ ‫است‬ ‫ممکن‬ ‫اگرچه‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫باال‬ ‫موارد‬ ‫رعایت‬ ‫با‬ .‫شد‬ ‫خواهد‬ ‫اصلی‬ ‫جداول‬ ‫روی‬ ‫بر‬ ‫کاری‬ ‫بار‬ ‫کاهش‬ ‫و‬ ،‫سیستم‬ ‫کارایی‬ ‫افزایش‬ ،‫‌ها‬ ‫ه‬‫داد‬ ‫کیفیت‬ ‫بهبود‬ ‫باعث‬ ‫نهایت‬ ‫مزایای‬ ‫از‬ staging tables ‫در‬ MySQL ‫و‬ MariaDB ‫فرآیندهای‬ ‫و‬ ‫شوید‬ ‫‌مند‬ ‫ه‬‫بهر‬ ‫خوبی‬ ‫به‬ ETL .‫کنید‬ ‫‌سازی‬ ‫ه‬‫بهین‬ ‫را‬ ‫خود‬