مدل برنامه نویسی پایگاه داده :
MapReduce
کاهش نگاشت یک مدل برنامه نویسی ساده وقدرتمند برای محاسبات مقیاس بزرگ است.
چارچوب نرمافزاری است که از جانب شرکت گوگل برای پشتیبانی از رایانش توزیعشده ارایه شدهاست. این رایانش بر روی مجموعههای داده که متشکل ازخوشههایِ رایانهای است، صورت میگیرد.
این چارچوب با الهامگیری از نگاشت و کاهش که در واقع در زبانهای برنامهنویسی تابعی وجود دارد، ایجاد شد.
اگرچه آنچه که امروزه استفاده میشود دقیقاً همان چیزی نیست که مد نظر سازندگان اولیهاش است.
کتابخانههایِ نگاشتکاهش برای زبانهای سی++ وسیشارپ٬ ارلارج ٬جاوا ٬پرل ٬پایتون ٬روبی ٬افشارپ٬آر و سایر زبانها نوشتهشدهاند.
نگاشتکاهش چارچوبی برای پردازش مجموعههای عظیمی از دادهها بر روی رایانهها(گرهها) که بر روی موضوعی خاص فعالیت میکنند.
این مجموعه رویهم رفته به عنوان خوشه شناخته میشود(در صورتی که از سختافزاری یکسان بهره برند).
پردازش محاسباتی بر روی دادهایِ ذخیره شده درون سامانه فایل (ساختار نیافته) یا بر رویپایگاه داده (ساختاریافته) قابل اجراست.
گامِ "نگاشت": گره اصلی (Master Node) ورودی را به قطعاتی کوچکتر تقسیم مینماید(تقسیم مسالهی بزرگ به مسایل کوچک) و سپس تقسیم این مسایل کوچک(زیر مسایل) بین گرههای کارگر.
یک گره کارگر نیز ممکن است این عملیات را به نوبهی خود تکرار نماید، که ایجاد کنندهای ساختاری درختی و چند مرحلهای است. هر گره کارگر زیر-مسالهی خود را حل نموده و نتیجه را به گره اصلیِ خود برمیگرداند.
گامِ "کاهش": سپس گرهِ اصلی جواب زیر-مسایل را از گرههای کارگرش گرفته و خروجی را میسازد تا خروجی، که حل مسالهی ورودی است، را ایجاد نماید.
برتری نگاشتکاهش، در این است که اجازه میدهد تا پردازش عملیاتهای پردازش و کاهش توزیعشود.
فراهم آوردن این امر که هر کدام از این نگاشتها مستقل از دیگران است، که خود متضمن اجرای موازی این نگاشتهاست. اگرچه این گفته در عمل به این صورت خواهد بود که محدود به منابع داده یا تعداد پردازندههای نزدیک به آن دادهاست. به صورت مشابه، مجموعهای از 'کاهندهها' میتوانند فاز کاهش را به انجام رسانند.
لازمهی این امر آن است که خروجی عملیات نگاشت کلیدی یکسان را در یک زمان به همه کاهندهها ارسال نماید.
این روش برای الگوریتمهایی که به صورت دنبالهای از دستورهای غیرقابل موازی سازی هستند، ناکارآمد است. نگاشتکاهش بر روی مجموعههای عظیم دادهای بهتر جواب میدهد تا سرورهای تجاری.
مجموعههای عظیم دادهای را میتوان به مزارع سرور تعمیم داد.
مزارعی که حجمی به بزرگی چندین پتابایت داده را در کسری از ساعت، پردازش مینماید.
همچنین موازیسازی امکان بازسازی بعد از بروز خطایِ جزیی در سرورها را در طول عملیات فراهم میآورد:
اگر یکی از نگاشتکنندگان یا کاهندگان دچار خطا شود، کار دوباره زمانبندی خواهدشد- با فرض اینکه دادههمچنان در دسترس باشد.
MapReduce
کاهش نگاشت یک مدل برنامه نویسی ساده وقدرتمند برای محاسبات مقیاس بزرگ است.
چارچوب نرمافزاری است که از جانب شرکت گوگل برای پشتیبانی از رایانش توزیعشده ارایه شدهاست. این رایانش بر روی مجموعههای داده که متشکل ازخوشههایِ رایانهای است، صورت میگیرد.
این چارچوب با الهامگیری از نگاشت و کاهش که در واقع در زبانهای برنامهنویسی تابعی وجود دارد، ایجاد شد.
اگرچه آنچه که امروزه استفاده میشود دقیقاً همان چیزی نیست که مد نظر سازندگان اولیهاش است.
کتابخانههایِ نگاشتکاهش برای زبانهای سی++ وسیشارپ٬ ارلارج ٬جاوا ٬پرل ٬پایتون ٬روبی ٬افشارپ٬آر و سایر زبانها نوشتهشدهاند.
نگاشتکاهش چارچوبی برای پردازش مجموعههای عظیمی از دادهها بر روی رایانهها(گرهها) که بر روی موضوعی خاص فعالیت میکنند.
این مجموعه رویهم رفته به عنوان خوشه شناخته میشود(در صورتی که از سختافزاری یکسان بهره برند).
پردازش محاسباتی بر روی دادهایِ ذخیره شده درون سامانه فایل (ساختار نیافته) یا بر رویپایگاه داده (ساختاریافته) قابل اجراست.
گامِ "نگاشت": گره اصلی (Master Node) ورودی را به قطعاتی کوچکتر تقسیم مینماید(تقسیم مسالهی بزرگ به مسایل کوچک) و سپس تقسیم این مسایل کوچک(زیر مسایل) بین گرههای کارگر.
یک گره کارگر نیز ممکن است این عملیات را به نوبهی خود تکرار نماید، که ایجاد کنندهای ساختاری درختی و چند مرحلهای است. هر گره کارگر زیر-مسالهی خود را حل نموده و نتیجه را به گره اصلیِ خود برمیگرداند.
گامِ "کاهش": سپس گرهِ اصلی جواب زیر-مسایل را از گرههای کارگرش گرفته و خروجی را میسازد تا خروجی، که حل مسالهی ورودی است، را ایجاد نماید.
برتری نگاشتکاهش، در این است که اجازه میدهد تا پردازش عملیاتهای پردازش و کاهش توزیعشود.
فراهم آوردن این امر که هر کدام از این نگاشتها مستقل از دیگران است، که خود متضمن اجرای موازی این نگاشتهاست. اگرچه این گفته در عمل به این صورت خواهد بود که محدود به منابع داده یا تعداد پردازندههای نزدیک به آن دادهاست. به صورت مشابه، مجموعهای از 'کاهندهها' میتوانند فاز کاهش را به انجام رسانند.
لازمهی این امر آن است که خروجی عملیات نگاشت کلیدی یکسان را در یک زمان به همه کاهندهها ارسال نماید.
این روش برای الگوریتمهایی که به صورت دنبالهای از دستورهای غیرقابل موازی سازی هستند، ناکارآمد است. نگاشتکاهش بر روی مجموعههای عظیم دادهای بهتر جواب میدهد تا سرورهای تجاری.
مجموعههای عظیم دادهای را میتوان به مزارع سرور تعمیم داد.
مزارعی که حجمی به بزرگی چندین پتابایت داده را در کسری از ساعت، پردازش مینماید.
همچنین موازیسازی امکان بازسازی بعد از بروز خطایِ جزیی در سرورها را در طول عملیات فراهم میآورد:
اگر یکی از نگاشتکنندگان یا کاهندگان دچار خطا شود، کار دوباره زمانبندی خواهدشد- با فرض اینکه دادههمچنان در دسترس باشد.
یک راه کار پیشنهادی برا بهبود بازده برنامه نویسی و اسان کردن کار برای کاربران ترکیب سبک SQL در چارچوب MapReduce هست.
چندین زبان پیشرفته در این رابطه معرفی شده است :
گوگل --------- Sawzall
یاهو --------- Pig
فیس بوک ----- Hive
مایکروسافت -- Scope
چندین زبان پیشرفته در این رابطه معرفی شده است :
گوگل --------- Sawzall
یاهو --------- Pig
فیس بوک ----- Hive
مایکروسافت -- Scope
مدل برنامه نویسی پایگاه داده:
Dryad
یک موتور اجرایی توزیع شده ی همه منظوره برای پردازش برنامه های کاربردی موازی داده های coarse grained است.
ساختار عملیاتی آن یک گراف غیر چرخه ای جهت دار است.
این مدل عملیات را در راس هر خوشه کامپیوتر اجرا میکند و داده ها از طریق کانال داده شامل اسناد و اتصالات TCP و حافظه مشترک FIFO منتقل میکند.
ساختار عملیاتی Dryad توسط یک برنامه ی مرکزی به نام JobManager هماهنگ می شود.
Dryad
یک موتور اجرایی توزیع شده ی همه منظوره برای پردازش برنامه های کاربردی موازی داده های coarse grained است.
ساختار عملیاتی آن یک گراف غیر چرخه ای جهت دار است.
این مدل عملیات را در راس هر خوشه کامپیوتر اجرا میکند و داده ها از طریق کانال داده شامل اسناد و اتصالات TCP و حافظه مشترک FIFO منتقل میکند.
ساختار عملیاتی Dryad توسط یک برنامه ی مرکزی به نام JobManager هماهنگ می شود.
✌️«بزرگ ترین قهرمان های دومیدانی هم موفقیت خود را با برداشتن اولین قدم شروع میکنند»✌️
👈«تا وقتی دست به کار نشوید هیچ اتفاقی نخواهد افتاد»👉
🤓«برای اینکه رؤیاهایمان به واقعیت بدل شوند، باید بیدار ماند»🤓
🌺 با سلام و درود فراوان خدمت همراهان عزیز 🌺
🍂🍂امید است آخرین آدینه پاییزیتون پر از سلامتی و لبخند و شادی سپری شود.🍂🍂
امروز با یاد پروردگار مهربان فصل ذخیره سازی کلان داده ها را به پایان میرسانیم. 🙏
در ضمن روزهای جمعه هر هفته مقالات مفید روز، پیرامون کلان داده ها از طریق این کانال در اختیار علاقمندان قرار میگیرد.
با تشکر از توجه شما 🌷
گلناز اردشیری
@BigDataTechnology
👈«تا وقتی دست به کار نشوید هیچ اتفاقی نخواهد افتاد»👉
🤓«برای اینکه رؤیاهایمان به واقعیت بدل شوند، باید بیدار ماند»🤓
🌺 با سلام و درود فراوان خدمت همراهان عزیز 🌺
🍂🍂امید است آخرین آدینه پاییزیتون پر از سلامتی و لبخند و شادی سپری شود.🍂🍂
امروز با یاد پروردگار مهربان فصل ذخیره سازی کلان داده ها را به پایان میرسانیم. 🙏
در ضمن روزهای جمعه هر هفته مقالات مفید روز، پیرامون کلان داده ها از طریق این کانال در اختیار علاقمندان قرار میگیرد.
با تشکر از توجه شما 🌷
گلناز اردشیری
@BigDataTechnology
مدل برنامه نویسی پایگاه داده
All-Pairs
یک سیستم برای کاربردهای بیومتریک،بیوانفرماتیک و داده کاوی طراحی شده است.
در چهار مرحله پیاده سازی شده است:
مدل سازی سیستم
توزیع داده های ورودی
مدیریت
جمع آوری نتیجه
All-Pairs
یک سیستم برای کاربردهای بیومتریک،بیوانفرماتیک و داده کاوی طراحی شده است.
در چهار مرحله پیاده سازی شده است:
مدل سازی سیستم
توزیع داده های ورودی
مدیریت
جمع آوری نتیجه
مدل برنامه نویسی پایگاه داده :
Pregel
سیستمی از تسهیلات گوگل در پردازش گراف های بزرگ است. مانند:
تحلیل گراف های شبکه
سرویس های شبکه سازی اجتماعی
این مدل برنامه نویسی ،تحقیقات دیگری بروی روش های برای وظایف محاسباتی پیچیده متمرکز شده است:
رایانش محاوره ای -
Iterative Computations
رایانش حافظه ی تحمل پذیر خطا
محاسباتی افزایش -
Incremental Computations
کنترل جریان تصمیم گیری مربوط به داده ها
Pregel
سیستمی از تسهیلات گوگل در پردازش گراف های بزرگ است. مانند:
تحلیل گراف های شبکه
سرویس های شبکه سازی اجتماعی
این مدل برنامه نویسی ،تحقیقات دیگری بروی روش های برای وظایف محاسباتی پیچیده متمرکز شده است:
رایانش محاوره ای -
Iterative Computations
رایانش حافظه ی تحمل پذیر خطا
محاسباتی افزایش -
Incremental Computations
کنترل جریان تصمیم گیری مربوط به داده ها
«همیشه هر آنچه در توان دارید انجام دهید. شاید بتوانید آنهایی که رضایتشان را جلب نکرده اید غافلگیر کنید»
با درود فراوان به همراهان عزیز.
اول هفته پر از انرژی و سلامتی برایتان آرزومندم.
این هفته با تحلیل کلان داده ها در خدمت شما هستم.
امروز با یاد پرودرگار با هم تحلیل داده های سنتی مرور میکنیم و از روزهای آینده تحلیل کلان داده ها را بررسی میکنیم.
با تشکر از توجه شما🌷
گلناز اردشیری
@BigDataTechnology
با درود فراوان به همراهان عزیز.
اول هفته پر از انرژی و سلامتی برایتان آرزومندم.
این هفته با تحلیل کلان داده ها در خدمت شما هستم.
امروز با یاد پرودرگار با هم تحلیل داده های سنتی مرور میکنیم و از روزهای آینده تحلیل کلان داده ها را بررسی میکنیم.
با تشکر از توجه شما🌷
گلناز اردشیری
@BigDataTechnology
BigaData Analytics
🔵 تحلیل داده های سنتی:
تحلیل داده ها به منظور متمرکز کردن،استخراج و تصفیه ی داده های مفید از داده های مخفی شده در دسته از داده های بی نظم از روش آماری مناسب استفاده می شود و برای بیشترین استفاده از عملکرد داده ها و حداکثر کردن ارزش داده ها شناسایی می شود.
تحلیل کلان داده ها میتواند به عنوان تحلیل نوعی خاص از داده ها فرض شود.
بسیاری از روش های های تحلیل داده های سنتی ممکن است هنوز برای تحلیل کلان داده ها استفاده شود.
روش های سنتی زیر که مربوط به علوم کامپیوتر و آمار هستند با هم بررسی خواهیم کرد.
Cluster Analysis
Factor Analysis
Correlation Analysis
Regression Analysis
A/B Testing
Statistical Analysis
Data mining
🔵 تحلیل داده های سنتی:
تحلیل داده ها به منظور متمرکز کردن،استخراج و تصفیه ی داده های مفید از داده های مخفی شده در دسته از داده های بی نظم از روش آماری مناسب استفاده می شود و برای بیشترین استفاده از عملکرد داده ها و حداکثر کردن ارزش داده ها شناسایی می شود.
تحلیل کلان داده ها میتواند به عنوان تحلیل نوعی خاص از داده ها فرض شود.
بسیاری از روش های های تحلیل داده های سنتی ممکن است هنوز برای تحلیل کلان داده ها استفاده شود.
روش های سنتی زیر که مربوط به علوم کامپیوتر و آمار هستند با هم بررسی خواهیم کرد.
Cluster Analysis
Factor Analysis
Correlation Analysis
Regression Analysis
A/B Testing
Statistical Analysis
Data mining
تحلیل سنتی---》
Cluster Analysis
تحلیل خوشه ای :
تجزیه و تحلیل خوشه ای، یک روش آماری برای گروه بندی داده ها یا مشاهدات، با توجه به شباهت یا درجه نزدیکی آنها است. از طریق تجزیه و تحلیل خوشه ای داده ها یا مشاهدات به دسته های همگن و متمایز از هم تقسیم می شوند. از این روش برای بخش بندی کردن مشتریان بر مبنای شباهت هایشان استفاده می شود. غالبا در تحلیل خوشه ای، تصمیم گیری درباره تعداد خوشه ها بر مبنای ملاک بیزی و ملاک آکائیکه گرفته می شود. جوابی در سطح حد اقل ملاک بیزی و ملاک آکائیکه به دست می آید، می تواند معرف بهترین تعادل موجود بین دقت و پیچیدگی باشد که مهم ترین تاثیرات را در نظر بگیرد و اهمیت آنها را کم نشان ندهد. همچنین، راه دیگر برای تصمیم گیری در زمینه تعداد خوشه ها، استفاده از نسبت فاصله می باشد. بهینه ترین تعداد خوشه ها هنگامی است که تغییری بزرگ در نسبت فاصله مشاهده می گردد.
اصطلاح تحلیل خوشه ای اولین بار توسط Tryon در سال ۱۹۳۹ برای روش های گروه بتدی اشیائی که شبیه بودند مورد استفاده قرار گرفت. تجزیه خوشه ای ابزار میانبر تحلیل داده هاست که هدف آن نظم دادن به اشیا مختلف به گروه هایی که درجه ارتباط بین دو شئی اگر آنها به یک گروه تعلق داشته باشند حداکثر و در غیر این صورت حداقل است. به عبارت دیگر تحلیل خوشه ای ساختار داده ها را بدون توضیح اینکه چه وجود دارد را نشان می دهد.
تحلیل خوشه ای یک ابزار اکتشاف است و نتایج آن ممکن است
۱) در تعریف یک طرح طبقه بندی مانند رده بندی حیوانات، حشرات یا گیاهان مفید باشد.
۲) قواعدی برای اختصاص موارد جدید به طبقه ها به منظور شناسایی و تشخیص به دست دهد.
۳) حدود تعریف، اندازه و تنوع و تعریف برای آنچه قبلا به شکل مفاهیم وسیعی بوده است، فراهم آورد.
۴) نمونه هایی برای معرفی طبقه ها بیاید.
۵) مدل آماری برای توصیف جامعه ارائه دهد.
مفاهیم فاصله و تشابه از مفاهیم اساسی تحلیل خوشه ای است. فاصله اندازهای است که نشان می دهد دو مشاهده تا چه حد جدا از یکدیگرند. در حالی که تشابه شاخص نزدیکی آنها با یکدیگر است. پژوهشگر قبل از تحلیل، نخست باید یک مقیاس کمی را که بر پایه همخوانی(تشابه) بین مشاهدهها اندازه گرفته می شود را انتخاب کند. این شاخص ها با توجه به الگوریتم تشکیل خوشه، ماهیت متغیر ها(پیوسته، گسسته یا دو ارزشی) و مقیاس اندازه گیری انتخاب می شوند.
Cluster Analysis
تحلیل خوشه ای :
تجزیه و تحلیل خوشه ای، یک روش آماری برای گروه بندی داده ها یا مشاهدات، با توجه به شباهت یا درجه نزدیکی آنها است. از طریق تجزیه و تحلیل خوشه ای داده ها یا مشاهدات به دسته های همگن و متمایز از هم تقسیم می شوند. از این روش برای بخش بندی کردن مشتریان بر مبنای شباهت هایشان استفاده می شود. غالبا در تحلیل خوشه ای، تصمیم گیری درباره تعداد خوشه ها بر مبنای ملاک بیزی و ملاک آکائیکه گرفته می شود. جوابی در سطح حد اقل ملاک بیزی و ملاک آکائیکه به دست می آید، می تواند معرف بهترین تعادل موجود بین دقت و پیچیدگی باشد که مهم ترین تاثیرات را در نظر بگیرد و اهمیت آنها را کم نشان ندهد. همچنین، راه دیگر برای تصمیم گیری در زمینه تعداد خوشه ها، استفاده از نسبت فاصله می باشد. بهینه ترین تعداد خوشه ها هنگامی است که تغییری بزرگ در نسبت فاصله مشاهده می گردد.
اصطلاح تحلیل خوشه ای اولین بار توسط Tryon در سال ۱۹۳۹ برای روش های گروه بتدی اشیائی که شبیه بودند مورد استفاده قرار گرفت. تجزیه خوشه ای ابزار میانبر تحلیل داده هاست که هدف آن نظم دادن به اشیا مختلف به گروه هایی که درجه ارتباط بین دو شئی اگر آنها به یک گروه تعلق داشته باشند حداکثر و در غیر این صورت حداقل است. به عبارت دیگر تحلیل خوشه ای ساختار داده ها را بدون توضیح اینکه چه وجود دارد را نشان می دهد.
تحلیل خوشه ای یک ابزار اکتشاف است و نتایج آن ممکن است
۱) در تعریف یک طرح طبقه بندی مانند رده بندی حیوانات، حشرات یا گیاهان مفید باشد.
۲) قواعدی برای اختصاص موارد جدید به طبقه ها به منظور شناسایی و تشخیص به دست دهد.
۳) حدود تعریف، اندازه و تنوع و تعریف برای آنچه قبلا به شکل مفاهیم وسیعی بوده است، فراهم آورد.
۴) نمونه هایی برای معرفی طبقه ها بیاید.
۵) مدل آماری برای توصیف جامعه ارائه دهد.
مفاهیم فاصله و تشابه از مفاهیم اساسی تحلیل خوشه ای است. فاصله اندازهای است که نشان می دهد دو مشاهده تا چه حد جدا از یکدیگرند. در حالی که تشابه شاخص نزدیکی آنها با یکدیگر است. پژوهشگر قبل از تحلیل، نخست باید یک مقیاس کمی را که بر پایه همخوانی(تشابه) بین مشاهدهها اندازه گرفته می شود را انتخاب کند. این شاخص ها با توجه به الگوریتم تشکیل خوشه، ماهیت متغیر ها(پیوسته، گسسته یا دو ارزشی) و مقیاس اندازه گیری انتخاب می شوند.