جلسه1 مقدمه اي بر فایل ها عناصر و اجزاي فایل، مشکلات فایل، نسلهاي ذخیره و بازیابي اطلاعات، دادههاي حجیم 4
تعریف فایل و اهمیت آن
فایل مجموعهای از دادهها است که روی یک رسانه ذخیرهسازی (مثل دیسک سخت، SSD یا حافظه ابری) نگهداری میشود و میتواند شامل متن، تصویر، صوت، برنامه یا هر نوع داده دیگری باشد.
در سیستمهای کامپیوتری، فایلها واحد اصلی ذخیره و انتقال اطلاعات بین برنامهها هستند.
مثال:
فایل students.csv که حاوی اطلاعات دانشجویان به صورت سطر و ستون است، توسط نرمافزارهای مختلف (مثل Excel یا برنامههای Python) قابل خواندن و ویرایش است.
۲. عناصر و اجزای فایل
هر فایل از چند عنصر کلیدی تشکیل شده است:
- نام فایل (File Name): شناسهای برای شناسایی فایل توسط سیستم. مثال:
report.docx - پسوند فایل (Extension): نوع یا قالب داده را مشخص میکند؛ مثل
.txt,.jpg,.exe - ساختار داخلی فایل: چگونگی سازماندهی دادهها (مثلاً باینری، متنی، فشرده)
- فایل هدر (Header): شامل اطلاعات متادیتا یا تنظیمات.
- فایل دیتا (Data section): محتوای اصلی فایل.
- پایان فایل (EOF): علامت پایان دادهها.
مثال:
در فایلهای تصویری JPEG، قسمت هدر شامل اطلاعات ابعاد تصویر و نوع فشردهسازی است و بخش داده شامل پیکسلهای تصویر.
۳. مشکلات مرتبط با فایلها
ذخیره و بازیابی اطلاعات مبتنی بر فایل با چالشهایی همراه است، از جمله:
- وابستگی برنامه به ساختار فایل: تغییر فرمت فایل ممکن است باعث خرابی برنامه شود.
- دسترسی کند (Slow Access): برای استخراج اطلاعات باید کل فایل خوانده شود.
- مشکل همزمانی و هماهنگی: در برنامههایی که چند کاربر دارند، تغییر همزمان یک فایل ممکن است باعث تعارض داده (Data Conflict) شود.
- امنیت پایین: فایلها بدون رمزگذاری یا کنترل دسترسی ممکن است قابل سرقت یا دستکاری باشند.
- عدم یکپارچگی: سیستمهای مبتنی بر فایل بهسختی از دادهها نسخه پشتیبان منسجم تهیه میکنند.
۴. نسلهای ذخیره و بازیابی اطلاعات
نسل اول – سیستم فایلها
- دادهها مستقیماً در فایلها ذخیره میشدند.
- رابطه بین فایلها توسط برنامهنویس برقرار میگردید.
- مزیت: سادگی، سرعت بالا در دادههای کوچک.
- ضعف: تکرار دادهها، ناسازگاری، عدم کارایی در حجم زیاد.
نسل دوم – سیستمهای مدیریت پایگاه داده (DBMS)
- سازماندهی ساختیافته دادهها در جدولها و روابط مشخص.
- امکان بازیابی سریع، حذف تکرار، امنیت بیشتر.
- مثال: MySQL، PostgreSQL، Oracle Database.
نسل سوم – پایگاههای داده توزیعشده و ابری
- دادهها در چند سرور یا چند نقطه جغرافیایی ذخیره میشوند.
- دسترسی از طریق اینترنت، مقیاسپذیری بالا.
- مثال: Google Cloud Storage، Amazon S3.
۵. دادههای حجیم (Big Data)
تعریف: مجموعهای از دادهها با حجم، تنوع و سرعت تولید بسیار زیاد که روشهای سنتی پردازش توانایی مدیریت آن را ندارند.
ویژگیهای کلیدی (3V):
- Volume: حجم بسیار زیاد دادهها (ترابایت و پتابایت)
- Velocity: سرعت بالای تولید و ورود دادهها
- Variety: تنوع شکل دادهها (متن، ویدیو، حسگرها، شبکههای اجتماعی)
مثال:
اطلاعات تولید شده توسط کاربران در شبکههای اجتماعی، تراکنشهای بانکی، یا دادههای حسگرهای خودروهای هوشمند.
فناوریهای مرتبط:
Hadoop، Spark، NoSQL Databases (MongoDB، Cassandra)
🔧 تمرین پایان فصل
- تفاوت بین فایل متنی و فایل باینری را با مثال توضیح دهید.
- سه مشکل اصلی سیستمهای مبتنی بر فایل را نام ببرید و برای هرکدام یک راهحل ممکن ارائه کنید.
- نسلهای مختلف ذخیرهسازی اطلاعات را با ذکر مزایا و معایب مقایسه کنید.
- مفهوم داده حجیم را تعریف کنید و مثالهایی از زندگی روزمره برای آن بنویسید.
- یک برنامهی ساده بنویسید (به زبان دلخواه) که محتوای یک فایل متنی را بخواند و تعداد خطوط را نشان دهد.
📘 خلاصه نکات کلیدی
- فایلها واحد پایه ذخیرهسازی داده در سیستمهای کامپیوتری هستند.
- هر فایل شامل نام، پسوند، هدر و بدنه داده است.
- سیستمهای مبتنی بر فایل برای حجم کم مناسباند اما در مقیاس بزرگ ناکارآمد میشوند.
- پایگاههای داده نسل پیشرفتهتر برای مدیریت دادهها با کارایی و امنیت بالاترند.
- دادههای حجیم نیازمند فناوریهای توزیعشده و پردازش موازی هستند.
- درک ساختار و مشکلات فایل پایهای برای ورود به حوزه پایگاه داده و Big Data است.