آموزش مانگو دی بی (MongoDB)

دسته بندی: پایگاه داده

آموزش مانگو دی بی

در این صفحه میخوانید :

مانگو دی بی (MongoDB) چیست ؟

مانگو دی بی (MongoDB) یک پایگاه داده سند گرا، چند سکویی، مقیاس پذیر و انعطاف پذیر است که نیازهای فهرست بندی و ایجاد کوئری را بر آورده می کند. MongoDB که به عنوان یک برنامه پایگاه داده نو اس کیو ال (NoSQL) طبقه بندی شده است، از اسناد مشابه جی سان (JSON) با طرح های اختیاری استفاده می کند، به این معنی که فیلدها می توانند از در هر سند متفاوت باشند و ساختار داده ها را می توان در طول زمان تغییر داد. MongoDB از اسناد JSON مانند اسکریپت به عنوان یک برنامه پایگاه داده NoSQL استفاده می کند. مدل سند گرا در کد برنامه برای اشیا نقشه ایجاد می کند که کار را برای داده ها آسان تر می کند.

نمایش آگهی های ویژه، فهرست بندی و جمع آوری Realtime (بلادرنگ) راه های قدرتمند برای دسترسی و تجزیه و تحلیل داده های شما را فراهم می کند. MongoDB برای کار با سرورهای کالا طراحی شده است. در حال حاضر تمامی شرکت های بزرگ و کوچک، درهر صنعتی می توانند از آن استفاده کنند. یک پایگاه داده توزیع شده در هسته آن است که جهت توزیع جغرافیایی برای استفاده آسان ساخته شده است. همچنین این پایگاه داده در زبان سی پلاس پلاس (++C) نوشته شده است.

نسخه های مانگو دی بی (MongoDB)

  • MongoDB Community Server

MongoDB Community Edition رایگان است و برای ویندوز، لینوکس و OS X در دسترس است.

  • MongoDB Enterprise Server

MongoDB Enterprise Server نسخه تجاری MongoDB است که به عنوان بخشی از اشتراک MongoDB Enterprise Advanced در دسترس است.

  • MongoDB Atlas

MongoDB همچنین به عنوان یک سرویس کاملاً مدیریتی درخواستی در دسترس است. MongoDB Atlas با سیستم عامل های مایکروسافت آژور (Microsoft Azure) و وب سرویس آمازون (AWS)، و پلتفرم ابری گوگل (Google Cloud Platform) قابل اجرا است.

هدف از ایجاد مانگو دی بی (MongoDB) چیست ؟

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

ویژگی های مانگو دی بی (MongoDB)

برخی از ویژگی های کلیدی مانگو دی بی در زیر آورده شده است:

  • کوئری های Ad-hoc

MongoDB از جستجوی زمینه، جستجوی دامنه و جستجوی بیان منظم پشتیبانی می کند. نمایش داده شد می تواند زمینه های خاصی از اسناد را بازگرداند و همچنین شامل توابع جاوا اسکریپت تعریف شده توسط کاربر است. همچنین کوئری ها می توانند برای بازگرداندن یک نمونه تصادفی از نتایج اندازه مشخص، پیکربندی شوند.

  • فهرست بندی (Indexing)

هر فیلد در مانگو دی‌ بی را می توان با فهرست بندی های اولیه و ثانویه فهرست بندی کرد.

  • تکثیر (Replication)

MongoDB در دسترس بودن با مجموعه های replica را فراهم می کند. یک مجموعه replica از دو یا چند نسخه از داده ها تشکیل شده است. هر عضو مجموعه replica می تواند در هر زمان در نقش replica اصلی یا ثانویه عمل کند. تمام نوشتن ها و خواندن ها به صورت پیش فرض در نسخه اصلی انجام می شود. نسخه های ثانویه با استفاده از همانند سازی داخلی، کپی داده های اولیه را نگهداری می کنند. هنگامی که یک نسخه اصلی از کار می افتد، مجموعه ماکت به طور خودکار فرآیند انتخاب را انجام می دهد تا تعیین کند کدام یک از ثانویه ها باید اصلی شوند. ثانویه ها به صورت اختیاری می توانند عملیات خواندن را انجام دهند، اما این داده ها به طور پیش فرض فقط در نهایت سازگار هستند.

  • تعادل بارگزاری (Load balancing)

