چرا احتمالاً به سیستم های بلادرنگ به روشی اشتباه فکر می کنید؟


سازمان ها در صنایع متعدد به طور فزاینده ای علاقه مند هستند و در تلاش برای ساختن سیستم های بلادرنگی هستند که بسیار فراتر از قابلیت های محدود سیستم های نرم افزاری در گذشته اخیر هستند. مسائلی که این سیستم‌ها برای رسیدگی به آن‌ها نیاز دارند، بر عملیات داخلی و تجربیات مشتری تأثیر می‌گذارد و همچنین فراتر از دیوارهای هر سازمان گسترش می‌یابد تا قابلیت‌های مورد انتظار صنعت و حتی سلامت کره زمین را تغییر دهد.

نسل بعدی سیستم‌های بلادرنگ با کاربردهای بسیار متنوع وارد بازی می‌شوند:

  • ایمنی و امنیت: ارائه سطوح جدیدی از سلامت و ایمنی عمومی در ساختمان های هوشمند که به طور خودکار شیوع بیماری را شناسایی و متوقف می کند.
  • خرده فروشی: فعال کردن تجربیات جدید بازاریابی مجاورتی شخصی سازی شده در محیط های خرده فروشی فیزیکی،
  • موارد اضطراری: تشخیص سیل و سایر شرایط اضطراری و سپس به طور خودکار راه اندازی پروتکل های تخلیه

در همه این سناریوها – هیچ مصالحه ای از نظر پاسخگویی، قابلیت اطمینان و مقیاس پذیری وجود ندارد. این امر مستلزم آن است که مسئولین توسعه روش مدرن تری را در مورد نحوه طراحی این سیستم های زمان واقعی با کارایی بالا بپذیرند.

هنگامی که پایگاه داده اولین راه ایجاد سیستم های بلادرنگ با شکست مواجه می شود – در واقع چند آسانسور را می توانید نظارت کنید – قبل از اینکه خراب شود؟

یک ابرشهر مدرن ممکن است ساختمان هایی با صدها هزار آسانسور داشته باشد – که همه آنها نیاز به نظارت مداوم برای شناسایی موقعیت های مورد علاقه مانند نگرانی های امنیتی و ایمنی دارند. بهترین راه برای پرداختن به این نوع چالش «ساختمان هوشمند» از طریق پردازش جریانی بلادرنگ است که می‌تواند تجزیه و تحلیل داده‌ها را در مقیاس مدیریت کند و آگاهی موقعیتی سازگار و به موقع ارائه دهد.

توسعه احتمالاً با اطلاعاتی از یک آسانسور منفرد با تجزیه و تحلیل انجام شده در پایگاه داده سری زمانی ساده و پرس و جوهای دسته ای کوچک آغاز می شود. اما این نادرست است که فرض کنیم آنچه برای یک نفر کار می کند باید برای صدها و سپس هزاران کار کند.

نقص در این فرض این است که پرس و جوهای پایگاه داده می توانند انفجار داده ها را بدون از دست دادن گسترده در سرعت عملکرد مدیریت کنند. این رویکرد همانطور که انتظار می‌رود با تعداد کمی آسانسور کار می‌کند، اما کل سیستم زمانی از کار می‌افتد که حجم داده‌ها (آسانسورها) فراتر از قابلیت‌های پایگاه داده رشد کند.

صرف نظر از قرار دادن سایر قابلیت های بلادرنگ در اطراف پایگاه داده سنتی در این سیستم، استفاده از یک پایگاه داده خود چیزی است که ذاتاً سیستم را در مقیاس می شکند.

راه حل ایجاد یک سیستم مقیاس پذیر قوی، انجام تجزیه و تحلیل تشخیص ناهنجاری در حافظه، و سپس انتقال اطلاعات به پایگاه داده برای اهداف تاریخی است. پایگاه داده آخرین مرحله و نه اولین مرحله در یک سیستم بلادرنگ مدرن است.

سه نوع سیستم بلادرنگ

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

  1. سیستم‌های بلادرنگ «سخت» – مبتنی بر سخت‌افزار،
  2. Micro-Batch Real-Time Systems – سیستم های بلادرنگ «نرم» که از فرآیندهای داده و پرس و جوهای سنتی تری استفاده می کنند،
  3. سیستم‌های زمان واقعی رویداد محور – سیستم‌های زمان واقعی «نرم» که از پردازش جریان یا رویداد استفاده می‌کنند.


1. “سیستم های زمان واقعی سخت”.

این نوع سیستم‌ها برای حل مشکلاتی که نمی‌توانند هیچ “مهلت” گمشده را با سرعت عملکرد در چند میلی ثانیه اندازه‌گیری کنند، مورد نیاز هستند. هیچ پایگاه داده ای هرگز نمی تواند این نوع عملکرد را ارائه دهد، و علاوه بر این، تمام تجهیزات سخت افزاری و محاسبات باید در محل انجام شود. خطوط مونتاژ رباتیک خودکار با دقت بالا به سختگیری این نوع سیستم بلادرنگ نیاز دارد.

2. میکرو دسته ای سیستم های زمان واقعی

