موضوع مقاله: پایگاه داده بلادرنگ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پایگاه داده بلادرنگ | مقدمه: یک پایگاه داده بلادرنگ یک نوع پایگاه داده است که از پردازش بلادرنگ برای مدیریت بار داده‌ای که دائماً در حال تغییر است، استفاده می‌کند.Buchmann, A. | ## بخش 1: پایگاه داده بلادرنگ | این نوع پایگاه داده با نوع معمولی آن که معمولاً از زمان تأثیر نمی‌پذیرد متفاوت است. نمودار بازارهای مختلف بسیار ناپایدار به تظر می‌رسد و این در حالی است که پایگاه داده باید ارزش جاری در تمام بازارهای بورس نیویورک را نگه داری و دنبال کند. پردازش بلادرنگ به این معناست که تراکنش به اندازه کافی سریع باشد که بتواند در زمان مورد نظر پاسخگو باشد.Carpron, H.L. پایگاه داده‌های بلادرنگ برای حسابداری، بانکداری، قانون، داده‌های پزشکی، چند رسانه ای، کنترل فرایند، سیستم‌های رزرو، و تجزیه و تحلیل داده‌های علمی کارآمد هستند.(Snodgrass) نگاه اجمالی پایگاه‌های داده بلادرنگ پایگاه‌های داده سنتی هستند که از یک افزونه استفاده می‌کنند تا توانایی بیشتری برای پاسخگویی به‌طور قابل اطمینان ارائه دهند. این پایگاه داده‌ها از محدودیت‌های زمانبندی استفاده می‌کنند که محدوده مشخصی را که داده‌ها در آن معتبر هستند نشان می‌دهند. یک پایگاه داده معمولی نمی‌تواند در چنین شرایطی کار کند، زیرا ناسازگاری بین اشیاء واقعی و داده‌هایی که آنها را نشان می‌دهد، برای تغییرات ساده بسیار شدید است. یک سیستم مؤثر باید بتواند رکوردهای حساس به زمان را کنترل کند، فقط اطلاعات موقت را بازگرداند و اولویت زمانبندی را پشتیبانی کند. برای وارد کردن داده‌ها در رکوردها، اغلب یک سنسور یا یک دستگاه ورودی، وضعیت فیزیکی سیستم را مانیتور می‌کند و پایگاه داده را با اطلاعات جدید به روز می‌کند تا سیستم فیزیکی را دقیق تر نشان دهد. هنگام طراحی یک سیستم پایگاه داده بلادرنگ، باید چگونگی نشان دادن زمان معتبر، چگونگی ارتباط حقایق با سیستم بلادرنگ را در نظر گرفت. همچنین، نحوه نشان دادن مقادیر ویژگی در پایگاه داده باید طوری باشد که تراکنش‌ها و سازگاری داده‌ها دچار اشکال نشود. هنگام طراحی یک سیستم، مهم است که در نظر بگیریم در شرایطی که سیستم نتواند به محدودیت زمانی مورد نظر برسد چه کاری انجام دهد. به عنوان مثال، یک سیستم کنترل ترافیک هوایی به‌طور مداوم صدها هواپیما را نظارت می‌کند و تصمیمات مربوط به مسیرهای هواپیماهای ورودی را تعیین می‌کند و فرود هواپیما را براساس اطلاعاتی مانند سوخت، ارتفاع و سرعت تعیین می‌کند. برای رسیدگی به مسائل مربوط به داده‌های منسوخ، نشانگر زمان می‌تواند با ارائه مراجع زمانی مشخص از تراکنش‌ها پشتیبانی کند. حفظ یکپارچگی و سازگاری داده‌ها اگر چه سیستم پایگاه داده بلادرنگ ممکن است به نظر یک سیستم ساده باشد، اما مشکل از آنجایی شروع می‌شود که دو یا چند تراکنش در پایگاه داده نیاز به دسترسی همزمان به یک بخش از پایگاه داده را دارند. تراکنش و جریان داده دو چیز متفاوت از هم هستند، زیرا در جریان داده فقط امکان به کارگیری عملکر خواندن وجود دارد ولی تراکنش هر دو عمل خواندن و نوشتن را می‌تواند انجام دهد. این به این معناست که در جریان، چند کاربر می توانند به یک بخش از داده دسترسی داشته باشند و از آن بخوانند اما هیچکدام نمی‌توانند در آن تغییرات ایجاد کنند . پایگاه داده برای آن که بتواند یکپارچکی داده را حفظ کند باید در هر لحظه فقط به یک تراکنش اجازه اجرا بدهد. به طور مثال، اگر دو دانش آموز همزمان تقاضای زمان باقی مانده از یک بخش از کلاس را دارند و به طور هم زمان دکمه ثبت را فشار دادند، تنها یک دانش آموز باید بتواند برای آن ثبت نام کند . پایگاه های داده بلادرنگ می‌توانند این درخواست ها را با استفاده از الگوریتم‌های زمانبدی برای کنترل همروندی، پردازش کنند و درخواست های هر دو دانش‌آموز را اولویت بندی کنند. در طول این مقاله، ما فرض می‌کنیم که یک سیستم یک پردازنده واحد، یک پایگاه داده مبتنی بر دیسک و یک انباره حافظه دارد. در پایگاه داده های بلادرنگ، مهلت زمانی وجود دارد و سیستم‌های مختلف به داده‌هایی که در خارج از مهلت‌زمانی اتفاق افتاده باشند به روش‌های متفاوتی پاسخ می‌دهند. در یک سیستم بلادرنگ، هر تراکنش از یک زمان‌بندی یا ردپای زمان برای برنامه‌ریزی تراکنش‌ها استفاده می‌کند . یک واحد اختصاص دهنده اولویت، یک مقدار اهمیت را به هر تراکنش در لحظه ورود آن به سیستم پایگاه داده اختصاص می‌دهد که این مقدار به جایگاه زمان در سیستم و سایر اولویت‌ها وابسته است. محققان اشاره کردند که در بیشتر مطالعات، تراکنش ها به صورت متناوب و با زمان ورود غیر قابل پیش بینی هستند. به عنوان مثال، سیستم به یک درخواست با اولویت بالاتر مهلت زمانی نزدیکتر و به درخواست با اولویت کمتر مهلت زمانی دیرتری می‌دهد. بعضی از تراکنش‌ها باید براساس ضرورت ها به پردازنده دسترسی داشته باشند و نه به صورت عادلانه. اگر خط تلفن شلوغ است، افرادی که با 119 و امداد تماس می‌گیرند در اولویت قرار دارند. | ## بخش 2: پایگاه داده بلادرنگ | مهلت زمانی تاثیر گرفته از ارزش براساس روش زمانبندی به ارزش تراکنش و مهلت زمانی وزن یکسانی اختصاص داده می‌شود. یک مثال برای ثبت نام برای کلاس‌هایی است که دانش آموز یک بلوک از کلاس هایی را که می‌خواهد انتخاب می‌کند و دکمه ثبت را فشار می دهد. سیستم ثبت نام مدرسه احتمالاً وقتی که سرور دو عملیات ثبت نام را دریافت می کند، از این تکنیک استفاده می کند. اگر یک دانش آموز 22 اعتبار داشته باشد و دیگری 100 اعتبار داشته باشد، شخص با اعتبار 100 اولویت بیشتری دارد (برنامه ریزی مبتنی بر ارزش). محدودیت و مهلت های زمانی یک سیستم که به درستی شروط اجرای سریال و زمان‌بندی مربوط به تراکنش‌ها با محدودیت زمانی سخت و نرم را با ارضا می‌کند از مزیت های اجرای سازگاری بهره می گیرد. از دیگر روش هایی که می توان درستی داده را تضمین کرد به کارگیری محدودیت های نسبی است. محدودیت نسبی تضمین می کند که تراکنش هایی که همزمان وارد سیستم می شوند به عنوان جزئی از یک گروه هستند که داده تراکنش با آن مرتبط است. علاوه بر مهلت زمانی، یک روش دیگر برای مقابله با تضادها در یک سیستم پایگاه داده بلادرنگ، به کارگیری روش مبتنی بر وقفه است. این فرایند در لحظات بحرانی به اطمینان از صحت آخرین اطلاعات موجود در سیستم کمک می کند. این سیاست با درخواست از تمام بلوک های غیر درخواستی برای صبر کردن تا زمانی که مهم‌ترین بلوکهای داده پردازش شود. در حالی که مطالعات انجام شده در آزمایشگاه ها نشان می دهد که سیاست های مبتنی بر مهلت داده ها تاثیر قابل توجهی در کارایی ندارند، اما سیاست های مبتنی بر وقفه اجباری توانستند عملکرد را تا 50 درصد افزایش دهد(Porkka). سیاست مبتنی بر وقفه اجباری ممکن است یک وقفه طولانی مدت برای یک تراکنش با اهمیت بالا را موجب شوند تا بتوانند از رخداد بن بست جلوگیری کنند. یک مثال دیگر از زمانی که داده ها می توانند به تعویق افتد، زمانی است که یک بلوک از داده ها در حال منقضی شدن است . سیاست مبتنی بر وقفه اجباری مجبور است پردازش را تا زمانی که داده ها با استفاده از داده های ورودی جدید به روز شود، به تاخیر بیندازد. این روش به افزایش دقت سیستم کمک می‌کند و می‌تواند تعداد فرایندهای ضروری که منحل(aborted) شدند را کاهش دهد. مهلت زمانی یک محدودیت برای جایگذاری در اولین فرصت، داده هایی است که توسط تراکنش ها مورد استفاده قرار گرفتند. در یک سیستم مهلت نظری، تمام تراکنش های ناتمام مورد بررسی قرار می گیرد و پردازنده تعیین می کند که چه تراکنشی به ددلاین و مهلتش رسیده است. در این روش مشکلات به دلیل تغییرات به وجود آمده بر اثر عواملی متاثر از زمان مانند خطای صفحه، مدیریت بافر(مروری بر سیستم پایگاه داده زمان) رخ می دهد. این روش زمانبدی پیشنهادی و کاندید را ایجاد می کند و تخمین می زند که تراکنش تحت این زمانبدی چقدر امکان دارد که مهلت زمانی خود را از دست دهد. نحوه پاسخ به تراکنشی که مهلت زمانی اش را از دست داده بستگی به این دارد که مهلت زمانی آن از چه نوعی بوده است، سخت یا نرم. مهلت زمانی سخت مستلزم آن است که هر بسته داده قبل از آنکه بسته داده منفضی شود به مقصد خود برسد و اگر چنین اتفاقی نیفتد کل فرایند می تواند از بین برود، که موجب مشکل احتمالی می شود. چنین مشکلانی خیلی رایج نیستند؛ زیرا قبل از انتساب مهلت زمانی برای تخمین بدترین حالت نیازبه تمام توان سیستم نیاز است. این کاری بسیار سخت است و اگر اتفاق غیرقابل پیش بینی رخ دهد مثلاً یک مشکل سخت افزاری چند دقیقه ای، می تواند داده ها را از بین ببرد. برای مهلت زمانی های نرم و انعطاف پذیر، از دست رفتن مهلت زمانی می تواند باعث کاهش کارایی سیستم شود اما فاجعه رخ نمی‌دهد. تراکنش ها اجازه دارند تا مهلت زمانی خود را از دست بدهند و سیستم انعطاف پذیری بیشتری دارد. در زیر نحوه پاسخگویی ها شرح داده شده است: مهلت زمانی سخت اگر از دست دادن مهلت زمانی منجر به مشکل جدی می شود، زمانبدی سخت بهترین گزینه است. مهلت زمانی محکم و پایدار این نوع مهلت زمانی به نظر می رسد که شبیه به مهلت زمانی سخت باشد اما متفاوت است، زیرا این نوع مهلت زمانی در زمان دریافت و ورود تراکنش تعیین می کند که میزان به پایان رساندن به موقع تراکنش چقدر مهم ایت. | ## بخش 3: پایگاه داده بلادرنگ | گاهی به پایان رساندن تراکنش بعد از منقضی شدن مهلت زمانی آن می تواند خطرناک باشد و فایده ای نداشته باشد، هر دو زمانبدی سخت و محکم این مساله را در نظر می گیرند. یک نمونه از رمانبدی محکم سیستم کنترل هواپیما است[۴] مهلت زمانی نرم اگر رسیدن به مهلت زمانی ایده‌آل باشد اما از دست دادن مهلت زمانی خسارات جدی به بار نیاورد، زمانبدی نرم بهترین گزینه است. در مهلت زمانی سخت، پردازش ها، تراکنش هایی که مهلت زمانی آن ها گذشته باشد را لغو می کنند و با حذف بهم ریختگی ها سیستم بهبود داده می دهند. فرایندها می توانند نه تنها تراکنش هت با مهلت های منقضی شده را حذف کنند بلکه همچنین تراکنش ها با مهلت های طولانی را نیز حذف می کنند، فرض بر این است که زمانی به پردازنده می رسند که منسوخ شده اند. وقتی پیش ثبت نام کلاس ها را در یک دوره پرترافیک انتخاب می کنم، یک فیلد در پایگاه داده می تواند خیلی مشغول ثبت درخواستهای ثبت نامی باشد که برای مدتی در دسترس نبودند و نتیجه تراکنش من نمایش یک کوئری SQL و پیام داده ها در حال حاضر در دسترس نیست، باشد. هدف از برنامه ریزی زمانبدی ها و مهلت ها به روز کردن تراکنش ها و تضمین برای تکمیل آن ها قبل از مهلت شان به طوری که حجم کار حداقل باشد است. با پایگاه داده های بلادرنگ بزرگ، توابع بافر می تواند به شدت به بهبود عملکرد کمک کند. یک بافر بخشی از پایگاه داده است که در حافظه اصلی ذخیره می شود تا زمان پاسخ تراکنش را کاهش دهد. برای کاهش تراکنش های ورودی و خروجی دیسک، تعداد مشخصی از بافر ها باید اختصاص داده شود(O'Neil). گاهی اوقات چندین نسخه در بافرها ذخیره می‌شوند، زمانی که داده های مورد نیاز تراکنش در حال حاضر در حال استفاده هستند. استراتژی های مختلفی برای اختصاص بافرها وجود دارد، و باید بین داشتن حجم زیادی از حافظه و داشتن تمام اطلاعات روی بافرها تعادل ایجاد کرد. مدیریت کننده بافر می تواند در صورت نیاز مقدار بیشتری حافظه به بافر اختصاص دهد تا زمان پاسخ را بهبود بخشد. سیستم‌های پایگاه داده های آینده پایگاه داده‌های رایج پایدار هستند اما توانایی برخورد و مدیریت داده های پویای که دائماً در حال تغییر هستند را ندارد. پایگاه داده های بلادرنگ ممکن است به منظور بهبود دقت و کارایی و جلوگیری از تداخل، با ایجاد مهلت ها و وقفه های متناوب سازگاری موقت را تضمین کنند. سیستم های پایگاه داده بلادرنگ امکان نظارت بر سیستم فیزیکی را فراهم می کنند و آن را به صورت جریان داده به پایگاه داده نمایش می دهند. به منظور تضمین جدید بود و دقیق بودن داده های ذخیره شده راه های محتلفی برای بررسی اینکه تراکنش ها به ترتیب درستی اجرا شدند، وجود دارد. یک مزایده حراج خانه به صورت آنلاین، یک مثال از تغییر سریع داده ها در پایگاه داده را نشان می دهد. در آینده، ما می توانیم انتظار سیستم های پایگاه داده بسیار سریعتری را داشته باشیم. اگر چه سیستم های در حال حاضر نیز سیستم های سریعتری نسبت به گذشته وجود دارد، تلاش برای کاهش اشتباهات و تاخیرات زمانی همچنان می تواند کارآمد باشد. پردازش سریع که به اشتباه اعمال شود برای سیستم های پایگاه داده بلادرنگ مفید نیست. تراکنش‌هایی که سریعتر اجرا میشوند، گاهی اوقات بلوکه می‌شوند و باید آنها را لغو و مجدداً اجرا کرد. در واقع، پردازش سریع به برخی از برنامه های بلادرنگ آسیب می زند، زیرا افزایش سرعت پیچیدگی را بیشتر می کند و احتمال بیشتری برای ایجاد مشکلات ناشی از تغییرات سرعت را ایجاد می کند. پردازش سریع تر باعث می شود که تعیین اینکه کدام تراکنش ها در زمان مقرر اجرا شده اند و به مهلت زمانی خود رسیده اند را سخت میکند. میزان تحقیقات در مورد سیستم های پایگاه داده بلادرنگ به دلیل افزایش برنامه های کاربردی تجاری مانند خانه های حراج مبتنی بر وب مانند e-bay افزایش می یابد. کشورهای توسعه یافته نیز بیشتر سیستم های تلفن خود را گسترش می دهند و تعداد افرادی که در ایالات متحده از تلفن های همراه استفاده می کنند همانند دیگر نقاط جهان پیوسته در حال افزایش و رشد است. همچنین احتمال دارد تحقیقات در زمینه سیستم های بلادرنگ، موجب افزایش سریع سرعت میکروپردازنده ها شود. این اتفاق همچنین در فناوری های جدید مانند ویدئو کنفرانس های وب و پیام‌رسان فوری، مکالمات با صدا و تصاویر با وضوح بالا که بر پایه سیستم های پایگاه داده بلادرنگ کار می می‌کنندرا امکان پذیر می سازد. | ## جمع‌بندی | مطالعات بر روی سازگاری موقت و لحظه ای موجب ایجاد پروتکل های جدید و محدودیت زمان بندی با هدف مدیریت موثرتر تراکنش های بلادرنگ شده است.