BigData – Telegram
427 subscribers
231 photos
7 videos
75 files
213 links
معرفی کلان داده ها و فناوری های مرتبط

📞ارتباط با ادمین :
فقط روز چهارشنبه ساعت ۲۲ الی ۲۳
@Golnazardeshiri
-
Download Telegram
 سيستم‌فايلي GFS براي پاسخ‌گويي به برنامه‌هايي تهيه شد که گوگل در سال ۲۰۰۳ به کاربران خود معرفي کرده بود، يعني زماني که گوگل هنوز با مشکلات مرتبط با مقياس‌پذيري سيستم‌ها مواجه نشده‌بود. حتي قبل از تملک یوتیوب نيز استفاده از سيستم‌فايلي GFS با مشکلاتي مواجه شد. اين مسئله بيشتر از آن جهت بروز کرده‌بود که برنامه‌هاي جديد گوگل در تعامل با اندازه فايل ايده‌آل ۶۴ مگابايتي شرکت، عملکرد درستي نداشتند. براي برطرف کردن اين مشکل، گوگل براي ذخيره‌سازي داده به سراغ روش مبتني بر Bigtable رفت که روي زيرساخت و سيستم‌فايلي GFS قرار مي‌گيرد. اين روش به شکل بسيار مبهمي ساختار پايگاه‌داده را در ذهن تداعي مي‌کند. ماهيت Bigtable نيز همانند سيستم‌فايلي GFS «فقط يک‌بار نوشتن» است. در نتيجه کليه تغييرات در قالب افزوده شدن داده به جدول‌ها، بروز مي‌کند. به عنوان مثال، گوگل از اين راهکار در برنامه‌هايي نظير Google Docs استفاده مي‌کند تا مسئله کنترل نگارش داده را مديريت کند.

اگر در گوگل کار نمي‌کنيد، ‌بقيه داستان براي شما حالتي آکادميک و رسمي خواهد داشت. هر چند مي‌تواند به کاربران App Engine،‌سيستم ‌ذخيره‌سازي ابري و حتي ساير خدمات گوگل کمک کند تا درک بهتري از زيرساخت مورد استفاده‌شان داشته باشند. در حالي‌که محيط Google Cloud Storage، راهکاري را فراهم مي‌کند تا عموم کاربران بتوانند آنچه را مي‌خواهند از طريق يک رابط تحت وب، در سطح سيستم‌فايلي GFS، ذخيره کنند و به آن دسترسي داشته باشند اما اطلاعات دقيق در مورد رابط‌ها و ابزارهاي اصلي براي دسترسي به سيستم‌فايلي GFS، منتشر نشده‌است. البته مستنداتي که سيستم‌فايلي GFS را تشريح مي‌کنند منجر به ارائه يک سيستم‌فايلي توزيع‌شده ديگر بسيار شبيه GFS شد که کاربردهاي بسیار گسترده‌تري يافته است. اين سيستم فايلی با نام هدوپ Distributed File System معرفي شده‌است.

منبع : Bigdata.ir

 http://www.bigdata.ir/1394/01/%d8%b3%d9%8a%d8%b3%d8%aa%d9%85%e2%80%8c%d9%87%d8%a7%d9%8a-%d9%81%d8%a7%d9%8a%d9%84%d9%8a-%d8%af%d8%b1-%d8%b9%d8%b5%d8%b1-%da%a9%d9%84%d8%a7%d9%86-%d8%af%d8%a7%d8%af%d9%87/
ذخیره سازی توزیع شده کلان داده ها:

پایگاه داده:

