اپلیکیشن اندرویدی فلشکارت آموزشی آشنایی با کاساندرا: مفاهیم پایه و معماری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آشنایی با کاساندرا: مفاهیم پایه و معماری
موضوع کلی: برنامه نویسی
موضوع میانی: کاساندرا (Cassandra)
📋 سرفصلهای دوره
- 1. مقدمه: دنیای دادههای بزرگ و نیاز به راهحلهای جدید
- 2. چالشهای پایگاه دادههای رابطهای در مقیاس بزرگ
- 3. مقدمهای بر پایگاه دادههای NoSQL
- 4. دستهبندی پایگاه دادههای NoSQL و جایگاه کاساندرا
- 5. قضیه CAP و نقش آن در طراحی سیستمهای توزیع شده
- 6. معرفی Apache Cassandra: تاریخچه و فلسفه
- 7. ویژگیهای کلیدی کاساندرا: توزیعشدگی، در دسترس بودن بالا، مقیاسپذیری خطی
- 8. مفهوم "همیشه روشن" (Always On) در کاساندرا
- 9. مدل داده ستونمحور گسترده (Wide-Column Store)
- 10. موارد استفاده و سناریوهای کاربردی کاساندرا
- 11. آمادهسازی محیط: نصب کاساندرا (نسخه تک نودی)
- 12. معرفی و کاربرد ابزار cqlsh
- 13. مفهوم Keyspace: فضای نام منطقی برای دادهها
- 14. ایجاد اولین Keyspace با `CREATE KEYSPACE`
- 15. استراتژیهای تکرار (Replication Strategy): SimpleStrategy
- 16. استراتژیهای تکرار (Replication Strategy): NetworkTopologyStrategy
- 17. مفهوم فاکتور تکرار (Replication Factor) و اهمیت آن
- 18. معرفی جدول (Table) در کاساندرا
- 19. انواع دادههای پایه در CQL (متن، عدد، UUID، بولین، تاریخ و زمان)
- 20. مفهوم ستونها و ردیفها
- 21. مقدمهای بر کلید اصلی (Primary Key)
- 22. کلید پارتیشن (Partition Key): نحوه توزیع دادهها
- 23. کلید خوشهبندی (Clustering Key): نحوه مرتبسازی دادهها درون پارتیشن
- 24. طراحی کلید اصلی موثر برای پرس و جوهای کارآمد
- 25. ایجاد اولین جدول با دستور `CREATE TABLE`
- 26. دستور `INSERT`: درج داده در جداول
- 27. بازیابی دادهها با دستور `SELECT` (مبانی)
- 28. فیلتر کردن دادهها با `WHERE` clause بر اساس کلید اصلی
- 29. محدود کردن نتایج با `LIMIT`
- 30. مرتبسازی نتایج با `ORDER BY` (با استفاده از Clustering Key)
- 31. مفهوم `ALLOW FILTERING` و لزوم پرهیز از آن
- 32. دستور `UPDATE`: بهروزرسانی دادههای موجود
- 33. دستور `DELETE`: حذف ردیفها یا ستونها
- 34. دستور `TRUNCATE`: حذف سریع تمام دادههای یک جدول
- 35. دستور `ALTER TABLE`: تغییر ساختار جدول
- 36. انواع دادههای مجموعهای (Collections): List
- 37. انواع دادههای مجموعهای (Collections): Set
- 38. انواع دادههای مجموعهای (Collections): Map
- 39. کاربرد Collection ها در مدلسازی داده
- 40. نوع داده شمارشگر (Counter): کاربردها و محدودیتها
- 41. ستونهای Static: اشتراکگذاری دادهها در یک پارتیشن
- 42. UDTs (User-Defined Types): ایجاد و استفاده از انواع داده سفارشی
- 43. معرفی Node و Cluster در کاساندرا
- 44. مفهوم Ring و نحوه سازماندهی نودها
- 45. Virtual Nodes (vnodes) و مزایای آن در مقیاسپذیری
- 46. Partitioner: مسئول توزیع دادهها بین نودها
- 47. Partitioner پیشفرض: Murmur3Partitioner و نحوه عملکرد آن
- 48. معرفی پروتکل Gossip: کشف نودها و تبادل اطلاعات وضعیت
- 49. وظایف پروتکل Gossip: مدیریت عضویت و وضعیت نودها
- 50. مفهوم Data Center و Rack در توپولوژی کلاستر
- 51. استراتژی Snitch: آگاهی از توپولوژی شبکه فیزیکی
- 52. Snitch های پرکاربرد: GossipingPropertyFileSnitch
- 53. مفهوم قابلیت دسترسپذیری (Availability) در کاساندرا
- 54. مفهوم استقامت (Durability) دادهها
- 55. سطوح سازگاری (Consistency Levels): معرفی و اهمیت
- 56. CL.ONE: سازگاری حداقل
- 57. CL.QUORUM: سازگاری رایگیری
- 58. CL.LOCAL_QUORUM: سازگاری محلی رایگیری
- 59. CL.ALL: سازگاری حداکثری
- 60. انتخاب سطح سازگاری مناسب برای عملیات خواندن
- 61. انتخاب سطح سازگاری مناسب برای عملیات نوشتن
- 62. ارتباط Replication Factor و Consistency Level در تضمین داده
- 63. مسیر نوشتن داده (Write Path): گام به گام
- 64. Commit Log: تضمین استقامت نوشتن و بازیابی
- 65. Memtable: بافر درون حافظهای برای نوشتن
- 66. SSTable (Sorted String Table): فرمت دادههای دیسکی
- 67. مراحل نوشتن داده: از Memtable به SSTable
- 68. مسیر خواندن داده (Read Path): گام به گام
- 69. Bloom Filter: بررسی وجود داده در SSTable ها
- 70. Key Cache و Row Cache: بهینهسازی خواندن
- 71. مفهوم Compaction (فشردهسازی) و اهداف آن
- 72. استراتژیهای Compaction: SizeTieredCompactionStrategy (STCS)
- 73. استراتژیهای Compaction: LeveledCompactionStrategy (LCS)
- 74. مفهوم Tombstone: علامتگذاری برای حذف دادهها
- 75. تاثیر Tombstone ها بر عملکرد خواندن و فشردهسازی
- 76. فرآیند Garbage Collection برای Tombstone ها
- 77. Hinted Handoffs: تضمین تحویل نوشتن در صورت عدم دسترسی نود
- 78. Anti-Entropy Repair (nodetool repair): همگامسازی دادهها
- 79. معرفی ابزار `nodetool`: مروری بر دستورات مهم مدیریت کلاستر
- 80. `nodetool status`: مشاهده وضعیت کلاستر و نودها
- 81. `nodetool info`: نمایش اطلاعات دقیق یک نود
- 82. `nodetool cleanup`: حذف دادههای غیرمرتبط
- 83. `nodetool flush`: فورس کردن Memtable به SSTable
- 84. `nodetool compact`: اجرای دستی Compaction
- 85. معرفی داکر (Docker) برای راهاندازی سریع کلاستر کاساندرا
- 86. راهاندازی یک کلاستر چند نودی با داکر (مثال عملی)
- 87. مبانی طراحی شمای داده در کاساندرا
- 88. فلسفه Query-Driven Schema Design: طراحی بر اساس پرس و جو
- 89. مفهوم Denormalization در کاساندرا و ضرورت آن
- 90. طراحی جدول برای پرس و جوهای متداول: مثال عملی
- 91. مثال: طراحی شمای داده برای یک برنامه بلاگ (کاربران، پستها، نظرات)
- 92. مثال: طراحی شمای داده برای یک سیستم مدیریت محصولات و سفارشات
- 93. Anti-Patterns در طراحی شمای کاساندرا: Hot Spotting (توزیع نامتوازن داده)
- 94. Anti-Patterns: پارتیشنهای بسیار بزرگ (Wide Row) و پیامدهای آن
- 95. Anti-Patterns: پرس و جوهای ناکارآمد با `ALLOW FILTERING`
- 96. استفاده از Secondary Indexes (شاخصهای ثانویه): محدودیتها و کاربردها
- 97. زمان و مکان مناسب برای استفاده از Secondary Indexes
- 98. Materialized Views (نماهای مادی شده): معرفی و کاربردها
- 99. تفاوت Secondary Indexes و Materialized Views
- 100. Lightweight Transactions (LWT) با `IF NOT EXISTS` و `IF EXISTS`
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.