این رویکرد برای سیستم‌های بلادرنگ برای مشکلاتی که فقط نیاز به پردازش بلادرنگ با تأخیر در صدها میلی‌ثانیه (یا حتی ثانیه) دارند و به مقیاس‌گذاری کمی نیاز دارند، مناسب‌تر است. سیستم های سفارش تجارت الکترونیک می توانند برای این کار مناسب باشند.

رویکردهای سنتی برای پردازش داده ها در برابر مقادیر کمی از داده ها (ریز دسته ها) در یک چرخه کار سریع انجام می شود. نقطه صفر برای ایجاد مشکلات کشنده در تلاش برای مقیاس‌بندی سیستم و کاهش تأخیر بین دسته‌ها برای عملکرد این سیستم‌ها، مشابه سیستم‌های زمان واقعی رویداد محور، یافت می‌شود.

همانطور که تعداد دسته ها به صورت خطی افزایش می یابد، سربار محاسبه و هزینه اجرای مداوم پرس و جوها در حجم رو به رشد ریز دسته ها به طور تصاعدی افزایش می یابد (تا مجذور اندازه پایگاه داده.) در برخی موارد، قانون فیزیک شروع می شود. و غیرممکن است که لایه تجزیه و تحلیل داده های سیستم را در “زمان واقعی” تعریف شده با حجم بالا انجام دهیم. در نهایت، یک پایگاه داده هرگز به سرعت پردازش رویداد نخواهد بود.

3. سیستم های زمان واقعی رویداد محور

این راه حل طلایی برای برنامه هایی است که نیاز به اقدام در بازه زمانی بسیار کوتاه در محدوده 1-10 میلی ثانیه دارند. یک سیستم توصیه استفاده مناسب از این نوع سیستم بلادرنگ است – مانند تجارت الکترونیک یا اتوماسیون صنعتی.

پردازش درون حافظه، نه پایگاه داده، نیروی محرکه در این سیستم است. اطلاعات (از حسگرهای اینترنت اشیا، هوش مصنوعی تعبیه شده، کارگزاران رویداد و غیره) در پرواز با استفاده از تجزیه و تحلیل جریان پردازش می‌شوند و سپس می‌توانند برای اهداف تاریخی به پایگاه داده ارسال شوند.

همانطور که در مورد رویکرد میکرو دسته ای، با افزایش مقدار داده – کار محاسبه به صورت خطی – نه به صورت نمایی – مقیاس می شود.

یافتن و اجتناب از عملکرد و مقیاس نقاط خفه شدن در سیستم های زمان واقعی

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

انجام پرس و جوها زمان می برد و با رشد پایگاه داده عملکرد پرس و جو کاهش می یابد – این دقیقاً همان چیزی است که وقتی می خواهید یک سیستم را مقیاس بندی کنید اتفاق می افتد. در مثال قبلی آسانسور ما، انتقال بلادرنگ بود، اما دسترسی به اطلاعات ذخیره شده در پایگاه داده و انجام پرس و جوها در زمان واقعی نبود.

عملکرد آن سیستم در نهایت توسط بدترین بخش کل سیستم – پایگاه داده – بسته شد.

در طراحی نسل بعدی سیستم‌های بلادرنگ، در نظر گرفتن چارچوب زمانی که در آن اطلاعات مختلف باید در دسترس و درک شوند و مقیاسی که در نهایت می‌خواهید سیستم خود را به آن رشد دهید، ضروری است.

این یک تصمیم یا تصمیم نیست – نسل بعدی سیستم های زمان واقعی باید ترکیبی باشند

یک رویکرد یکسان برای همه سیستم‌های بلادرنگ وجود ندارد. اما همیشه مهم است که با درک اینکه کدام اطلاعات باید در دوره های زمانی طولانی تری در یک پایگاه داده برای گزارش تاریخی، تجزیه و تحلیل عمیق تر و تشخیص الگو ذخیره شوند، شروع شود.

در مرحله بعد، برخلاف اطلاعاتی که نیاز به اقدام فوری (در حد میلی ثانیه) برای پردازش رویداد بلادرنگ دارند. بهترین سیستم‌ها آن‌هایی هستند که مدل‌های مختلف پردازش داده‌ها را با هم ترکیب می‌کنند تا از مزایای هر پیشنهاد استفاده کنند.

اعتبار تصویر ویژه: Natã Romualdo; Pexels; متشکرم!

مارک مونرو

مارک بیش از 35 سال تجربه در زمینه فناوری اطلاعات به عنوان مهندس نرم افزار، مشاور، معمار فنی و معمار راه حل برای شرکت های مختلف توسعه ابزارها و پلتفرم ها از مشتری/سرور 2 و 3 تا SOA و پلتفرم های رویداد محور دارد. مارک برای شرکت های فناوری مختلف از Digital Equipment Corp، Forté Software، AmberPoint و اکنون Vantiq کار کرده است. مارک به مشتریان در بسیاری از بخش‌های عمودی کمک کرده است تا برنامه‌ها و سیستم‌های بسیار پیچیده و مقیاس‌پذیر را توسعه، طراحی، معمار کنند. مارک در حال حاضر به عنوان مدیر محصول پلتفرم و شتاب دهنده کار می کند و با مشتریان، مشاوران، شرکا و مهندسین برای درک و کمک به تعریف جهت محصول کار می کند.