مانگودی‌بی با استفاده از بخش‌بندی (sharding) قابل مقیاس پذیری به صورت افقی است. کاربر کلید shard را انتخاب می کند که تعیین می کند داده های یک مجموعه چگونه توزیع شود. داده ها به دامنه تقسیم می شوند (بر اساس کلید خرد شده) و در چندین خرده ریز توزیع می شوند. متناوباً، می توان کلید shard را برای هش کردن ترسیم نقشه به یک shard – enabling داد که توزیع یکنواخت داده را امکان پذیر می کند. MongoDB می تواند از طریق چندین سرور اجرا شود، بار را متعادل کرده یا داده ها را تکثیر کند تا در صورت خرابی سخت افزار سیستم را فعال نگه دارد.

  • ذخیره فایل (File storage)

MongoDB می تواند به عنوان یک سیستم فایل به نام GridFS، با توازن بار و تکثیر داده ها در چندین ماشین برای ذخیره فایل ها استفاده شود. این عملکرد با نام grid file system همراه با درایورهای MongoDB است. MongoDB توابع مربوط به دستکاری پرونده و محتوا را در معرض توسعه دهندگان قرار می دهد. با استفاده از ابزار mongofiles یا پلاگین های Nginx و lighttpd می توان به GridFS دسترسی پیدا کرد. GridFS یک فایل را به قطعات یا قسمتهای مختلف تقسیم می کند و هر یک از آنها را به عنوان یک سند جداگانه ذخیره می کند.

  • تجمیع (Aggregation)

MongoDB سه راه برای انجام تجمیع فراهم می کند که شامل خط لوله تجمعی، عملکرد کاهش نقشه و روش های تجمعی تک هدف می باشد. Map-reduce را می توان برای پردازش دسته ای داده ها و عملیات تجمیع استفاده کرد. اما با توجه به مستندات Pipeline مانگو دی بی، انباشتگی عملکرد بهتر را برای اکثر عملیات تجمع فراهم می کند. فریمورک تجمیع، کاربران را قادر می سازد که نوع نتایجی را که برای SQL GROUP BY استفاده می شود، به دست آورند. اپراتورهای جمع آوری شده میتوانند با هم یکپارچه شوند تا Pipeline را مشابه Unix pipes تولید کنند .فریمورک تجمیع شامل عملگر $ است که می تواند اسناد را به چندین سند و همچنین عملگر های آماری متصل کند.

  • اجرای جاواسکریپت سمت سرور

جاوا اسکریپت را می توان در نمایش داده شده، توابع تجمعی (مانند MapReduce) استفاده کرد و به طور مستقیم به پایگاه داده برای اجرا ارسال می شود.

  • مجموعه‌های محدود شده

MongoDB از مجموعه های ثابت به نام مجموعه های محدود شده پشتیبانی می کند. این نوع از مجموعه دستورات درج را حفظ می کند و هنگامی که به اندازه مشخص شده رسیده باشد، مثل یک صف دایره ای رفتار می کند.

  • معاملات (Transactions)

MongoDB ادعا می کند از معاملات چند سندی ACID از زمان انتشار 4.0 در ژوئن 2018 پشتیبانی می کند. مشخص شد که این ادعا درست نیست زیرا MongoDB انزوای عکس را نقض می کند.

معماری مانگو دی بی (MongoDB)

  • دسترسی به زبان برنامه نویسی

MongoDB دارای درایورهای رسمی برای زبان های اصلی برنامه نویسی و محیط های توسعه است. همچنین تعداد زیادی از درایورهای غیررسمی یا تحت حمایت جامعه برای سایر زبان ها و فریمورک های برنامه نویسی وجود دارد.

  • دسترسی بدون سرور