سیستمهای مدیریت پایگاه های داده مبتنی بر ستون، بر اسـاس قدرتمندسازی همان طبیعت کلید-مقدارشکل گرفته اند. برخلاف آن تصور عامه در اینترنت که گفته میشود یادگیری این پایگاه داده ها مشکل است، این نوع پایگاه داده ها به طور خیلی ساده و بر اساس ساخت کلکسون هایی از یک یا چند جفت کلید – مقدار کار می کنند که با یک رکورد مطابقت دارد. بر خلاف تعاریف قدیمی از قالب (Schema) در سیستم های رابطه ای، یک سیستم مبتنی بر ستون نیازمند جدولی از پیش تعیین شده جهت کار کردن با داده ها در آن نیست. هر رکورد با یک یا چند ستون که دربردارنده اطلاعات هستند، ارائه می شود و هر ستون از هر رکورد می تواند متفاوت باشد. به طور ساده، این نوع پایگاه داده ها، آرایه هایی دو بعدی هستند که به موجب آن، هر کلید (در اینجا معادل سطر یا رکورد)، یک یا چند جفت کلید – مقدار را به همراه دارند که به آنها متصل هستند. این سیستم، اجازه استفاده و نگهداری حجم عظیمی از داده های ساخت نایافته را می دهد. (مثلا یک رکورد با مقادیر عظیمی ازاطلاعات)
ایـن سیسـتم معمـولا زمانـی اسـتفاده میشـود که جفتهای کلید – مقدار کافی نیستند و ذخیره تعداد بسیار زیاد از رکوردها با تعداد اطلاعات بسیار بزرگ، یک ضرورت محسوب می شود.
این سیستم قابلیت بسط پذیری بسیار خوب و بالایی را دارد. برای سیستمهای مدیریت پایگاه داده های مبتنی بر ستون می توان موارد زیر را معرفی نموده :

Cassandra:
مخزن داده مبتنی بر
BigTable و DynamoDBHBase:
مخزن داده سکوی ،
Apache Hadoop
مبتنی بر ایده ی
BigTable

موارد مناسب جهت استفاده:
نگهداری از داده های ساخت نایافته و اطلاعات غیر فرار:

اگر دسته ای عظیم از مقادیر و صفات نیازمند به نگهداری برای مدت طولانی باشند، این سیستم بسیار کاربردی است.
بسط دهی: این سیستمها به طور ذاتی قابلیت بسط پذیری بسیار بالایی دارند و می توانند با مقادیر بسیار بسیار زیاد از اطلاعات سروکار داشته باشند.مبتنی برسند:

سیستم مدیریت پایگاه داده های مبتنی بر سند را می توان آخرین دیوانه بازی دانست که توانسته سیل عظیمی از مردم را به استفاده از خود جوگیر کند! این سیستم همانند سیستم مبتنی بر ستون عمل می کند، گرچه امکان رسیدن به تودرتوسازی بیشتری را می دهد:
وجود یک سند در یک سند دیگر، در سند دیگر. سندها بر محدودیت یک یا دو سطح از تودرتو سازی سیستمهای مبتنی بر ستون فائق آمده اند. به طور ساده، هر ساختار پیچیده و دلخواه میتواند تشکیل یک سند را بدهد و این سند قابلیت ذخیره سازی در این سیستم را دارد. علیرغم ذات قدرتمند قابلیت پرس وجو از رکوردها با کلیدهای مختلف، این سیستم مشکلات و افت هایی را در مقایسه با بقیه همتایان خود دارد.
به عنوان مثال، دریافت یک مقدار از یک رکورد به معنای دریافت مقدار زیاد آن رکورد است. مشابه این سناریو در زمان به روزرسانی داده ها نیز صادق است. این موارد باعث افت کارایی می شوند. برای سیستمهای مدیریت پایگاه های داده مبتنی بر سند می توان موارد زیر را معرفی نموده

