پایگاه داده ها و مشکل بسته های نرم افزاری در ایران

25 10 2008

فکری که باعث شد من این نوشته رو بنویسم، مشکلی بود که در تهیه بسته های نرم افزاری داشتیم. نرم افزارهای ما که با SQL Server نوشته شده بودند باید به صورت بسته نرم افزاری دربیایند تا قابل فروش باشند.
این مشکل از آنجا ناشی می شد که پایگاه داده SQL Server در هنگام نصب تنظیمات کافی رو در اختیار نمی گذاره و نمی توان به راحتی امکان نصب و عزال نرم افزار و ابزارهای اون رو به درستی انجام داد. همچنین زمانی که برای نصب این پایگاه داده صرف می شود برای یک بسته نرم افزاری کوچک بسیار زیاد هست.

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

این که ما نرم افزار نوشته شده رو به صورت بسته ارائه کنیم نیز یک طرف قضیه هست. این مدل ارائه نشان از قدرت کاری شرکت هست که می تونه تمامی قسمت های کار رو تا اماده سازی و نهایی کردن محصول به درستی انجام بده. زیاد وارد این بحث نمی شم ولی این رو هم بدونید که چنین چیزی در ایران رسم نیست. بسته های نرم افزاری که مشکل دارند و نرم افزارهای سفارشی به صورت حضوری نصب و تنظیم می شوند.

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

* اولین و مهمترین و شاید بزرگترین دلیل را، راحتی در هنگام تولید بدون صرف هزینه اضافه دانست. راحتی به این معنی که پایگاه داده SQL Server با داشتن مجموعه ابزارهای برنامه نویسی قدرتمند بسیاری از کارها را راحت کرده است. غافل از اینکه در مرحله فروش دچار مشکل خواهد شد.

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

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

معرفی تعدادی پایگاه داده جایگزین
در ادامه می خواهم شما را با چند گزینه دیگر از پایگاه داده ها اشنا کنم و مواردی را که می توان با این پایگاه دادها انجام داد. همچنین چه نوع نرم افزارهایی را می توان با انها توسعه داد. این پایگاه دادها با توجه به معیارهای ایرانی انتخاب کرده ام.

SQL Server  و Oracle و MySQL
من اینگونه در نظر می گیرم شما خواننده محترم با این پایگاه داده آشنا هستید و موارد استفاده را هم می دانید.

Firebird
این پایگاه داده با داشتن موتوری قدرتمند از اکثر استانداردهای SQL پشتیبانی می کند.
مزیت های مهم: امکان استفاده از این پایگاه به عنوان یک پایگاه داده توکار و یا به عنوان یک سرور موجود هست. همچنین امکان استفاده از این پایگاه داده در چند سیستم عامل وجود دارد.
عیب مهم: تنها مورد ذکر شده عدم پشتبانی از fulltext search هست. ابزارهای مدیریتی گرافیکی توسط خود تولید کننده ارائه نمی شود و باید از ابزارهای سایر شرکتها استفاده شود.

PostgreSQL
پایگاه داده PostgreSQL هم دارای موتور قدرمتندی است و همه استاندارند ها sql را پشتیبانی می کند.
عیب نه چندان مهم: با توجه به اطلاعاتی که در سایت موجود بود به نظر می رسه که امکان استفاده مستقل از این پایگاه داده موجود نیست و حتما باید سرویس این پایگاه داده نصب باشد. همچنین امکان استفاده از این پایگاه داده در چند سیستم عامل وجود دارد.
مزیت مهم: ابزارهای مدیرتی موجود در بسته این پایگاه داده کامل بوده و از تمامی امکانات پشتیبانی می کند.

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

SQLite
پایگاه داده SQLite بسیار جالب و کار امد است.
مزیت: پایگاه داده ای تک فایلی با حجم کم و عدم وابستگی به سیستم عامل. دارای محیط مدیریتی خوب که تمامی امکانات آن را پوشش می دهند.
عیب مهم: تنها مشکل بزرگ عدم پشتیبانی از تمامی امکانات استاندارد sql هست که ضعف بزرگ اون محسوب می شود.
توضیحات بیشتر در مورد این پایگاه داده را در این پست بخوانید.

