Veritabanı Tasarımının Yazılım Performansına Etkisi: Normalizasyona karşı Denormalizasyon

Erdinç UZUN, Halil Nusret BULUŞ, Cihat ERDOĞAN
1.187 371

Öz


Yazılım performansını etkileyen en önemli faktörlerden biri veritabanı tasarımında yapılabilecek iyileştirmelerdir. Veritabanı tasarımında sıklıkla ilişkisel veritabanı teorisi olan normalizasyon işlemi kullanılır. Fakat veri miktarı arttıkça normalizasyon işleminden kaynaklı performans sorunları ortaya çıkmaya başlar. Performans sorunlarını ortadan kaldırmak için teorisi oluşmamış denormalizasyon işlemi kullanılır. Bu çalışmada, bir anket uygulamasında performans arttırıcı bir veritabanı tasarımı tanıtılmış ve bu veritabanı tasarımının MySQL, PostgreSQL ve Oracle olmak üzere üç farklı ilişkisel veritabanı yönetim sistemindeki performans artışı incelenmiştir. Ayrıca, günümüzün popüler veritabanı sistemlerinden NoSQL’e ne zaman geçilmesi gerektiği CAP teoremi üzerinden anlatılıp, normalizasyon ve denormalizasyon işlemlerinin bu teoremdeki yeri belirtilmiş olacaktır.

Anahtar kelimeler


Veritabanı tasarımı; Normalizasyon; Denormalizasyon; Yazılım Performansı; İndeksleme; CAP Teoremi

Tam metin:

PDF


DOI: http://dx.doi.org/10.19113/sdufbed.02548

Referanslar


[1] Codd, E. F. 1970. A Relational Model of Data for Large Shared Data Banks. Communications of the ACM 13 (6): 377–387.

[2] Chen, P. 1976. The Entity-Relationship Model - Toward a Unified View of Data. ACM Transactions on Database Systems 1 (1): 9–36.

[3] Codd, E.F. 1971. Further Normalization of the Data Base Relational Model. IBM Research Report RJ909.

[4] Harrington, Jan L. 2009. Relational Database Design and Implementation: Clearly Explained. Elsevier-Morgan Kaufmann, Chapter 6, pp. 105-126.

[5] Powell, G. 2006. Chapter 8: Building Fast-Performing Database Models. Beginning Database Design ISBN 978-0-7645-7490-0, Wrox Publishing.

[6] Mailvaganam, H. 2007. Introduction to OLAP - Slice, Dice and Drill!. Data Warehousing Review - DWreview.com. (Erişim Tarihi: 08.05.2017)

[7] Finkelstein, S., Schkolnick, M. ve Tiberio, P. 1988. Physical Database Design For Relational Databases. ACM Transactions on Database Systems, vol. 13, no. 1, pp. 91-128.

[8] Cerpa, N. 1995. Pre-physical data base design heuristics. Information Management, vol. 28, no. 6, pp. 351-359.

[9] Hanus, M. 1994. To normalize or denormalize, that is the question. Proceedings of 19th International Conference for the Management and Performance Evaluation of Enterprise Computing Systems, San Diego, CA, 1994, pp. 416– 423.

[10] Rodgers, U. 1989. Denormalization: why, what, and how?. Database Programming & Design, (12) 46–53.

[11] Coleman, G. 1989. Normalizing not only way. Computerworld, (12) 63– 64.

[12] Nizam, A. "Veritabanı Tasarımı İlişkisel Veri Modeli ve Uygulamaları". Bölüm 9: Denormalizasyon, Papatya Yayıncılık, 159 – 178.

[13] NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable. http://nosql-database.org (Erişim Tarihi: 08.05.2017)

[14] Leavitt, N. 2010. Will NoSQL Databases Live Up to Their Promise?. IEEE Computer, 43 (2), 12-14.

[15] Eric A. B. 2000. Towards robust distributed systems. In Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing (PODC '00). ACM, New York, NY, USA.

[16] Seth, G. ve Nancy, L. 2002. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News, 33 (2), 51–59.

[17] Lee, C.-H. ve Zheng, Y.L. 2015. SQL-to-NoSQL Schema Denormalization and Migration: A Study on Content Management Systems". IEEE International Conference on SMC, pp. 2022 – 2026.

[18] Ho, L.-Y., Hsieh, M.-J., Wu, J.-J. ve Liu, P. 2015. Data Partition Optimization for Column-Family NoSQL databases. IEEE International Conference on Smart City/SocialCom/SustainCom together with DataCom 2015, pp. 668-675.

[19] Ordonez, C., Maabout, S., Matusevich, D. S. ve Cabrera, W. 2014. Extending ER models to capture database transformations to build data sets for data mining. in Data and Knowledge Engineering, 89, 38-54.




Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.

e-ISSN: 1308-6529