PDA

View Full Version : ذخیره و بازیابی اطلاعات در دیتابیس یا در فایل ها



va2012
دوشنبه 17 مهر 1391, 13:37 عصر
سلام دوستان.

حتما میدونید که برنامه نویسان برای ذخیره و بازیابی اطلاعات از دیتابیس یا فایل ها (مثل ذخیره در فایل XML) استفاده میکنن. من میخوام در مورد مزایا و معایب ذخیره اطلاعات در یک فایل (مثل XML ) نسبت به ذخیره در دیتابیس بدونم.

مثلا از لحاظ سرعت - کارایی و امنیت و ... و اینکه چه محدودیت هایی در XML هست و آیا میتوان همیشه از ذخیره و بازیابی در فایل به جای دیتابیس استفاده کرد؟

ممنون.

danialafshari
دوشنبه 17 مهر 1391, 19:38 عصر
سلام
بستگی به برنامت داره. مسلما برای ساخت برنامه ی تجاری بزرگ از xml استفاده نمیشه! xml برای برنامه های کوچک معمولا کاربرد داره، مثلا برنامه تایمر کافی نتی که درست کردم در xml ذخیره می کرد و خیلی عالی بود.
ولی در نرم افزار هایی مثل انبار داری و اتوماسیون بهتره از SQL Server , Access , Oracle ,... استفاده شود
موفق باشی

va2012
دوشنبه 17 مهر 1391, 20:54 عصر
ممنون.

ولی منظور من این بود که در پروژه های کوچک یا متوسط که میشه از هر دو مورد استفاده کرد امنیت و سرعت و کارایی در کدوم حالت بیشتر است و به چه دلیل؟

مثلا من میخوام در یک برنامه کوچک برای دیتابیس تصمیم گیری کنم که از کدام حالت استفاده کنم. خوب مسلما برای من کار کردن با XML از کار کردن با دیتابیس راحت تره ولی در این صورت آیا در سرعت و امنیت برنامه مشکلی پیش نمیاد؟ و سوال دیگه اینکه چرا نمیشه در پروژه های بزرگ از این نحوه ذخیره کردن در فایل ها استفاده کرد؟ (چه محدودیت هایی وجود داره؟)

danialafshari
دوشنبه 17 مهر 1391, 22:11 عصر
سلام دوست عزیز
در این تاپیک مفصل صحبت شده (http://barnamenevis.org/showthread.php?4596-XML-%DA%86%DB%8C%D8%B3%D8%AA-%D8%9F)

سوال پر استفاده تر در اين راستا اين است که آيا XML و تکنو لوژيهای استفاده شده در ارتباط با آن توانايی تشکيل يک ساختار پايگاه داده ای در يک منطق کلی تر را دارد، به اين معنی که آيا يک DBMS می باشد؟
جواب به اين سوال اين است: "تا حدودی". در ديد مثبت XML بسياری از مسايل موجود در پايگاه داده را فراهم مي کند. ذخيره سازی به صورت مستندات XML ، شما ها به صورت DTDs و XML Schemas ، زبانهای query که شامل XQuery، XPath، XQL، XML-QL، QUILT و غيره می باشد، واسطهای برنامه نويسی مانند SAX، DOM؛ JDOM.
در بعد منفی قضيه فقدان بسياری از امکانات معمول موجود در پايگاه داده ها می باشد. نمونه هايی از اين دست شامل ذخيره سازی بهينه ، انديس گذاری، امنيت، Transactions، تجميع داده ای، دسترسی چند کاربره، Triggersو امکان query زدن روی چندين مستند می باشد.

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

نمونه ی بسيار خوبی از پايگاه داده ای که استفا ده از XML بسيار مناسب به نظر می رسد .ini file يعنی فايلی که شامل اطلاعات مربوط به configuration برنامه هاست. در اين راستا استفاده از يک فايل XML و نوشتن يک SAX Parser ساده بسيار راحت تر از استفاده از يک فايل که اطلاعات آن با کاما جدا شده اند می باشد. همچنين در اين حالت امکان داشتن ساختارهای تو در تو به راحتی فراهم است.
در نظر داشته باشید که کار با بانک اطلاعاتی Access بسیار آسان است و شخصا در بیشتر برنامه هام استفاده می کنم منهای برنامه های تجاری!
فایل های xml قابل مشاهده هستن ! و...