БАЛАНСУВАННЯ УЗГОДЖЕНОСТІ У РОЗПОДІЛЕНОМУ СХОВИЩІ ДАНИХ
DOI:
https://doi.org/10.26906/SUNZ.2020.2.095Ключові слова:
CAP-гарантії, балансування навантаження, розподілені бази даних, висока доступність, жорстка узгодженістьАнотація
Предметом цієї статті є CAP-гарантії розподілених баз даних, зокрема, доступність та узгодженість. Метою є спроектоване рішення, яке стане інструментом балансування узгодженості як одної з гарантій надійного розподіленого сховища для будь-яких бізнес потреб і яке дозволить не погіршити значення доступності. Такий алгоритм міг би бути інтегрований у інфраструктуру розподіленого сховища даних і повинен бути одною з перших програм на шляху до виконання SQL запиту і може використовувати різні модулі проміжного програмного забезпечення бази даних на вузлу. Для досягнення цього були розроблені і порівняні три альтернативних рішення для балансування консистентних вузлів, досліджена фактична можливість реалізації кожного з рішень. Методами розробки стали такі інструменти, як UML моделювання, комп’ютерна модель, що реалізує імітаційні моделі для всіх розроблених рішень, яка дозволила провести набір експериментів на досліджених імітаційних моделях і оцінити складність та можливу швидкодію, зробити висновки, вибравши один з найоптимальніших підходів для подальшої розробки та розширення. Як висновок, готове оптимальне спроектоване і оцінене рішення для балансування узгодженості, що і було метою статті. Воно може бути застосоване у якості одного з базових компонентів проміжного програмного забезпечення розподіленої бази даних на етапі проектування будь-якого програмного забезпечення таким чином, що можуть бути досягнені збалансовані гарантії для надійного сховища на ранньому етапі імплементації бізнес потребЗавантаження
Посилання
Banothu, N., Bhukya, S. and Sharma, K. (2016). Big-data: Acid versus base for database transactions. 2016 International Conference on Electrical, Electronics, and Optimization Techniques (ICEEOT), available at https://ieeexplore.ieee.org/document/7755401.
Gilbert, S. and Lynch, N. (2002). Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News, 33(2), p.51, available at https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf.
Brewer, E. (2012). CAP twelve years later: How the "rules" have changed. Computer, 45(2), pp.23-29, available at https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed/.
Calder, B., Simitci, H., Haridas, J., Uddaraju, C., Khatri, H., Edwards, A., Bedekar, V., Mainali, S., Abbasi, R., Agarwal, A., Haq, M., Wang, J., Haq, M., Bhardwaj, D., Dayanand, S., Adusumilli, A., McNett, M., Sankaran, S., Manivannan, K., Rigas, L., Ogus, A., Nilakantan, N., Skjolsvold, A., McKelvie, S., Xu, Y., Srivastav, S. and Wu, J. (2011). Windows Azure Storage: a highly available cloud storage service with strong consistency. Proc. of the Twenty-Third ACM Symposium on Operating Systems Principles - SOSP '11, available at http://web.eecs.umich.edu/~mozafari/winter2014/eecs684/papers/azure.pdf.
Burmester, M., Le, T. and Yasinsac, A. (2007). Adaptive gossip protocols: Managing security and redundancy in dense ad hoc networks. Ad Hoc Networks, 5(3), pp.313-323, available at http://www.cs.fsu.edu/~burmeste/adhocjourn.pdf.
Haas, Z., Halpern, J. and Li Li (2002). Gossip-based ad hoc routing. Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societiesm, 3, pp.1707-1716, available at https://ieeexplore.ieee.org/document/1019424.
Veerman, G., Breuk, R., 2012. Database Load Balancing , Mysql 5.5 Vs Postgresql 9. Amsterdam: Universiteit van Amsterdam, System & Network Engineering, https://www.os3.nl/_media/2011-2012/courses/lia/rory_breuk_gerrie_veerman_-_report.pdf.
Joshi, S., Ameta, S., & Lavania, G. (2019). Balanced Load in Distributed System with NoSQL Middleware. International Journal of Emerging Technologies and Innovative Research (www.jetir.org), 6(5), pp.133-137, available at https://pdfs.semanticscholar.org/f6fd/7e1c441040ae0a022cb19d930df1ef9bd07b.pdf.
Mhedhbi, M., 2017. Dynamic Configuration With The Haproxy Runtime API – Haproxy Technologies. [online] HAProxy Technologies, available at https://www.haproxy.com/blog/dynamic-configuration-haproxy-runtime-api.
Dynamic Configuration Of Upstreams With The NGINX Plus API - NGINX Documentation. n.d. NGINX Docs [online], available at https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api.
Zelle, J.M., Mooney, R.J. (1996). Learning to Parse Database Queries Using Inductive Logic Programming. AAAI/IAAI, 2, pp. 1050-1055, available at https://pdfs.semanticscholar.org/1c9d/f99cce1903d34c53025e86e72331bbfbe08f.pdf.
Chen, X., Fang, H., Lin, T., Vedantam, R., Gupta, S., Dollár, P., Zitnick, C.L. (2015). Microsoft COCO Captions: Data Collection and Evaluation Server. ArXiv, abs/1504.00325, available at https://arxiv.org/pdf/1504.00325.pdf.
2019, Optimize Cost And RU/S To Run Queries In Azure Cosmos DB – docs.microsoft.com [online], available at: https://docs.microsoft.com/en-us/azure/cosmos-db/optimize-cost-queries.
Patterson, R., Gibson, G., Ginting, E., Stodolsky, D. and Zelenka, J., 1995. Informed prefetching and caching. Proceedings of the fifteenth ACM symposium on Operating systems principles - SOSP '95, available at http://www.cs.columbia.edu/~nieh/teaching/e6118_s00/papers/p79-patterson.pdf.
Rukkas, K., Zholtkevych, G. (2015). Distributed Datastores: Towards Probabilistic Approach for Estimation of Dependability. 11th International Conference on ICT in Education, Research, and Industrial Applications, 1356, pp.523-534, available at https://pdfs.semanticscholar.org/5eb0/01632c6cd6da2e4ec92adbc288939de0f4f9.pdf.