MongoDB Stitch دسترسی بدون سرور به MongoDB و سایر سرویس ها را فراهم می کند. کتابخانه های کلاینت جاوا اسکریپت برای برنامه نویسی آی او اس (iOS) و اندروید (Android) در دسترس هستند.

  • مدیریت و فرانت اند گرافیکی

رابط اصلی پایگاه داده شل مانگو بوده است. از زمان MongoDB 3.2، MongoDB Compass به عنوان GUI نیتیو معرفی می شود. محصولات و پروژه های شخص ثالث وجود دارد که رابط کاربر برای مدیریت و مشاهده داده ها را ارائه می دهند.

مزایای استفاده از مانگو دی بی (MongoDB)

آموزش کامل مانگو دی بی

احتمالاً شنیده اید که MongoDB به عنوان پایگاه داده NoSQL یا ابزاری برای ذخیره سازی JSON یا شاید حتی به عنوان پایگاه داده اسناد شناخته می شود - اما این به معنای واقعی چیست؟ MongoDB چه مزایایی نسبت به روش های جایگزین کار با داده دارد؟ MongoDB چه مزایایی به توسعه دهنده می دهد؟

در سطح بالا، MongoDB توسعه دهندگان را قادر می کند تا از داده ها برای ساخت آسان، انطباق سریع و مقیاس قابل اعتماد استفاده کنند. اجازه دهید آن را تجزیه کنیم:

شماتیک اسناد انعطاف پذیر

مدل سند MongoDB اجازه می دهد تا تقریباً هر نوع ساختار داده ای به راحتی مدل سازی و دستکاری شود. قالب داده های BSON MongoDB، با الهام از JSON، به شما امکان می دهد اشیا موجود در یک مجموعه دارای مجموعه زمینه های مختلف باشند (مثلاً نام متوسط در کاربر فقط در صورت کاربرد باشد، یا اطلاعات خاص منطقه که فقط در برخی از سوابق اعمال می شود). MongoDB از ایجاد شماتیک های صریح و تأیید اعتبار داده ها پشتیبانی می کند تا از کنترل خارج نشود، اما این انعطاف پذیری یک دارایی باورنکردنی هنگام کار با داده های دنیای واقعی و مدیریت تغییرات در نیازها یا محیط است.

دسترسی به داده های کد نیتیو

اکثر پایگاه های اطلاعاتی شما را مجبور می کنند تا از پکیج های سنگین مانند ORM (Object Relational Mappers) برای بدست آوردن داده ها به فرم Object برای استفاده در برنامه ها استفاده کنید. تصمیم MongoDB برای ذخیره و نمایش داده ها در قالب سند به این معنی است که می توانید از هر زبانی، در ساختار داده هایی که نیتیو آن زبان هستند، به آنها دسترسی داشته باشید (به عنوان مثال دیکشنری ها در پایتون، آرایه های انجمنی در JavaScript، نقشه ها در جاوا و غیره).

دیزاین Change-friendly

اگر شما عادت کرده اید که سایت یا برنامه خود را پایین بیاورید تا ساختار داده های خود را تغییر دهید، خوش شانس هستید: MongoDB برای تغییر طراحی شده است. زمان و تلاش زیادی را صرف طراحی فرآیندهای کارآمد و یادگیری اشتباهات خود می کنیم، اما به طور معمول پایگاه داده روند کار را کند می کند. برای تغییر طرح و برنامه نیازی به خرابی نیست و می توانید بدون ایجاد مزاحمت در عملکرد آن، نوشتن داده های جدید را برای MongoDB در هر زمان شروع کنید.

تجزیه و تحلیل قدرتمند

چه فایده ای دارد اگر نتوان داخل یک پایگاه داده را جستجو کرد؟ MongoDB برای سهولت دسترسی به داده ها و به ندرت نیاز به پیوستن یا معاملات طراحی شده است، اما در صورت نیاز به پرس و جو پیچیده، این کار بیشتر از حد وظیفه است. MongoDB Query Language (MQL) یک زبان کاملاً قدرتمند و قدرتمند است که به شما امکان می دهد در اسناد جستجو کنید و حتی خطوط پیچیده تجزیه و تحلیل را فقط با چند خط MQL JSON مانند انجام دهید.

