اتصال Mongo به ابزار های هوش تجاری

Business Intelligence(BI)

Business Intelligence
Business Intelligence

هوش تجاری، Business Intelligence یا به اختصار BI یک فرآیند تکنولوژی محور برای تحلیل داده هاست.

این فرآیند در نهایت به مدیران، صاحبان کسب و کار و تمام تصمیم گیرنده های اساسی یک کسب و کار، اطلاعاتی عملی میدهد. ابزارهای BI برای آنالیز و تحلیل داده ها به صورت های مختلفی ارائه میشود.

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

در حقیقت هوش تجاری به شما به عنوان یک مدیر کمک میکند، بفهمید که چه عواملی در موفقیت یا شکست پروژه هایتان موثر است. همین باعث میشود که بتوانید بفهمید چه عواملی سود بیشتر برای شما رقم میزنند و چه عواملی سود کمتری برای شما به همراه دارند.

اهداف هوش تجاری و مزایای آن

  • تهیه ی سریع و آسان گزارشهای کاربردی
  • تعیین گرایشات تجاری سازمان ها
  • پیش بینی وضعیت آینده ی بازار
  • افزایش میزان رضایت مشتریان
  • تشخیص بهموقع نقاط ضعف و قوت
  • کمک به تصمیمگیری سریعتر مدیران
  • افزایش بهره وری و سودآوری سازمان
  • تنظیم صحیح قیمتها و افزایش فروش
  • کاهش هزینه های نیروی انسانی

معماری هوش تجاری چگونه است؟

هوش تجاری از نظر ساختار اجرا و معماری فرایند، دارای ۵ لایه ی اصلی است، از تشخیص منبع داده تا مرحله ی نمایش اطلاعات که در ادامه آنها را بررسی میکنیم :

  • منابع اطلاعاتی (Data source)

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

  • استخراج، تبدیل و بارگذاری (ETL)

در این مرحله، اطلاعات مناسب از منابعی که در مرحله ی قبل تشخیص داده شد استخراج ( Extract) شده، سپس به داده های قابل استفاده برای سیستم تبدیل ( Transform) میشود، در این مرحله داده های نامعتبر از مجموعه حذف خواهد شد و سپس در انبارهای داده گردآوری و بارگذاری (Load) میشوند.

  • انبارهای داده (Data Warehouse)

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

  • مدلسازی داده ها (Data Modeling)

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

  • ارائه ی اطلاعات (Presentation)

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




روش های اتصال MongoDB به BI

اتصال دهنده MongoDB برای هوش های تجاری . به کاربران اجازه می دهد درخواست های SQl آن ها تجسم پیدا کنند , گراف و گزارش هایی که از روی داده های نسخه ی MongoDB Enterprise توسط هوش های تجاری ای مانند .Tableau, MicroStrategy, and Qlik به یکدگیر متصل می شوند.

اتصال دهنده MongoDB برای BI به عنوان لایه ای عمل می کند که کوئری ها و داده ها بین نمونه mongod یا mongos و ابزار گزارش ما را ترجمه می کند. اتصال دهنده BI هیچ داده ای را ذخیره نمی کند ، و صرفاً یک پل بین MongoDB cluster و ابزار هوش تجاری ما است.


How to connect MongoDB to BI
The MongoDB Connector for Business Intelligence (BI) allows users to create queries with SQL and visualize, graph, and report on their MongoDB Enterprise data using existing relational business intelligence tools such as Tableau, MicroStrategy, and Qlik.
The MongoDB Connector for BI acts as a layer that translates queries and data between
a mongod or mongos instance and your reporting tool. The BI Connector stores no data, and purely serves to bridge your MongoDB cluster with business intelligence tools.

