به سایت ما خوش آمدید . امیدوارم لحظات خوشی را درسایت ما سپری نمایید .

خوش آمدید

هر گونه نظر و پیشنهاد و انتقادی داشتید، در قسمت نظرات اعلام کنید.

پايگا‌ه‌هاي داده NoSQL‌ نسل جديدي از پايگاه‌هاي داده هستند كه پشت بسياري از وب‌سايت‌هاي بزرگ و حجيم قرار گرفته‌اند و نوع ديگري از سرويس را نسبت به پايگاه‌هاي داده قديمي‌تر، يعني پايگاه‌هاي داده رابطه‌اي (Relational) ارائه مي‌كنند.

 
بقيه در ادامه
 

پايگاه‌هاي داده رابطه‌اي در نرم‌افزارهايي كه داده‌هاي سنگيني دارند، بازدهي كمي دارند. مثلا براي انديس‌گذاري تعداد زيادي از سندها يا ارائه صفحه‌هاي اينترنت در وب‌سايت‌هايي كه جريان داده بالايي دارند، پايگاه‌هاي داده رابطه‌اي پاسخگو نخواهند بود و تنها زماني به‌درد مي‌خورند كه يا داده‌ها اندك باشد يا درخواست نوشتن و خواندن در ديتابيس زياد نباشد. به‌عنوان مثال، پايگاه داده ديگ كه 3ترابايتي است يا پايگاه داده فيس‌بوك كه براي جستجوي اينباكس‌هاي كاربران، 50ترابايت داده دارد، همچنين پايگاه داده eBay كه هم‌اكنون به 2پتابايت رسيده است، نمي‌توانند كار خود را با پايگاه‌هاي داده رابطه‌اي راه بيندازند.

در معماري NoSQL بحث ثبات داده‌ها تنها در مورد يك آيتم يا يك تراكنش اعمال شده است. هرچند برخي از سيستم‌هاي فعلي كاملا قابليت ACID را پشتيباني مي‌كنند.

سيستم‌هاي NoSQL داده را با كمك معماري توزيع‌شده در چندين سرور با افزونگي خاص خود قرار مي‌دهند. به اين ترتيب سيستم مي‌تواند با افزوده شدن سرورهاي ديگر، خودش را بزرگ كند و به امنيت و پايداري سيستم كمك كند. برخي از پايگاه‌هاي داده NoSQL حتي رابط ساده‌اي براي ارتباط با اين ديتابيس‌ها در نظر گرفته‌اند و داده‌ها را به‌صورت آرايه‌هاي انجمني ذخيره كرده و دسترسي به‌داده‌ها را ساده‌تر مي‌كنند. هجوم كاربري‌هاي زياد از پايگاه‌هاي داده NoSQL و همچنين استفاده شركت‌هاي بزرگ از اين نوع پايگاه‌هاي داده، برخي را به اين تفكر واداشته است كه پايگاه‌هاي داده رابطه‌اي در حال مرگ هستند. اگر بخواهيم پاسخ كوتاه و قطعي بدهيم، بايد گفت بي‌گمان اين موضوع صحيح نيست. پايگاه‌هاي رابطه‌اي باقي خواهند ماند و كاري كه مي‌كنند هم تغيير نخواهد كرد: مديريت داده‌هاي كلي، ارتباط ساده، سرعت، بازدهي بالا، انعطاف‌پذيري و قابليت گسترش براي كاربران متوسط و كوچك.

هر چند ديتابيس‌هايي چون SQL Server، اوراكل و ماي‌سه‌كوئل اين سادگي را مديون پيچيدگي دروني خود هستند. پاشنه آشيل اين بانك‌هاي اطلاعاتي آنجاست كه نمي‌توانند بسرعت بزرگ شوند و با حجم بالاي درخواست روبه‌رو شوند.

اغلب پايگاه‌هاي داده رابطه‌اي مي‌توانند تا حد مناسبي بزرگ شوند و اين عمليات بزرگ شدن در يك سرور بخوبي انجام مي‌شود، اما وقتي كار به بيش از يك سرور مي‌كشد، بايد سراغ پيچيدگي‌هاي خاصي رفت تا بتوان اين ديتابيس‌ها را بين بيش از يك سرور مشترك كرد.

بيايد فرض كنيم كه بيش از صدها يا هزاران سرور براي رشد سريع لازم باشد. پيچيدگي حاصل از اين رشد، غيرقابل توصيف خواهد بود و پايداري و سرعت پايگاه‌هاي داده رابطه‌اي به‌شدت پايين مي‌آيد و ضعف‌هاي آن‌را براي سيستم‌هاي توزيع شده بسيار بزرگ نشان مي‌دهد.

براي چنين سرويس‌هايي راه‌حل استفاده از NoSQL است كه غيررابطه‌اي و توزيع‌شده هستند و قابليت توسعه افقي دارند. از اين‌رو شركت‌هاي بزرگ زيادي همچون گوگل و آمازون از اين پايگاه داده استفاده مي‌كنند، البته اين شركت‌ها از پايگاه داده خاصي استفاده نمي‌كنند و هر كدام از مدير ديتابيس‌هاي توليدي خود استفاده مي‌كنند. بنابراين تفاوت ميان كاربرد پايگاه‌هاي داده رابطه‌اي و كاربرد پايگاه‌هاي داده غيررابطه‌اي مشخص شده است. تنها مساله باقي مانده، انتقال به نسل نوين است.

در پايان، همان پاسخ اوليه را تكرار مي‌كنيم كه نبايد NoSQL را به‌عنوان نسل بعدي و جايگزين همين سيستم‌هاي معمولي دانست و بگوييم مثلا NoSQL از پايگاه‌هاي رابطه‌اي بهتر است. پرسش اين است كه چه زمان بايد از NoSQL استفاده كرد؟

اينجاست كه بايد كلاه خود را قاضي كنيد و به اندازه سيستم، ميزان رشد سيستم و تراكنش‌هايي كه در سيستم رخ مي‌دهند توجه نشان دهيد.

بايد توجه كنيد كه مثلا راه‌اندازي يك سرويس بلاگ كه در هر ثانيه چندين مطلب به آن اضافه مي‌شود و ... حتما يك پايگاه رابطه‌اي را به زانو در مي‌آورد، در صورتي كه اين داده‌ها در NoSQL‌ قرار بگيرند (كه مخصوص اين كار درست شده است) مي‌توانند بازدهي بسيار خوبي داشته باشند.

ميلاد پيكاني

 

ادامه مطلب
پنج شنبه 28 مرداد 1389  - 9:20 AM

جستجو

آمار سایت

کل بازدید : 5900241
تعداد کل پست ها : 30564
تعداد کل نظرات : 1029
تاریخ ایجاد بلاگ : پنج شنبه 19 شهریور 1388 
آخرین بروز رسانی : دوشنبه 19 آذر 1397 

نویسندگان

ابوالفضل اقایی