scale-out آسان افقی

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

آیا این نوشته را دوست داشتید؟
pluralsight-spring-framework-spring-data-mongodb

آموزش Spring Data MongoDB :Spring Framework


در این دوره، شما نحوه پیاده سازی تمام ابعاد Mongo data persistence با استفاده از Spring را یاد خواهید گرفت. در ادامه، نحوه اتصال به پایگاه داده Mongo،...

1399/10/29 178 بازدید
pluralsight-modifying-data-in-mongodb

آموزش اصلاح داده ها در MongoDB


در این دوره، شما درک عمیقی از ایجاد (C)، به روز رسانی (U)، و حذف (D) از CRUD از منظر یک مدیر یا توسعه دهنده MongoDB کسب خواهید کرد. در ابتدا، نحوه است...

1399/10/09 420 بازدید زیرنویس دارد
pluralsight-spring-data-mongo-getting-started

آموزش Spring Data Mongo: شروع کار


Spring Data MongoDB بخشی از پروژه چتر Spring Data است که امکان یکپارچگی آسان بین اپلیکیشن های اسپرینگ و پایگاه داده محبوب اسناد MongoDB را ارائه می ده...

1399/09/25 598 بازدید
pluralsight-understanding-nosql

درک NoSQL


بحثی در مورد خصوصیات کلی NoSQL، بررسی چهار زیر مجموعه اصلی NoSQL، مروری بر زمانی که NoSQL و تکنولوژی رابطه ای بهتر کار می کنند، مروری بر تکنولوژی های ...

1399/09/22 1334 بازدید
pluralsight-querying-geospatial-data-from-mongodb

کوئری نویسی داده های جغرافیایی از MongoDB


در این دوره، شما نحوه اجرای کوئری های جغرافیایی در MongoDB را یاد خواهید گرفت. در ابتدا، مفاهیم لازم برای درک ویژگی های جغرافیایی MongoDB را بررسی خوا...

1399/09/13 604 بازدید زیرنویس دارد
pluralsight-understanding-the-latest-updates-in-azure-cosmos-db-api-for-mongo-db-and-best-practices

درک به روز رسانی های اخیر Azure Cosmos DB API برای Mongo DB و بهترین شیوه ها


در این جلسه دمو شرکت کنید تا یک دوره فوری در مورد آخرین به روزرسانی ها و بهترین روش های استفاده از Azure Cosmos DB API برای Mongo DB دریافت کنید....

1399/09/10 299 بازدید
pluralsight-visualizing-data-with-mongodb-charts

مصورسازی داده ها با MongoDB


شما در این دوره، خواهید آموخت که چگونه خوشه MongoDB Atlas خود را بچرخانید و از داده های این خوشه برای ایجاد نمودارها با استفاده از مجموعه داده های نمو...

1399/09/03 554 بازدید
pluralsight-using-mongodb-with-node-js

آموزش استفاده از MongoDB با Node.js


در این دوره، شما قابلیت ساخت MongoDB در اپلیکیشن Node.js خود را کسب خواهید آورد. در ابتدا، نحوه ایجاد و تعامل با یک پایگاه داده MongoDB را کشف خواهید ...

1399/07/05 1620 بازدید
udacity-data-wrangling-with-mongodb

آموزش آماده‌سازی داده با Mongodb - دوره Udacity


در این دوره، ما نحوه چالش داده ها از منابع مختلف و شکل دادن آنها را برای فعال کردن برنامه های داده محور بررسی خواهیم کرد. این یک دوره عالی برای کسانی ...

1399/06/10 725 بازدید
teamtreehouse-user-authentication-with-express-and-mongo

آموزش احراز هویت کاربر با Express و Mongo


بیاموزید که چگونه یک سیستم تأیید هویت کاربر سفارشی را کنترل کنید که دسترسی کاربران به منابع وب را با استفاده از Node.js و Express و MongoDB کنترل کند....