یک سیستم BI کامل

  • بانک اطلاعاتی MongoDB : ذخیره سازی داده ها.
  • اتصال دهنده BI : یک الگوی رابطه ای ارائه می دهد که کوئری های SQL بین ابزار BI ما و MongoDB را ترجمه میکند.
  • ‍‍ر(ODBC data source name (DSN : اطلاعات احراز هویت و پیکربندی اتصال را نگه می دارد.
  • ابزار BI : تجسم و تجزیه و تحلیل داده ها.

اکثر ابزارهای BI می توانند داده ها را از DSN وارد کنند. تنظیم DSN که به نمونه اتصال BI شما اشاره دارد به شما امکان می دهد از یک طیف گسترده ای از ابزارهای BI و مشتری های SQL با پیکربندی منبع داده واحد استفاده کنید.

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


A complete BI system
MongoDB database: Data storage.
BI Connector: Provides a relational schema and translates SQL queries between your BI tool and MongoDB.
ODBC data source name (DSN): Holds authentication and connection configuration data.
BI Tool: Data visualization and analysis.
Most BI tools can import data from a DSN. Setting up a DSN which points to your BI Connector instance allows you to use a wide range of BI tools and SQL clients with a single data source configuration.
Your BI tool and your DSN always run on your local desktop, but your database and your BI Connector instance may be local, on premises, or hosted. The central part of the possible settings for the BI system is explained.

بانک اطلاعاتی میزبان و اتصال BI :

در این سناریو ، برنامه های پایگاه داده و BI اتصال دهنده هر دو در اطلس اجرا می شوند ، و ما DSN خود را با اطلاعات اتصال تهیه شده توسط اطلس تنظیم می کنید.

بانک اطلاعاتی میزبان و اتصال  BI
بانک اطلاعاتی میزبان و اتصال BI

بانک اطلاعاتی میزبان و در BI اتصال دهنده :

اگر یک استقرار اطلس کوچکتر از(M10) از (جمله ردیف های رایگان اطلس) دارید ، یا اگر نمونه MongoDB شما در اطلس میزبانی نشده است ، می توانید BI Connector را به صورت محلی اجرا کنید و یک پایگاه داده از راه دور را با گزینه mongo-uri-- مشخص کنیم. فرآیند mongosqld رابط BIConnector را شروع کنید.

بانک اطلاعاتی میزبان و در BI اتصال دهنده
بانک اطلاعاتی میزبان و در BI اتصال دهنده

در پایگاه های مبانی و اتصالات ‌BI :

سازمان شما ممکن است نصب و راه اندازی هر دو اتصال MongoDB و BI اتصالی را در جای دیگر در شبکه شما داشته باشد ، در این صورت می توانید DSN خود را تنظیم کنید تا به آدرس سرور BI Connectorا شاره کند.

هوش های تجاری ، دارای ODBC که قابلیت اتصال به mongoDB را دارد :

معایب :

  • رابط کاربری پیچیده برای مشتریان ما.
  • یک لایه ترجمه اضافی.(مانند این است که یک روزنامه فرانسوی را هر روز به فارسی ترجمه کرده )
  • هیچ کدام رایگان نیستند.

خوب حالا چی؟

  • استفاده از دریوار برای اتصال به ‌BI های معمولی.
  • JDBC Java Database Connectivity
JDBC vs ODBC
درایور ODBC رابطی است که به یک زبان برنامه نویسی خاص یا یک سیستم پایگاه داده یا یک سیستم عامل بستگی ندارد. می توان از آن برای نوشتن برنامه هایی استفاده کرد که می توانند داده ها را از هر پایگاه داده ای ، بدون در نظر گرفتن محیطی که در آن اجرا می شود یا نوع DBMS مورد استفاده خود ، پرس و جو کنند. مهمترین مزیت داشتن ODBC به عنوان یک واسطه جهانی بین یک برنامه و یک پایگاه داده این است که هر بار که مشخصات بانک اطلاعات تغییر می کند ، نیازی به بروزرسانی نیست. فقط بروزرسانی درایور ODBC کافی است.
درایور JDBC یک API داده برای زبان برنامه نویسی جاوا است. این واسط است که با ارائه روش هایی برای پرس و جو و به روزرسانی داده ها در پایگاه داده ها ، به مشتری کمک می کند تا به سیستم پایگاه داده دسترسی پیدا کند. JDBC برای پایگاه داده های شی گرا مناسب تر است
برنامه نویسان جاوا می توانند از پل JDBC-O -BC برای گفتگو با هر پایگاه داده سازگار با ODBC استفاده کنند.
  • یکی از نرم افزار های متن باز در این قضیه Jasper است.

JasperReports

معایب :

  • باید برای هر مشتری جدا کانفیگ شود و روی سیتمش نصب شود (مشتری دور..)
  • نیاز به کانفیگ فروان برای هر مشتری
  • رابط کاربری پیچیده برای مشتریان .
  • یک لایه ترجمه اضافی.(مثال روزنامه..)
  • با توجه به معروفیت کل ستاره های گیت آن 78 !
  • نیاز به مهارت فراوان : لازم به ذکر کار با پنل های BI خود یک شغل حساس و استراتژیک محسوب می شود
Average Software Engineer / Developer / Programmer Salary $76,663
Average Business Intelligence Director Salary $128,967

خوب پس راه حل چی؟

به نظر استفاده از نرم افزار هایی که به صورت پیش فرض قابلیت اتصال به پایگاه دادهای No-SQL رو داشته باشند. متاسفانه تنوع در این نرم افزار ها بشدت کم هست .

دو نمونه متن باز که چنین قابلیتی داشته باشند می توان به Metabase و helicalinsight

helicalinsight :

  • ستاره های گیت 148
  • پنل متوسط و ساده
  • امکان بارگذاری روی سرور
  • داری سطح دسترسی

Metabase :

  • ستاره های گیت 16.594
  • پنل ساده و قابل شخصی سازی
  • امکان بارگذاری روی سرور
  • داری سطح دسترسی
  • موجود روی docker و kubernetes
  • موجود روی AWS
  • قابلیت بارگذاری روی heroku
  • سریعتر