بلاگ
بلاگ

بلاگ

ارتباط Matlab با پایگاه‌داده‌ها

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

ذخیره‌سازی تصاویر در پایگاه‌داده‌ها

تصاویر به عنوان بخش لایتجزی اطلاعات پرسنلی همیشه و در همه‌جا وجود دارد. بهترین روش برای مدیریت داده‌ها حتما استفاده از پایگاه‌داده‌ها است بنابراین ذخیره‌سازی تصویر بر پایگاه‌داده‌ها بهترین روش در مدیریت اطلاعات بصری است. حجم اطلاعات ذخیره شده بر پایگاه‌داده‌ها انباشتی از پول است چرا که اطلاعات در عصر انفجار اطلاعات مترادف با پول است اما نه هر نوع اطلاع و داده‌ای بلکه داده‌ای که به صورت منظم و ساخت‌یافته ذخیره شده و قابل دسترسی باشد. تصاویر به موجب حجم بالا بر عملکرد یا performance انواع query تاثیرگذار بوده و سرعت استخراج و ارسال نتایج را کاهش می‌دهد بنابراین عموما به صورت مجزا در جدولی منفک از اطلاعات اصلی ذخیره می‌شود. تصاویر با حداکثر حجم 1 مگابایت قابل نگهداری بر پایگاه‌داده‌ها هستند. اغلب از نوع داده‌ی پایگاهی image به عنوان یک نوع داده‌ی قدیمی و منسوخ یاد می‌شود و در عوض از nvarchar(Max) جهت ذخیره‌سازی استفاده می‌گردد که حجم تصویر را تا 2 گیگابایت افزایش می‌دهد. به لحاظ فنی توصیه می‌شود که تصاویر با حجم بالای 1 مگابایت بر روی هارد ذخیره شود و از ذخیره‌سازی بر پایگاه‌داده‌ها ممانعت به عمل آید.

کافی است برای اخذ تصاویر با توجه به ساختارها و ویژگی‌های جدید دات‌نت از الگوی برنامه‌نویسی ذیل استفاده شود:

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

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

کد مرتبط با بازخوانی تصویر

سرویس‌های بین‌المللی

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

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

طراحی backend

چرا مشتری فقط مجبور به استفاده از برنامه‌های علی‌بابا یا اسنپ است؟!

یکی از علت‌ها، سرمایه‌ی ابتدائی هنگفتی است که برای به نتیجه رسیدن پروژه‌های همه‌گیر مورد اشاره جذب شده است. اکثرا نیز از فناوری‌های روز دنیا بهره برده و تنها با یک تغییر برچسب‌های کنترلی تبدیل به برنامه‌ی مورد استفاده‌ی عموم مردم می‌شوند. در واقع دانش بنیادین رایانه و مهندسی فناوری اطلاعات و برنامه‌نویسی و طراحی نرم‌افزار در نیروی انسانی ماهر کشور ته‌نشین نشده است و اگر قرار باشد سامانه‌ای متناظر راه‌اندازی شود امکان‌پذیر نیست.

اکثر صنعت‌های منبع جذب ارز خارجی و عامل رونق اقتصاد کشور به موجب فقدان استاندارد پراگماتیک و best practice با ریسک بالای طراحی نرم‌افزار روبه‌رو هستند. ریسکی که حتی در طراحی پایگاه‌داده‌ها نیز تاثیر گذاشته و با اضافه شدن یک جدول و یا یک فیلد، حجم وسیعی از طراحی نرم‌افزارها تغییر پیدا می‌کند.