1398/11/02 1891 بازدید
packtpub-mern-stack-front-to-back-full-stack-react-redux-and-node-js-video

آموزش MERN Stack: برنامه نویسی فول استک React, Redux و Node.js


در این دوره شما با استفاده از Node.js، Express، React، Redux و MongoDB در کنار ES6+ یک برنامه شبکه اجتماعی جامع ایجاد خواهید کرد. شما با نحوه ایجاد مد...

1398/08/21 5582 بازدید
packtpub-learning-programmatic-access-to-mongodb

آموزش دسترسی به MongoDB با برنامه نویسی


در این دوره، ما نحوه استفاده از دو زبان برنامه نویسی محبوب Python و PHP را برای اتصال به پایگاه داده های MongoDB و دستکاری مطالب آنها با استفاده از دس...

1398/08/20 2522 بازدید
skillshare-learn-future-technologies-of-web-development-in-2019-beginner-to-advance-be-a-full-stack-developer

یادگیری تکنولوژی های آینده توسعه وب در 2019 - از مبتدی تا پیشرفته - توسعه دهنده Full Stack


در این دوره با تمامی تکنولوژی های جدید توسعه وب در 2019 آشنا می شوید. این تکنولوژی ها شامل NodeJS، Redux، ReactJS، MongoDB و ExpressJS می شود....

1398/06/26 4789 بازدید
pluralsight-building-a-full-stack-app-with-react-and-express-2

ساخت برنامه Full Stack با React و Express


در این دوره با ساخت کامپوننت‌های React با عملکرد بالا و یک سرور قدرتمند و ایمن و لینک کردن آنها به همدیگر با یک پایگاه داده، استفاده از Express و Mong...

1398/06/26 3477 بازدید
packtpub-real-world-projects-with-mean-stack

پروژه های دنیای واقعی با MEAN Stack


در این دوره شما موضوعات اصلی توسعه وب با انگولار، مانگو دی بی، اکسپرس و نود جی اس را خواهید آموخت....

1398/04/09 6317 بازدید
packtpub-mongodb-essentials-a-complete-mongodb-guide-video

راهنمای کامل مانگو دی بی (MongoDB)


در این دوره آموزشی، در زمینه پایگاه داده MongoDB و MongoDB Shell مباحث کاربردی از جمله نصب و راه اندازی، رابط گرافیکی، موتور جاوااسکریپت، انجام انواع ...

1397/12/27 4387 بازدید
packtpub-learning-mongodb-schema-indexes-and-queries-video

آموزش طراحی، ایندکس گذاری و کوئری در MongoDB 


پاایگاه داده MongoDB امکان ذخیره و پردازش مجموعه های گسترده داده ها را در راه هایی افزایش می دهد که ارزش کسب و کار را دارند.  MongoDB برای استفاده در ...

1397/07/19 2777 بازدید
pluralsight-mongodb-change-streams-driving-real-time-events-and-streaming-applications

آموزش استفاده از MongoDB Change Streams


MongoDB Change Streams مجموعه ای کامل از امکانات برای سرویس های میکرو، جریان واقعی و دیگر معماری های پیشرفته را فراهم می کند. در این دوره با مفهوم Cha...

1397/07/07 1662 بازدید زیرنویس دارد
pluralsight-building-business-applications-with-vue-js-and-mongodb

آموزش ایجاد اپلیکیشن های تجاری با Vue.js و MongoDB


تعدادی از فریمورک های جاوا اسکریپت جامع وجود دارد که با آن می توان اپلیکیشن های وب را در سطح تجاری ایجاد کرد، اما کدام یک برای شما مناسب است؟ در این د...

1397/06/19 4339 بازدید زیرنویس دارد
packtpub-learning-mongodb-deployments-video

آموزش استقرار، نصب و پیکربندی MongoDB 


MongoDB امکان ذخیره و پردازش مجموعه های گسترده داده ها را در راه هایی افزایش می دهد که ارزش کسب و کار را دارند. انعطاف پذیری ذخیره سازی بدون ساختار، ب...

1397/05/25 1967 بازدید