PDA

View Full Version : روش پیشنهادی ذخیره سازی متن ، عکس و فیلم



mo-hammad
شنبه 18 بهمن 1393, 14:55 عصر
سلام بچه ها من میخوام یه نرم افزار بسازم که مثلا توش یه سری کتاب و متن و فیلم و صوت و عکس و... باشه

اما نمیخوام این اطلاعات رو کاربر در کنار نرم افزار ببینه - مثلا منوظرم اینه که به عنوان مثال فایلهای عکس یا صوت باید طبعا در پوشه ای در کنار نرم افزار باشه که بتونه وقتی به سیستم دیگه ای منقل بشه از اون دایرکتوری بخونتش - ولی مثل خیلی از این نرم افزارها من میخوام این اطلاعات صوت و ویدئو و متن و .... در دید کاربر نباشه !

و از طرفی میخوام در متونم قابلیت جستجو هم باشه


به این فکر افتادم از دیتا بیس استفاده کنم آیا میشه اطلاعاتی از قبیل صوت و عکس و و یدئو رو درونش جا داد و فراخونی کرد ؟

و اینکه آیا راه بهتری هم هست ؟

آخه دیتا بیسی مثل sql یه مشکل بزرگش اینه که باید رو سیستم یوزر نصب بشه تا بتونه نرم افزار کار کنه و این یه مشکله به نظرم

آخه کاربر چه گناهی کرده که باید sql رو سیستمش نصب بشه :)

mo-hammad
شنبه 18 بهمن 1393, 16:34 عصر
بچه ها میتونید راهنمایی کنید ؟

بچه ها یه چیزی یه جا خوندم که میشد بدون نصب sql رو سیستم یوزر نرم افزار کار کنه و اطلاعات رو ثبت - نمایش و حذف و ... کنه فک کنم چیزی به نام

sql local database

بود کسی چیزی بلده از این تکنیک؟

SabaSabouhi
شنبه 18 بهمن 1393, 21:39 عصر
سلام
نگهداری فایل‌ها جدا از دیتابیس کار خوبیه، اما اگه می‌خوای در دسترس کاربر نباشه، دیگه باید بری سراغ دیتابیس.

* آیا می‌شه اینا رو تو دیتابیس قرار داد؟
بله می‌شه
* آیا راه بهتری هست؟
یا باید از file system استفاده کنی یا از database. هر کدوم حسن‌ها و عیب‌های خودشون رو دارن.
اگه حجم این فایل‌ها خیلی زیاد باشه، استفاده از فایل بهتره.
برای قابلیت جستجو حتماً باید از دیتابیس استفاده کنی.

* کاربر چه گناهی کرده که باید sql نصب کنه.
نصب sql خیلی هم وحشتناک نیست. از Express Edition استفاده کنید.
گمان کنم unattended installation هم داشته باشه. ( البته مطمئن نیستم ) که در این صورت بدون دخالت کاربر نصب می‌شه.

اگر از سیستم فایل استفاده کردی می‌تونی بجای sql از access استفاده کنی که دیگه نصب لازم نداره. چون خود dotNet framework
یه سیستم jet داره که می‌تونه از دیتابیس‌های access استفاده کنه.

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


Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData );

توی ویندوز 7 و 8 جاش می‌شه:


c:\ProgramData\MyApplicationFolder


صبا صبوحی

Saman_12
شنبه 18 بهمن 1393, 22:54 عصر
به عنوان سوال میپرسم : نمیشه از ریسورس استفاده کنید؟(Embedded Resource)

golbafan
دوشنبه 27 بهمن 1393, 13:45 عصر
میتونید از mysql استفاده کنید
تواناییهاش بسیار بالاتر از sql سرور هست و حجم فایل نصبش حدود 25 مگ
قابلیت اجرا در سرور لینوکس هم داره
در مورد فایلهای حجیم مشکلی در سرعت نداره

محمد آشتیانی
دوشنبه 27 بهمن 1393, 14:44 عصر
میتونید از mysql استفاده کنید
تواناییهاش بسیار بالاتر از sql سرور هست و حجم فایل نصبش حدود 25 مگ
قابلیت اجرا در سرور لینوکس هم داره
در مورد فایلهای حجیم مشکلی در سرعت نداره

گوگل هم از mysql استفاده میکنه هم برای موتور جستجو و هم برای drive و سایر محصولاتش

