مانگودی بی ( به انگلیسی: MongoDB ( برگرفته از «humongous» ) یک پایگاه داده های سند - گرای متن باز، کارا، مقیاس پذیر، بدون نیاز به طرح بندی اولیه نوشته شده در زبان برنامه نویسی سی++ است. [ ۱]
هدف مانگودی بی پرکردن فاصلهٔ ذخیره بندی های کلید/مقداری که سریع و مقیاس پذیر هستند و سامانه های سنتی مدیریت پایگاه داده رابطه ای که درخواست های غنی و عملکرد عمیقی دارند— بوده است. مانگودی بی برای رفع مشکلاتی طراحی شده که با پایگاه داده های رابطه ای به سادگی رفع نمی شوند؛ برای مثال اگر پایگاه داده کارسازهای زیادی را دربرگیرد.
مانگودی بی به جای اینک همانند پایگاه های داده های رابطه ای کلاسیک داده ها را در جداول ذخیره کند، داده های ساختاریافته را در اسنادی با قالبی شبیه به جی سان ( مانگودی بی این قالب را بی سون ( BSON ) می نامد ) ذخیره سازی می کند، و بدین ترتیب یکپارچه سازی داده ها را در برخی اقسام برنامه های کاربردی آسان تر و سریع تر می کند.
توسعه مانگودی بی در 10gen در سال ۲۰۰۷، هنگامی که شرکت در حال ایجاد یک بستر به عنوان سرویس مشابه با ویندوز آژور یا گوگل اپ انجین بود، آغاز شد. در سال ۲۰۰۹ مانگودی بی عنوان یک محصول مستقل و متن باز با مجوز آجی پی ال ارائه شد.
در ماه مارس ۲۰۱۰، با شروع از نسخه ۱٫۴، مانگودی بی قابل استفاده در خط تولید شناخته شد.
مانگودی بی به صورت آزاد تحت پروانه عمومی همگانی آفرو در دسترس است. درایور زبان های مختلف تحت پروانه آپاچی در دسترس هستند. علاوه بر این، 10gen پروانه های تجاری برای مانگودی بی ارائه می دهد.
در زیر خلاصه ای از برخی از ویژگی های اصلی آمده است:
• پرس و جوهای تک کاره: مانگودی بی از جستجو بر اساس فیلد، پرس و جوهای بازه ای، و جستجوهای با عبارت منظم پشتیبانی می کند.
• فهرست بندی: هر فیلدی در مانگودی بی قابل فهرست بندی است. فهرست های ثانویه نیز موجود هستند.
• انعکاس: مانگودی بی از انعکاس تابع - متبوع ( master - slave ) پشتیبانی می کند. هر متبوعی قادر به انجام نوشتن ها و خواندن ها است. یک تابع داده ها را از متبوع رونوشت می کند و تنها برای خواندن ها یا پشتیبانی به کار می رود. تابع ها توانایی انتخاب متبوع جدید در صورت از کار افتادن متبوع فعلی را دارند.
• توازن بار: مانگودی بی با استفاده از بخش بندی ( sharding ) قابل مقیاس پذیری به صورت افقی است. شخص توسعه دهنده کلید بخش بندی را انتخاب می کند که مشخص می کند داده در یک مجموعه چگونه توزیع خواهد شد. داده بر مبنای کلید بخش بندی به بازه های مختلف تکه تکه می شود و در بخش های مختلف توزیع می شود. ( هر بخش یک متبوع با یک یا چند تابع است ) .
• ذخیره سازی فایل: از مانگودی بی می توان به عنوان یک سیستم فایل استفاده کرد و از مزایای توازن بار و انعکاس داده در چندین ماشین برای ذخیره فایل های استفاده کرد.
• تجمیع: برای پردازش دسته ای داده های و عملیات تجمیع می توان از نگاشت کاهش استفاده کرد.
• اجرای جاواسکریپت سمت سرور
• مجموعه های دربسته
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفهدف مانگودی بی پرکردن فاصلهٔ ذخیره بندی های کلید/مقداری که سریع و مقیاس پذیر هستند و سامانه های سنتی مدیریت پایگاه داده رابطه ای که درخواست های غنی و عملکرد عمیقی دارند— بوده است. مانگودی بی برای رفع مشکلاتی طراحی شده که با پایگاه داده های رابطه ای به سادگی رفع نمی شوند؛ برای مثال اگر پایگاه داده کارسازهای زیادی را دربرگیرد.
مانگودی بی به جای اینک همانند پایگاه های داده های رابطه ای کلاسیک داده ها را در جداول ذخیره کند، داده های ساختاریافته را در اسنادی با قالبی شبیه به جی سان ( مانگودی بی این قالب را بی سون ( BSON ) می نامد ) ذخیره سازی می کند، و بدین ترتیب یکپارچه سازی داده ها را در برخی اقسام برنامه های کاربردی آسان تر و سریع تر می کند.
توسعه مانگودی بی در 10gen در سال ۲۰۰۷، هنگامی که شرکت در حال ایجاد یک بستر به عنوان سرویس مشابه با ویندوز آژور یا گوگل اپ انجین بود، آغاز شد. در سال ۲۰۰۹ مانگودی بی عنوان یک محصول مستقل و متن باز با مجوز آجی پی ال ارائه شد.
در ماه مارس ۲۰۱۰، با شروع از نسخه ۱٫۴، مانگودی بی قابل استفاده در خط تولید شناخته شد.
مانگودی بی به صورت آزاد تحت پروانه عمومی همگانی آفرو در دسترس است. درایور زبان های مختلف تحت پروانه آپاچی در دسترس هستند. علاوه بر این، 10gen پروانه های تجاری برای مانگودی بی ارائه می دهد.
در زیر خلاصه ای از برخی از ویژگی های اصلی آمده است:
• پرس و جوهای تک کاره: مانگودی بی از جستجو بر اساس فیلد، پرس و جوهای بازه ای، و جستجوهای با عبارت منظم پشتیبانی می کند.
• فهرست بندی: هر فیلدی در مانگودی بی قابل فهرست بندی است. فهرست های ثانویه نیز موجود هستند.
• انعکاس: مانگودی بی از انعکاس تابع - متبوع ( master - slave ) پشتیبانی می کند. هر متبوعی قادر به انجام نوشتن ها و خواندن ها است. یک تابع داده ها را از متبوع رونوشت می کند و تنها برای خواندن ها یا پشتیبانی به کار می رود. تابع ها توانایی انتخاب متبوع جدید در صورت از کار افتادن متبوع فعلی را دارند.
• توازن بار: مانگودی بی با استفاده از بخش بندی ( sharding ) قابل مقیاس پذیری به صورت افقی است. شخص توسعه دهنده کلید بخش بندی را انتخاب می کند که مشخص می کند داده در یک مجموعه چگونه توزیع خواهد شد. داده بر مبنای کلید بخش بندی به بازه های مختلف تکه تکه می شود و در بخش های مختلف توزیع می شود. ( هر بخش یک متبوع با یک یا چند تابع است ) .
• ذخیره سازی فایل: از مانگودی بی می توان به عنوان یک سیستم فایل استفاده کرد و از مزایای توازن بار و انعکاس داده در چندین ماشین برای ذخیره فایل های استفاده کرد.
• تجمیع: برای پردازش دسته ای داده های و عملیات تجمیع می توان از نگاشت کاهش استفاده کرد.
• اجرای جاواسکریپت سمت سرور
• مجموعه های دربسته
wiki: مانگودی بی