МОДЕЛЬ АДАПТИВНОЇ КВОРУМНОЇ РЕПЛІКАЦІЇ В СИСТЕМАХ ПОТОКОВОЇ ОБРОБКИ ДАНИХ
DOI:
https://doi.org/10.36074/grail-of-science.01.05.2026.079Keywords:
розподілені системи, кворумна реплікація, потокова обробка даних, відмовостійкість, адаптивні системиSummary
Досліджено проблему забезпечення ефективної обробки потокових даних у сучасних розподілених системах за умов зростання обсягів інформації та підвищених вимог до швидкодії, масштабованості й відмовостійкості. Розглянуто існуючі підходи до реплікації стану, зокрема повну реплікацію та кворумні механізми, та виявлено їхні обмеження, пов’язані із підвищеною затримкою, зростанням комунікаційних витрат і ризиком неузгодженості даних у динамічних середовищах. Запропоновано двошарову архітектуру обробки подій, що базується на розділенні функцій маршрутизації та обробки стану. Розроблено математичну модель кворумної реплікації, що дозволяє формалізувати залежності між параметрами системи, затримкою та доступністю. Запропоновано адаптивний механізм зміни коефіцієнта реплікації на основі аналізу поточного рівня відмов і навантаження, що забезпечує динамічне балансування між продуктивністю та надійністю. Установлено, що використання адаптивної кворумної реплікації дозволяє зменшити затримку обробки та підвищити доступність системи порівняно зі статичними підходами. Отримані результати підтверджують доцільність застосування запропонованого підходу у високонавантажених системах обробки даних у реальному часі.
Downloads
Downloads
References
Abadi, D. J. (2012). Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. Computer, 45(2), 37–42. https://doi.org/10.1109/MC.2012.33. DOI: https://doi.org/10.1109/MC.2012.33
Apache Software Foundation. (2023). Apache Kafka: A distributed streaming platform. https://kafka.apache.org/documentation/.
Carbone, P., Katsifodimos, A., Ewen, S., Markl, V., Haridi, S., & Tzoumas, K. (2015). Apache Flink: Stream and batch processing in a single engine. IEEE Data Engineering Bulletin, 38(4), 28–38.
Castro, M., & Liskov, B. (2002). Practical Byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems, 20(4), 398–461. https://doi.org/10.1145/571637.571640. DOI: https://doi.org/10.1145/571637.571640
Gifford, D. K. (1979). Weighted voting for replicated data. In Proceedings of the Seventh ACM Symposium on Operating Systems Principles (pp. 150–162). https://doi.org/10.1145/800215.806583. DOI: https://doi.org/10.1145/800215.806583
Gilbert, S., & Lynch, N. (2002). Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News, 33(2), 51–59. https://doi.org/10.1145/564585.564601. DOI: https://doi.org/10.1145/564585.564601
Kleppmann, M. (2017). Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. O’Reilly Media.
Lamport, L. (2001). Paxos made simple. ACM SIGACT News, 32(4), 51–58. https://doi.org/10.1145/568425.568433. DOI: https://doi.org/10.1145/568425.568433
Ongaro, D., & Ousterhout, J. (2014). In search of an understandable consensus algorithm. In Proceedings of the USENIX Annual Technical Conference (pp. 305–319). https://www.usenix.org/conference/atc14/technical-sessions/presentation/ongaro.
Redis Labs. (2023). Redis persistence. https://redis.io/docs/management/persistence/.