عملیات‌های سازمانی فرمال معلوم نیست بنابراین برنامه‌نویسی و طراحی نرم‌افزار حتما با شکست روبه‌رو خواهد شد. کنترل ریسک نکته‌ی کلیدی در مدیریت فناوری‌اطلاعات سامانه‌های دیجیتال با گردش مالی کلان است. کنترل ریسک منوط به مهار Dynamicity است. نیازهای متنوع کاربر منجر به پذیرش Dynamicity به عنوان بخشی از طراحی نرم‌افزار می‌شود. با استفاده از طراحی نرم‌افزار پوسته‌محور به عنوان سامانه‌ی عامل اجرای دستورات بنیادین نرم‌افزاری بسیاری از سرویس‌های مورد نیاز مشتری در کوتاه‌ترین زمان ممکن طراحی و به‌کارگرفته می‌شود. سرویس‌های بارگذاری برنامه‌های پوسته‌محور به راحتی با یک واسط جامع مانند google store و لحاظ استانداردهای از پیش ابلاغی و نظارت دوباره قابل برنامه‌ریزی و بهره‌برداری است. قرار نیست سرویس بارگذاری عمومیت یابد بلکه به صورت مشارکتی یا joint venture مورد استفاده خواهد بود. حتی بخش‌های عمده‌ی نرم‌افزاری مانند ناوبری تاکسی‌رانی اسنپ نیز در سامانه‌ی بارگذاری قابل بازطراحی و یا اضافه کردن ویژگی‌های مشتری‌پسند است.

استفاده از چنین سامانه‌ای نیاز به گذر از پشته‌ی مهارتی حرفه‌ای است و مدارک دانشگاهی اصل نیست. پس از گذر از بررسی‌های تعبیه شده در سامانه‌ی بارگذاری نوبت به سامانه‌ی مدیریت بسته‌های نرم‌افزاری می‌رسد که در مطلب پیش اشاره شد مبتنی بر پایگاه‌داده‌ها بوده و انعطاف‌پذیر عمل می‌نماید.

سیستم‌عامل راه‌دور

سیستم‌عامل‌های یونیکس و داس برای برنامه‌نویسی مناسب بودند و می‌توانستند بسیاری از معضلات اتوماسیون اداری را با گرافیکی ساده برطرف سازند. سرعت رایانه‌های سری ۲۸۶ یا ۴۸۶ نیز برای اجرای برنامه‌ها کافی بود و چندان در اختصاص منابع به برنامه‌ها با مشکل روبه‌رو نمی‌شدند. امروزه حتی با سرعت پایین زیرساخت شبکه و اینترنت کشور مهیا ساختن سیستم‌عامل راه‌دور و مبتنی بر شبکه با ظاهری شبیه داس یا یونیکس و برنامه‌نویسی بر اساس آن دشوار نیست. سیستم‌عامل موصوف قرار نیست پردازش‌های سنگین تصویری یا مرتبط با هوش‌مصنوعی را انجام دهد بلکه محدود به برنامه‌های مبتنی بر فایلینگ و یا پایگاه‌داده‌هایی مانند فاکس‌پرو و یا بیت‌ریو است. من به یک لینوکس با توزیع ردهت یا دبیان یا کالی نیاز ندارم بلکه نیازمند یک فایلینگ زنده‌ی راه‌دور هستم. ویرایشگر برنامه‌نویسی نباید ویژوال استودیو و یا اینتلیجنت آیدیا باشد. با یک وی‌آی‌ام تمام نیازمندی‌های احصاء شده‌ی برنامه‌ها حل می‌شود. من به یک پوسته‌ی قدرتمند unix-like نیاز دارم تا در یک پایگاه‌داده به صورت فشرده‌سازی شده ذخیره و به صورت محلی با یک دستور sql بازیابی و با کدینگ استانداردی مثل gzip بازکرده تا بر تین‌کلاینت محلی اجرا شود. واسط‌گرافیکی قدرتمند نیاز کنونی من نیست. نیاز من به‌روزرسانی بلادرنگ است و اگر فرشته‌ی مرگ مجال دهد ذخیره‌سازی و بازیابی رمزشده‌ی فایلینگ هسته‌ی سیستم‌عامل پوسته‌محور است. من نمی‌خواهم با  ftp mount امکان ذخیره‌سازی فایل بر هاردی متصل به شبکه فراهم گردد. بیزینس من فایلینگ زنده و تبادل اطلاعات با سرور فایل‌ها مبتنی بر دستورات ftp است. بهتر است فارغ از فناوری قراردادهای شبکه و مبتنی بر معماری نرم‌افزار چندلایه عمل شود. شاید گرایش فردای من پروتکل سامبا یا قابلیت file sharing قرارداد http و سایر جریان‌های زنده اینترنتی باشد.

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