MongoDB:
پایگاه داده بسیار پرطرفدار و بسیار کارا
CoudhDB:
یک مخزن داده ی پیشرو و سنت شکن
Coudhbase :
مبتنی بر
JSON
قابلیت ذخیره در حافظه اصلی موارد مناسب جهت استفاده:
اطلاعات تودرتو این سیستمها اجازه کار با داده های بسیار پیچیده و تودرتو را میدهد.کار با جاوااسکریپت :
یکی از حیاتی ترین کارکردهای این نوع سیستمها، روشی است که در آن با برنامه های جاوا اسـکریپتی روبرو میشوند، مثلا استفاده از قالب JSONمناسب برای جاوا اسکریپتمبتنی بر گراف:
در نهایت، می توان به سیستم جذاب مدیریت پایگاه داده های مبتنی بر گراف اشاره کرد. این سیستمها داده ها را به شکلی کاملا متفاوت از سه مدل قبلی که به آن اشاره شد، ارائه میکنند.
آنها ساختار درختی را همانند آنچه که در گرافها هست ارائه می کنند، با راس ها و یال هایی که به وسیله ی رابطه ها به یکدیگر متصل هستند. مشابه تصویری ریاضی گرافها و به لطف طبیعت گرافها (مانند اتصال و دسته بندی اطلاعات مرتبط با هم)، برخی از عملیات خاص در این سیستمها، بسیار ساده تر صورت میپذیرند. (مانند ارتباط آدمها) این پایگاه داده های به طور معمول در برنامه هایی استفاده می شوند که برقراری مرزهای مشخص در اتصالات ضروری است. به عنوان مثال هنگامی که وارد یک شبکه اجتماعی شویم، اتصال دوستانتان به شما و نیز اتصال دوستان دوستانتان به شما از طریق سیستمهای مدیریت پایگاه داده های مبتنی بر گراف ساده تر است.
معرفی سیستمهای مدیریت پایگاه داده های NoSQL و مخازن داده:

گرچه مدل رابطه ای بسیار قدرتمند و انعطاف پذیر است، اما همان طور که اشاره شد، کار کردن با این مدل داده مهارت خاص خود را می طلبد. جدای از این، خیلی از کاربران، مشکلات و نیازمندی هایی دارند که راهکار پایگاه داده های رابطه ای و حتی شی-رابطه ای برایشان مناسب نیست. در دهه اخیر سیستم هایی موسوم به NoSQL و برنامه های مربوط به آنها بسیار پرطرفدار و فراگیر شده اند، با این شعار که در کنار معرفی کارکردهای جدید، بسیاری از دشواری های کار کردن با مدل رابطه ای را نیز برطرف کنند. در واقع هدف این است که با ریشه کن کردن محدودیت های سختگیرانه ای که قبلا در سیستم رابطه ای معرفی شده بود، بتوان به راحتی و انعطاف بالا در نگهداری، پرسوجو و استفاده از داده ها رسید. پایگاه دادههای NoSQL با استفاده از شیوه های ساخت نایافته (یا ساخت یافته در زمان عملی) به حذف محدودیت های رابطه ها کمک میکند و راههای متعدد و مختلفی را جهت موارد استفاده ی خاصی هم چون ذخیره “تمام متن” اسناد “full-text dooument storage “ارائه می کند. بر خلاف آنچه که در مقدمه آورده شده، در سیستمهای پایگاه داده های NoSQL هیچ مدل دادهای همانند سیستمهای پایگاه داده های رابطه ای، مورد استفاده یا نیاز نیست. هر سیستم مدیریت پایگاه دادهه ای NoSQL، به منظورهای خاص و هر یک به شیوه خاص، این منطق را پیاده سازی کرده اند. این پیاده سازی ها و راهکارهای بدون قالب (Schemaless) هم اجازه ی پشتیبانی از أنواع نامتناهی از فرم های دادهای را فراهم می آورد و هم این که به طور ساده و بسیار موثری، از قالب «کلید – مقدار»ی که در مدل رابطه ای بود، پشتیبانی میکنند. پشتیبانی از قالب کلید-مقدار بیشتر برای تعداد دادهه ای کوچک و معمولا به منظور cache کردن داده ها به کار میرود که در بخش مقایسه سیستمهای NoSQL به آن پرداخته می شود. بر خلاف پایگاه داده های رابطه ای، قادر خواهیم بود تا کلکسیونی ” collection”از داده ها را درون یک سیستم پایگاه دادههای NoSQL همانندMongoDB داشته باشیم این پایگاه داده های یا به عبارت دیگر این «مخازن اسناد» (document stores) هر داده را در کنار سایر داده ها، تحت عنوان یک کلکسیون (یا همان سند) در پایگاه داده های نگهداری می کند. این اسناد می توانند تحت عنوان اشیاء داده مستقلی مانند قالب JSON به نمایش درآیند و همچنین بر اساس صفت هایش پرس وجو شوند.