دسته بندی نرم افزارها و پایگاه داده های قایل استفاده
در ادامه به بررسی که نرم افزارهای تولیدی در ایران می پردازم و پایگاه داده ای مناسب برای آنها

دسته اول: نرم افزارهای سازمانی و بین سازمانی
این گونه نرم افزارها چون با حجم داده ها و تراکنش های زیادی مواجه هستند، باید به دنبال پایگاه داده های بسیار قدرمتند باشند. در این زمینه به چز چند انتخاب شامل Oracle، SQL Server و شاید MySQL انتخاب دیگری وجود ندارد.
در این دسته کار ها در اختیار تعدادی شرکت معدود قرار دارد و انها با توجه به نیروری کاری خود یکی از موارد فوق رو انتخاب می کنند.
بحث نصب و نگهداری هم مستقیما توسط مجری انجام میشه و به همین علت به این دسته کاری نداریم.

دسته دوم: نرم افزار های اداری/دفتری
داده های دریافتی این گونه نرم افزارهای با توجه به نوع کار در حد متوسطی قرار دارد.
نرم افزار باید بتواند به صورت شبکه در چند سیستم نصب شده و کار کند.
در چنین مواردی انتخاب های فایل طرح Firebird و PostgreSQL و Blackfish و SQL Server و MySQL هستند.
همانطور که مشخص هست در این دسته گزینه بیشتری برای انتخاب وجود دارد.
بهترین گزینه برای نرم افزارهایی که دارای کاربران شبکه محدود هستند BlackFish و برای تعداد کاربران بیشتر  SQL Server است.

دسته سوم: نرم افزارهای تک نفره
داده های دریافتی این نرم افزارها در حد محدودی قرار دارد. نیازی نیست که نرم افزار به صورت تحت شبکه نیز کار کند.
همانند دسته دوم پایگاه داده های قابل انتخاب زیاد هستند که باید به انها موارد SQLite و Access رو هم اضافه کرد.
اگر وجود امکانات کامل برای پایگاه داده ضروری باشد BlackFish گزینه مناسبی هست در غیر اینصورت SQLlite می تواند گزینه خوبی باشد.

دسته چهار: نرم افزارهای utility یا کاربردی
داده های دریافتی بسیار محدود بوده و ممکن است نیازی به دریافت و دخیره اطلاعات موجود نباشد.
تنها گزینه های قابل استفاده SQLite و Access هستند.

لطفا پایگاه داده مورد استفاده خودتون رو به من در بخش نظر ها اعلام کنید.
پایگاه داده خوبی داشته باشد!

* مطالب مرتبط:
SQLite پایگاه داده ای سبک و چابک


کارها

Information

3 responses

26 10 2008
ایمان

هر کدوم از اینها اگر درجای خودشون استفاده بشن بیشترین بهره وری را خواهند داشت. مثلاً SQL Server در پلت فرم ویندوز با دات نت بهترین نتیجه رو در پروژه های بزرگ میده، هر چند که اوراکل هم میتونه انتخاب خوبی باشه.
یادم میاد (پارسال چهار ماه در یک شرکت نرم افزاری بودم) اون شرکت یک نرم افزار داشتن با دلفی و پایگاه داده SQL Server و میخواستن بیخود و بی جهت از SQL Server سوئیچ کنن به اوراکل، بدون اینکه توجیح خاصی داشته باشن، فقط می خواستن پروژه با کلاس تر بشه انگار!!!
به هر حال انتخاب هر ابزاری بستگی به شرایط داره، من خودم نرم افزارهای تحت شبکه رو SQL Server و احیاناً MySQL رو ترجیح میدم و نرم افزارهای معمولی که فقط نیاز به یکسری کارهای کوچیک در پایگاه داده دارن Access و SQLite. هر چند تا حالا پروژه ی خاصی خودم با اینها انجام ندادم.
با Blackfish هم حال میکنم اما تا حالا کار نکردم باهاش.
—————————–
موافقم!

28 10 2008
پانوراما

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

15 12 2008
علی

مقاله ي مفيد و جالبي بود
من براي برنامه هاي وب از SqlServer استفاده مي كنم
ممنون

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s




%d وب‌نوشت‌نویس این را دوست دارند: