با بخش اول از آموزش کار با دیتابیس mongodb در php در خدمت شما هستیم.
آیا تاکنون از خود پرسیده اید گوگل چگونه در کسری از ثانیه در میلیاردها صفحه اینترنت جستجو میکند؟
یا شبکه اجتماعی مانند فیسبوک و اینستاگرام چگونه حجم عظیمی (میلیاردی) از اطلاعات کاربران را ذخیره و پردازش می کند؟
یا فروشگاهی های اینترنتی مثل آمازون (Amazon) و دیجی کالا که Catalogue-based هستند و بی نهایت محصول و ویژگی های تودرتو دارند چگونه با داده ها کار می کنند؟
آیا از SQL استفاده میکند؟ مسلما خیر, از تکنولوژی-ای به نام NoSQL استفاده میکند!
MongoDB چیست
mongoDB یک دیتابیس سندگرا (document) و NoSQL است که کارایی بالا, دسترسی سریع, و مقیاس پذیری (scalability) آسانی دارد.
رایج ترین دسته دیتابیس ها امروزه بر مبنای SQL میباشند و اینگونه دیتابیس ها “رابطه ای” یا “relational” نامیده میشوند مانند MySQL
اما با پیشرفت تکنولوژی طی سالیان اخیرنیاز به پردازش و ذخیره سازی بهینه تر , سرعت بالا و عدم امکان استفاده از جداول (Table) در بسیاری از پروژه های بزرگ احساس میشد.
از طرفی ذخیره سازی حجم بالایی از داده های بدون ساختار (non-structured data) در دیتابیس های SQL باعث کاهش شدید سرعت و کارایی دیتابیس میگردد. از این رو تکنولوژی جدیدی به نام NoSQL با اهدافی متفاوت ارائه شد.
هدف اصلی NoSQL ذخیره سازی و کار با داده های بدون ساختار و حجیم میباشد
NoSQL قابلیت مدیریت کردن و کار با حجم بسیار عظیمی از داده ها را داراست (facebook,amazon,..). مشخصا در آن برای کار با داده ها از زبان SQL استفاده نمیشود. بلکه به صورت بسیار ساده و روان از XML یا JSON برای این منظور استفاده میگردد.
مفاهیم پایه دیتابیس Mongodb
- دیتابیس (database) : mongodb داده ها را در دیتابیس ها گروه بندی می کند همانند دیتابیس های رابطه ای (relational).
اگر تجربه کار با دیتابیس های رابطه ای مثل MySQL را داشتید می دانید که در یک RDBMS
, یک دیتابیس دارای جداول (tables), روش های ذخیره سازی, view و غیره است.
در دیتابیس MongoDB , یک دیتابیس دارای collection
ها است(معادل جدول ها).
برای مثال, یک دیتابیس برای سیستم بلاگ معمولا دارای کالکشن های articles
, authors
, comments
, categories
است.
- کالکشن (Collection ): یک کالکشن معادل جدول در RDBMS (سیستم های مدیریت دیتابیس رابطه ای) است. سند (document) داخل یک کالکشن می تواند فیلدهای متفاوت داشته باشد.
معمولا, همه سندها در یک collection یک منظور مشابه یا مرتبط را دارند.
فیلد های در دیتابیس NoSQL
معادل ستون (column) ها در دیتابیس های رابطه ای است.
- سند(Document) : یک رکورد (سطر) در Collection دیتابیس MongoDB و داده اصلی در دیتابیس است.
سندها مشابه یک آبجکت داده JSON هستند اما در دیتابیس بیشتر در فرمت گسترش یافته Binary JSON یا همان BSON استفاده می شود.
یک سند (Document) شامل مجموعه ای از فیلدها یا جفت های کلید-مقدار (key-value) هستند.
بهترین راه برای درک داکیومنت, آرایه های چندمجموعه ای است. در یک آرایه, شما مجموعه ای از کلیدها دارید که به مقدارهایی اشاره دارند. داکیومنت MongoDb .
نصب دیتابیس MongoDB
MongoDB بصورت Cross-Platform است به این معنی که وابسته به سیستم عامل خاصی نیست و بر روی بیشتر پلتفرم ها قابلیت اجرا را دارد و معماری های ۳۲ و ۶۴ بیت را پشتیبانی می کند
دیتابیس MongoDB بصورت باینری یا پکیج در دسترس است. در محیط production و ارایه محصول نهایی از نسخه باینری دیتابیس مانگو و معماری ۶۴بیت استفاده کنید.
نصب بر روی لینوکس Ubuntu
دستورات زیر را در ترمینال اجرا کنید
1 2 3 |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list |
حالا برای آپدیت ریپازیتوری و نصب نسخه پایدار (stable) دستور زیر را اجرا کنید
1 2 |
sudo apt-get update sudo apt-get install mongodb-10gen |
خب تمام شد. دیتابیس MongoDB با موفقیت نصب شد. حالا می توانید سرویس مانگو را با دستورات زیر اجرا و یا استاپ کنید.
1 2 |
sudo service mongodb start sudo service mongodb stop |
اگر با ارور برخوردید دستورات زیر را اجرا کنید
1 2 3 |
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf |
نصب روی ویندوز (Windows)
در ابتدا پکیج دیتابیس MongoDB را از سایت اصلی دانلود کنید.
سپس کل فایل فشرده را در درایو مثلا C:\
استخراج کنید
برای ذخیره اطلاعات دیتابیس ها نیاز است یک فولدر data و داخل آن db را ایجاد کنید چرا که پیش فرض خود mongoDB است.
برای اجرا وارد CMD بشید و بصورت زیر آن را اجرا کنید که باعث گوش دادن سرویس مانگو بر روی یک پورت خاص می شود.
1 2 |
C:\> cd \mongodb\bin C:\mongodb\bin> mongod |
خب تمام شد. دیتابیس MongoDB با موفقیت نصب شد. حالا می توانید سرویس مانگو را با دستورات زیر در یک پنجره CMD جدا اجرا و یا استاپ کنید.
1 2 |
net start MongoDB net stop MongoDB |
جمع بندی
در بخش اول مقاله آموزشی نحوه کار با دیتابیس mongodb در php , مفاهیم زیر را بررسی کردیم :
- دیتابیس mongodb و دیتابیس های نوع nosql چیست
- مفاهیم پایه در دیتابیس MongoDB را بررسی کردیم.
- تفاوت های ساختار داده دیتابیس رابطه ای و nosql را مختصر توضیح دادیم.
- در نهایت نیز نحوه نصب آن روی دو پلتفرم پر استفاده لینوکس و ویندوز را بررسی کردیم.
در بخش دوم مقاله آموزشی نحوه کار با دیتابیس mongodb در php بطور خاص وارد ارتباط با دیتابیس MongoDB و نحوه انجام عملیات CRUD می شویم و یک مینی پروژه بلاگ را پیاده سازی می کنیم.
امیدوارم از بخش اول آموزش کار با دیتابیس mongodb در php نهایت استفاده را برده باشید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.
درود، آیا نصب mongodb نیاز به لایسنس داره ؟
سلام. خیر نسخه رایگان از سایت توسعه دهنده می توانید دانلود و استفاده کنید.
موفق باشید.