سیستم های پایگاه داده های nosql برخلاف سیستم رابطه ای که از زبان SQL استفاده می کرد، روش های مشترکی را برای پرس وجو از داده ها ارائه نمیکنند و هر سیستم NoSQL راهکار پرس وجو یا دسترسی خاص خود به داده ها را دارا است.
منبع:
www.bigdata.ir
GFS
MongoDB
یک پایگاه داده‌های سند-گرای متن‌باز، کارا، مقیاس‌پذیر، بدون نیاز به طرح‌بندی اولیه نوشته شده در زبان برنامه‌نویسی سی++ است.

هدف مانگودی‌بی پرکردن فاصلهٔ ذخیره‌بندی‌های کلید/مقداری—که سریع و مقیاس پذیر هستند— و سامانه‌های سنتی مدیریت پایگاه داده رابطه‌ای—که درخواست‌های غنی و عملکرد عمیقی دارند— بوده‌است. مانگودی‌بی برای رفع مشکلاتی طراحی شده که با پایگاه داده‌های رابطه‌ای به سادگی رفع نمی‌شوند؛ برای مثال اگر پایگاه داده کارسازهای زیادی را دربرگیرد.

مانگودی‌بی به جای اینک همانند پایگاه های داده‌های رابطه‌ای کلاسیک داده‌ها را در جداول ذخیره کند، داده‌های ساختاریافته را در اسنادی با قالبی شبیه به جی‌سون(مانگودی‌بی این قالب را بی‌سون(BSON) می‌نامد) ذخیره‌سازی می کند، و بدین ترتیب یکپارچه‌سازی داده‌ها را در برخی اقسام برنامه‌های کاربردی آسان‌تر و سریع‌تر می کند.
SimpleDB
پایگاه داده ی توزیع شده و یک سرویس دهنده وب آمازون است.
داده ها بر اساس دامنه های مختلف سازمان دهی شده اند که ممکن است داده های ذخیره شده حاصل شوه و  پرس و جو شده باشند.
دامنه ها شامل خواص مختلف و مجموعه جفت های نام/ مقدار پروژه ها هستند.
برای تضمین امنیت داده ها و بهبود کارایی تاریخ در ماشین های متفاوت در مراکز داده ی مختلف ثبت شده است.
زیرا سیستم از تقسیم بندی خودکار پشتیبانی نمیکند.
بنابراین با تغییر حجم داده ها نمیتواند گسترش داده شود.
این پایگاه داده برای پرس و جو به کاربران اجازه استفاده از SQL را میدهد.
CouchDB

در سال 2005 برای اولین بار منتشر شد ولی در سال 2008 بنیاد آپاچی مالک آن شد. CouchDB که در ابتدا با زبان برنامه نویسی سی ++ پیاده سازی شده بود بعد ها در سال 2008 به زبان ارلنگ منتقل شد. این پایگاه داده نیز همانند اعضای دیگر، یک پایگاه داده سندگرا است که با استفاده از فرمت JSON داده ها را در غالب سند ذخیره میکند. این پایگاه داده که با شعار “یک دیتابیس که مفهوم وب را بپذیرد” شروع به کار کرد.

این پایگاه داده با اینکه از MapReduce استفاده میکند ولی دسترسی آن فقط از طریق API های وب امکان پذیر است. به این صورت که برای دریافت اسناد می بایست یک دستور Get به HTTP فرستاده شود. این پایگاه داده بر خلاف پایگاه داده های دیگر که یک نود اصلی و چند نود فرعی هستند (Single Master/Multiple Slaves)، این پایگاه داده از نوع چند نود اصلی و چند نود فرعی (Multi Masters/Multi Slaves) است و اینکه این پایگاه داده تنها عضوی است که می توان از آن فعلا در برنامه نویسی اندروید استفاده کرد. سیستم مدیریت دیتابیس هم که Futon نام دارد از طریق مرورگر قابل دسترسی است.
Platform for nimble universal table storage :
سکو برای ذخیره سازی جدول جامع:
یک سیستم توزیع شده موازی در مقیاس بزرگ برای برنامه های کاربردی وب در یاهو

https://wiki.apache.org/hadoop/Hbase/PNUTS
جهت اطلاع دوستان عزیزی که درخواست مقاله های لاتین پیرامون رایانش ابری و کلان داده ها کردند،
از این پس فقط روز های جمعه مقاله های درخواست شده ارسال میشود.
زندگی ما زاییده اندیشه ماست.

