رویه های ذخیره شده خوب یا بد؟!
استفاده یا عدم استفاده از یک تکنولوژی یا ابزار خاص، به پارامترهای مختلفی از جمله ابعاد پروژه، مهارت و دانش اعضای تیم، ماهیت پروژه، پلتفرم اجرا، بودجه‌ی پروژه، مهلت تکمیل پروژه و تعداد نفرات تیم بستگی دارد. بنابراین واضح است پیچیدن یک نسخه‌ی خاص، برای همه‌ی سناریو‌ها امکان پذیر نیست؛ اما شرایطی وجود دارد که استفاده یا عدم استفاده از این ابزارهای تکنولوژیک منطقی‌تر مینمایند. Stored Procedure (که از این ...
MongoDB #15
Sharding Sharding فرآیند ذخیره سازی رکوردهای اطلاعاتی در چندین سرور است و این رویکرد MongoDB برای درخواست داده‌های در حال رشد است. همانطور که اندازه‌ی داده در افزایش است، شاید یک ماشین تنها برای ذخیره سازی داده‌ها کافی نباشد و یا نتواند کارآیی قابل قبولی را برای خواندن و نوشتن فراهم کند. Sharding این مشکل را با مقایس پذیری افقی حل نموده است. توسط Sharding، می‌توانید دستگاه‌های دیگری را برای پشتیبانی از داده‌های درحال رشد بیافزایید و ...
MongoDB #14
عمل تکثیر در MongoDB عمل تکثیر (Replication) به فرآیند همزمان سازی داده در میان چند سرور گفته می‌شود. تکثیر، افزونگی را فراهم می‌آورد و دسترسی پذیری داده‌ها را توسط کپی داده در چندین سرور مختلف افزایش می‌دهد. این کار، یک پایگاه داده را در مقابل از دسترس خارج شدن یک سرور مفرد، محافظت می‌کند. همچنین امکان بازیابی از خرابی سخت افزار و وقفه‌های سرویس را به کاربر می‌دهد. توسط کپی برداری از اطلاعات، می‌توانید یکی از آنها را برای بازیابی، ...
MongoDB #13
توابع جمعی در MongoDB عملگرهای جمعی، رکوردهای اطلاعات را پردازش می‌کنند و نتیجه‌های محاسبه شده را برمی‌گردانند. عملیات جمعی مقادیر چندین سند را باهم گروه بندی می‌کند و می‌تواند یک نوع از عملگرها را روی اطلاعات دسته بندی شده انجام دهد تا یک نتیجه‌ی واحد را برگرداند. در sql، دستور (*)count همراه Group by معادل یک تابع جمعی در MongoDB است. متد () aggregate برای توابع جمعی در MongoDB باید از متد ()aggregate استفاد ...
MongoDB #12
ایندکس گذاری در MongoDB ایندکس‌ها تاثیر بسیاری در اجرای کوئری‌ها دارند. بدون ایندکس‌ها، MongoDB باید تمام سندهای یک مجموعه را برای انتخاب سندهایی که با عبارت کوئری مطابقت دارند، اسکن کند. این اسکن بسیار ناکارآمد است و در این حالت mongoDB به پردازش حجم بزرگی از داده‌ها نیاز دارد. ایندکس‌ها ساختار‌های داده‌ی مخصوصی هستند که بخش کوچکی از مجموعه داده‌ها را به شکل ساده‌ای برای پیمایش، ذخیره می‌کنند. ایندکس، مقدار فیلد یا فیلدهای خاصی ر ...
MongoDB #11
بازگشت رکوردهایی محدود در MongoDB متد () limit برای محدود کردن تعداد رکوردهای بازگشتی در MongoDB باید از متد ()limit استفاده کنید. متد () limit یک پارامتر عددی دارد که نشانگر تعداد سندهایی است که می‌خواهید نمایش دهید. گرامر گرامر پایه متد ()limit به شکل زیر است: >db.COLLECTION_NAME.find().limit(NUMBER) مثال مجموعه mycol را با داده‌های زیر، ملاحظه کنید: { "_id" ...
MongoDB #10
حذف سند در MongoDB متد () remove متد ()remove برای حذف یک سند از مجموعه، استفاده می‌شود. متد ()remove دو پارامتر را می‌پذیرد: 1. deletion criteria (اختیاری): اسناد با توجه به شرط‌های تعیین شده در این پارامتر حذف خواهند شد. 2. justOne (اختیاری): اگر مقدار آن به true یا 1 تنظیم شود، فقط یک سند حذف می‌شود. گرامر گرامر پایه متد ()remove به شکل زیر است: >db.COLLECTION_NA ...
MongoDB #9
به‌روز رسانی سند در MongoDB متد‌های ()update و ()save هردو برای به‌روز رسانی یک سند داخل یک مجموعه، استفاده می‌شوند. متد () update مقادیر موجود در سند را به‌روزرسانی می‌کند؛ درحالیکه متد () save سند ارسالی به این متد را جایگزین سندی موجود در مجموعه می‌کند. متد () Update () update مقادیر موجود در سند را به‌روزرسانی می‌کند. گرامر: گرامر پایه متد () update به شکل زیر است: ...
MongoDB #8
اجرای کوئری در سند MongoDB متد () find برای اجرای یک کوئری نیاز دارید تا از متد ()find در MongoDB استفاه کنید. گرامر: گرامر پایه برای این متد به شکل زیر است: >db.COLLECTION_NAME.find() متد ()find تمام سندها را در یک حالت بدون ساختار نمایش می‌دهد. متد () Pretty برای نمایش نتیجه، بصورت فرمت دهی شده و ساخت یافته می‌توانید از متد ...
MongoDB #7
انوع داده‌ها در MongoDB MongoDB انواع داده‌هایی را که در زیر لیست شده اند، پشتیبانی می‌کند: String : این نوع پرکاربردترین نوع داده برای ذخیره اطلاعات است. رشته در MongoDB باید بصورت یونیکد (utf-8) معتبر باشد. Integer : این نوع برای ذخیره کردن یک مقدار عددی استفاده می‌شود. Integer بسته به نوع سرور می‌تواند 32 یا 64 بیت باشد. Boolean : این نوع برای ذخیره کردن یک مقدار بولی (true/false) استفاده می‌شود. Doub ...