اشتراک‌ها
یادگیری مرحله به مرحله Microsoft BI
در عصر اطلاعات، کسی که اطلاعات دارد، دارای قدرت است. هر سازمان و شرکتی که از این قدرت برخوردار باشد در صنعت و حرفه خود در مقایسه با رقبای خود متمایز و ممتاز می‌شود. دلیل دیگر استفاده از  Business Intelligence   اقتصاد است. بقای سازمان‌ها و شرکت‌ها در توفان اقتصاد رقابتی امروز بر دو محدوده متمرکز شده است. کاهش هزینه ها, افزایش درآمدها. هوش سازمانی (BI) یعنی «داشتن دانشی فراگیر از همه عواملی که بر سازمان موثر است.». استفاده از راه‌حل BI می‌تواند قدرت رقابت‌پذیری یک سازمان را افزایش دهد و از دیگر سازمان‌ها متمایز نماید. در سازمانی که BI در آن بکار گرفته می‌شود، مدیران می‌توانند اطلاعات هزینه‌ها را از داخل سازمان استخراج نمایند و بدانند که هزینه‌ها چه هستند و تصمیم‌هایی برای کاهش و حذف آنها بگیرند. تغییرات آینده را پیش‌بینی کنند و برای مسائل خود راه‌حلی مناسب داشته باشند. بمنظور افزایش درآمد، شرکت‌ها باید علاوه بر افزایش فروش خود، مثلا مشتریان فعلی خود را حفظ کنند. حفظ مشتریان اغلب کاری بسیار سخت است.
یادگیری مرحله به مرحله Microsoft BI
مطالب
NoSQL ؟
به شما خواننده گرامی پیشنهاد می‌کنم مطلب قبلی " آشنایی با JSON؛ ساده - خوانا - کم حجم  " که پیش درآمدی بر
این موضوع است را مطالعه کنید.


NoSQL یک مفهوم عام است و تعریف ساده آن "پایگاه داده بدون SQL است". به این معنی که در آن خبری از جدول ها، روابط بین آن‌ها و ... نیست!
  • اما چرا باید با وجود اینکه SQL به اغلب نیاز‌های ما پاسخ داده است، باید سراغ تکنولوژی‌های دیگر رفت؟
  • وقتی نگاهی به لیست شرکت‌های بزرگی می‌اندازیم که جز مشتریان پر و پا قرص NoSQL هستند( + و + )، تعجب می‌کنیم! آیا آن‌ها از قدرت و قابلیت‌های SQL بی خبراند؟
پاسخ این گونه از سوال‌ها به تحلیل سیستم مربوط می‌شود. به عهده تحلیل گر است تا با توجه به اجزاء سیستم و ارتباط آن‌ها بهترین روش را برای ذخیره سازی اطلاعات انتخاب کند.
NoSQL بر اساس نحوه پیاده سازی اش دسته بندی شده است؛ که مهم‌ترین آن‌ها در زیر آمده است :
  • Wide Column Store
  • Document Store
  • Key Value / Tuple Store
  • Graph Databases
  • Multimodel Databases
  • Object Databases
برای آشنایی بهتر با هر کدام به nosql-database.org مراجعه کنید.

انتخاب روش؛ یک مثال ساده :
فرض کنید روال استخدام نیروی کار جدید در یک سازمان، از قرار زیر باشد:
  1. ثبت مشخصات فردی
  2. ارائه مدارک تحصیلی
  3. شرکت در آزمون استخدامی
  4. شرکت در مصاحبه ( درصورت قبول شدن در آزمون )  
  5. شرکت در دوره آموزشی ( در صورت قبول شدن در مصاحبه )
روش‌های ممکن برای نگهداری اطلاعات :
روش اول، تهیه پوشه هایی برای نگهداری اطلاعات مربوط به هر مرحله به صورت مجزا است.


روش دوم، تهیه یک پرونده برای هر شخص و نگهداری اسناد مربوط به شخص ( در هر مرحله ) است.

انتخاب روش اول امکان پذیر است، اما باعث پیچیده‌تر شدن سیستم و اتلاف زمان می‌شود که مطلوب نیست. برای پیاده سازی روش دوم، SQL پاسخ گوی نیاز پروژه نیست و با توجه به نیاز پروژه بهترین روش نگهداری اطلاعات، Document Store (نگهداری اطلاعات بر اساس ساختار اسناد) است.
خوش بختانه تعداد پایگاه‌های داده ای که بر اساس تکنولوژی Document Store پیاده سازی شده اند، زیاد است و از قدرتمند‌ترین آن‌ها می‌توان به MongoDB ، CouchDB و RavenDB اشاره کرد. هرکدام از این انتخاب‌ها مزایا و معایبی دارند که باید با توجه به نیاز خود، مقایسه ای انجام داده و بهترین را انتخاب کنید.
انتخاب من RavenDB بوده است و دلایل آن :
  • بر اساس زبان سی شارپ نوشته شده است و همچنین با LINQ خیلی خوب کار می‌کند.
  • Transaction را پشتیبانی می‌کند.
  • اساس ذخیره سازی آن JSON است.
  • محیط Management Studio کاربر پسندی دارد.

نقطه آغازین بحث بعد RavenDB خواهد بود که Bryan Wheeler  (مدیر توسعه بستر‌های نرم افزاری در msn) در باره آن گفته :

RavenDB just rocked my world. It’s extremely approachable, even for non-database guys – it took me less than 30 minutes to get up and running


خوشحال می‌شوم، نظرات و تجربیات شما را در رابطه با NoSQL بدانم. 


اشتراک‌ها
آیا سرمایه گذاری بر روی Xamarin منطقی است؟

So when Microsoft acquired Xamarin in 2016 and started integrating the Xamarin Visual Studio plugins more with the standard VS features, I knew I had to try and switch over to take advantage of the powerful IDE and language. Some of the immediate benefits I gained from the switch are:

  • Simple asynchronous programming
  • Access to powerful plugins like ReSharper
  • Freedom to work in Windows or OSX
  • Access to powerful debugging tools for the Android on Windows (debugging iOS on Mac side is good but can be buggy).
  • Access to built in NuGet package management for third party libraries 
آیا سرمایه گذاری بر روی Xamarin منطقی است؟