سلام
دوست عزیز گوگل از BigTable استفاده میکنه که البته خود گوگل توسعه داده
اینم لینک http://research.google.com/archive/bigtable.html

golbafan
دوشنبه 27 بهمن 1393, 18:12 عصر
سلام
دوست عزیز گوگل از BigTable استفاده میکنه که البته خود گوگل توسعه داده
اینم لینک http://research.google.com/archive/bigtable.html

سلام
بیگ تیبل یک مفهومه که بر پایه mysql ایجاد شده
بیگ تیبیل اما یک دیتابیس مستقل نیست که بشه نصبش کرد

گوگل سابقا از نسخه اصلی mysql استفاده میکرد

رنکینگ دیتابیس ها و مقایسه جزئیات:
http://db-engines.com/en/ranking

محمد آشتیانی
دوشنبه 27 بهمن 1393, 19:28 عصر
سلام
البته این تاپیک جای این بحث نیست ، اما
دوست من لینکی که شما استناد کردی بهش برای رنکینگ DB Engine ها (معیارش بیشتر بر اساس محبوبیت (popularity) هست و یه سری آیتم های دیگه که اتفاقا هیچکدومشون معیار فنی نیستن)
بدنیست بخونید: http://db-engines.com/en/ranking_definition

ضمنا صحبت ما اینجا سر BigTable هست و نه BigData و اینکه BigTable اساسا یک دیتابیس مستقل هست و نه صرفا یک مفهوم!

مطالعه این لینک هم توصیه میکنم http://en.wikipedia.org/wiki/BigTable
(توی لینک بالا (ویکی پدیا) یه جا به اسم MySql برخواهید خورد ، لطفا اون رو با منظور خودتون اشتباه نگیرید)

و نهایتا جالبه بدونید نه تنها گوگل در حال حاضر از BigTable استفاده میکنه ، بلکه در حال انتقال برخی از سرویسهاش (مثل AdWords) که از Mysql استفاده میکردن به دیتابیس F1 هست که این رو هم گوگل توسعه داده (اگر متهم نشیم که اینها همه بر اساس MySql توسعه داده شدن)

به هرترتیب ، پاسخ شما هرچه که باشد ، این آخرین پست من در این رابطه هست ، بنده قصد طرفداری از هیچکدوم از DB Engine هایی که چند پست بالاتر بحثشون بود رو ندارم ، مقصود این بود که احساسی در مورد خوب یا بد بودن یک سیستم قضاوت نکنیم دوست من.



موفق باشید.

golbafan
دوشنبه 27 بهمن 1393, 19:51 عصر
سلام
البته این تاپیک جای این بحث نیست ، اما
دوست من لینکی که شما استناد کردی بهش برای رنکینگ DB Engine ها (معیارش بیشتر بر اساس محبوبیت (popularity) هست و یه سری آیتم های دیگه که اتفاقا هیچکدومشون معیار فنی نیستن)
بدنیست بخونید: http://db-engines.com/en/ranking_definition

ضمنا صحبت ما اینجا سر BigTable هست و نه BigData و اینکه BigTable اساسا یک دیتابیس مستقل هست و نه صرفا یک مفهوم!

مطالعه این لینک هم توصیه میکنم http://en.wikipedia.org/wiki/BigTable
(توی لینک بالا (ویکی پدیا) یه جا به اسم MySql برخواهید خورد ، لطفا اون رو با منظور خودتون اشتباه نگیرید)

و نهایتا جالبه بدونید نه تنها گوگل در حال حاضر از BigTable استفاده میکنه ، بلکه در حال انتقال برخی از سرویسهاش (مثل AdWords) که از Mysql استفاده میکردن به دیتابیس F1 هست که این رو هم گوگل توسعه داده (اگر متهم نشیم که اینها همه بر اساس MySql توسعه داده شدن)

به هرترتیب ، پاسخ شما هرچه که باشد ، این آخرین پست من در این رابطه هست ، بنده قصد طرفداری از هیچکدوم از DB Engine هایی که چند پست بالاتر بحثشون بود رو ندارم ، مقصود این بود که احساسی در مورد خوب یا بد بودن یک سیستم قضاوت نکنیم دوست من.



موفق باشید.

مرسی از نظراتتون؛ موفق باشید
البته بنده به هیچ دیتابیسی تعلق خاطر ندارم ولی برای کار ایشون این پیشنهاد رو دادم