سلام و درود فراوان خدمت همراهان و سروران عزیز.

آخرین هفته پاییزتون سرشار از آرامش و نشاط و سلامتی.

امروز با یاد ایزد با مطالبی پیرامون مدل برنامه نویسی پایگاه داده کلان داده ها از جمله :

MapReduce
Dryad
All-Pairs
Pregel
در خدمت شما هستم.

با تشکر از توجه شما 🌷

گلناز اردشیری
@BigDataTechnology
مدل برنامه نویسی پایگاه داده :

مجموعه داده های انبوهی از کلان داده ها معمولا در صداها و حتی هزاران سرویس دهنده ی تجاری ذخیره می شوند.
ظاهرا مدل های موازی سنتی مانند MPI و OpenMP ممکن است برای پشتیبانی چنین برنامه های موازی مقیاس بزرگ مناسب نباشد.
برخی مدل های برنامه نویسی به طور موثری کارایی پایگاه داده داده های NoSQL را بهبود میبخشند و شکاف کارایی بین پایگاه داده رابطه ای را کاهش میدهند.
بنا بر این این مدل ها سنگ بنای تحلیل داده های انبوه شدند که به مختصر هر کدام را بررسی خواهیم کرد.
مدل برنامه نویسی پایگاه داده :
MapReduce

کاهش نگاشت یک مدل برنامه نویسی ساده وقدرتمند برای محاسبات مقیاس بزرگ است.
چارچوب نرم‌افزاری است که از جانب شرکت گوگل برای پشتیبانی از رایانش توزیع‌شده ارایه شده‌است. این رایانش بر روی مجموعه‌های داده که متشکل ازخوشه‌هایِ رایانه‌ای است، صورت می‌گیرد.

این چارچوب با الهام‌گیری از نگاشت و کاهش که در واقع در زبان‌های برنامه‌نویسی تابعی وجود دارد، ایجاد شد.
اگرچه آنچه که امروزه استفاده می‌شود دقیقاً همان چیزی نیست که مد نظر سازندگان اولیه‌اش است.
کتابخانه‌هایِ نگاشت‌کاهش برای زبان‌های سی++ وسی‌شارپ٬ ارلارج ٬جاوا ٬پرل ٬پایتون ٬روبی ٬اف‌شارپ٬آر و سایر زبان‌ها نوشته‌شده‌اند.

نگاشت‌کاهش چارچوبی برای پردازش مجموعه‌های عظیمی از داده‌ها بر روی رایانه‌ها(گره‌ها) که بر روی موضوعی خاص فعالیت می‌کنند.
 این مجموعه روی‌هم رفته به عنوان خوشه شناخته می‌شود(در صورتی که از سخت‌افزاری یکسان بهره برند).
پردازش محاسباتی بر روی دادهایِ ذخیره شده درون سامانه فایل (ساختار نیافته) یا بر رویپایگاه داده (ساختاریافته) قابل اجراست.

گامِ "نگاشت": گره اصلی (Master Node) ورودی را به قطعاتی کوچک‌تر تقسیم می‌نماید(تقسیم مساله‌ی بزرگ به مسایل کوچک) و سپس تقسیم این مسایل کوچک(زیر مسایل) بین گره‌های کارگر.
 یک گره کارگر نیز ممکن است این عملیات را به نوبه‌ی خود تکرار نماید، که ایجاد کننده‌ای ساختاری درختی و چند مرحله‌ای است. هر گره کارگر زیر-مساله‌ی خود را حل نموده و نتیجه را به گره اصلیِ خود برمی‌گرداند.

گامِ "کاهش": سپس گره‌ِ اصلی جواب زیر-مسایل را از گره‌های کارگرش گرفته و خروجی را می‌سازد تا خروجی، که حل مساله‌ی ورودی است، را ایجاد نماید.

برتری نگاشت‌کاهش، در این است که اجازه می‌دهد تا پردازش عملیات‌های پردازش و کاهش توزیع‌شود.
فراهم آوردن این امر که هر کدام از این نگاشت‌ها مستقل از دیگران است، که خود متضمن اجرای موازی این نگاشت‌هاست. اگرچه این گفته در عمل به این صورت خواهد بود که محدود به منابع داده یا تعداد پردازنده‌های نزدیک به آن داده‌است. به صورت مشابه، مجموعه‌ای از 'کاهنده‌ها' می‌توانند فاز کاهش را به انجام رسانند.
 لازمه‌ی این امر آن است که خروجی عملیات نگاشت کلیدی یکسان را در یک زمان به همه کاهنده‌ها ارسال نماید.
 این روش برای الگوریتم‌هایی که به صورت دنباله‌ای از دستورهای غیرقابل موازی سازی هستند، ناکارآمد است. نگاشت‌کاهش بر روی مجموعه‌های عظیم داده‌ای بهتر جواب می‌دهد تا سرورهای تجاری.
مجموعه‌های عظیم داده‌ای را می‌توان به مزارع سرور تعمیم داد.
 مزارعی که حجمی به بزرگی چندین پتابایت داده را در کسری از ساعت، پردازش می‌نماید.

 همچنین موازی‌سازی امکان بازسازی بعد از بروز خطایِ جزیی در سرورها را در طول عملیات فراهم می‌آورد:
 اگر یکی از نگاشت‌کنندگان یا کاهندگان دچار خطا شود، کار دوباره زمان‌بندی خواهدشد- با فرض اینکه داده‌همچنان در دسترس باشد.
یک راه کار پیشنهادی برا بهبود بازده برنامه نویسی و اسان کردن کار برای کاربران ترکیب سبک SQL در چارچوب MapReduce هست.
چندین زبان پیشرفته در این رابطه معرفی شده است :

گوگل --------- Sawzall
یاهو --------- Pig
فیس بوک ----- Hive
مایکروسافت -- Scope
مدل برنامه نویسی پایگاه داده:
Dryad
یک موتور اجرایی توزیع شده ی همه منظوره برای پردازش برنامه های کاربردی موازی داده های coarse grained است.
ساختار عملیاتی آن یک گراف غیر چرخه ای جهت دار است.
این مدل عملیات را در راس هر خوشه کامپیوتر اجرا میکند و داده ها از طریق کانال داده شامل اسناد و اتصالات TCP و حافظه مشترک FIFO منتقل میکند.
ساختار عملیاتی Dryad توسط یک برنامه ی مرکزی به نام JobManager هماهنگ می شود.
 ✌️«بزرگ ترین قهرمان های دومیدانی هم موفقیت خود را با برداشتن اولین قدم شروع میکنند»✌️

👈«تا وقتی دست به کار نشوید هیچ اتفاقی نخواهد افتاد»👉

🤓«برای اینکه رؤیاهایمان به واقعیت بدل شوند، باید بیدار ماند»🤓

🌺 با سلام و درود فراوان خدمت همراهان عزیز 🌺

🍂🍂امید است آخرین آدینه پاییزیتون پر از سلامتی و لبخند و شادی سپری شود.🍂🍂

امروز با یاد پروردگار مهربان فصل ذخیره سازی کلان داده ها را به پایان میرسانیم. 🙏

در ضمن روزهای جمعه هر هفته مقالات مفید روز، پیرامون کلان داده ها از طریق این کانال در اختیار علاقمندان قرار میگیرد.

با تشکر از توجه شما 🌷
گلناز اردشیری
@BigDataTechnology
مدل برنامه نویسی پایگاه داده

All-Pairs
یک سیستم برای کاربردهای بیومتریک،بیوانفرماتیک و داده کاوی طراحی شده است.
در چهار مرحله پیاده سازی شده است:
مدل سازی سیستم
توزیع داده های ورودی
مدیریت
جمع آوری نتیجه
مدل برنامه نویسی پایگاه داده :
Pregel

سیستمی از تسهیلات گوگل در پردازش گراف های بزرگ است. مانند:

تحلیل گراف های شبکه
سرویس های شبکه سازی اجتماعی
این مدل برنامه نویسی ،تحقیقات دیگری بروی روش های برای وظایف محاسباتی پیچیده متمرکز شده است:

رایانش محاوره ای -
Iterative Computations

رایانش حافظه ی تحمل پذیر خطا

محاسباتی افزایش -
Incremental Computations

کنترل جریان تصمیم گیری مربوط به داده ها