Bilgisayar Bilimleri ve Mühendisliği Dergisi, cilt.6, sa.2, ss.1-16, 2025 (Hakemli Dergi)
Veritabanı sistem performansında önemli bir faktör, hareketlerin eşzamanlı çalışmasıdır. Ancak, eşzamanlılık bazı anomalilere yol açtığı için, verim ve veri bütünlüğü arasında dengeyi sağlayarak doğru şekilde ayarlanması oldukça önemlidir. Yalıtım seviyeleri, özellikle bütünlüğü tehdit eden anomalileri yönetmek için tasarlanmış veritabanı tarafı ayarlarıdır. Bu makalede, tam doğruluğu sağlamak için kullanılan, yani serilenebilirliği sağlayan eşzamanlılık kontrol tekniklerine genel bir bakış sunuyoruz. Ayrıca, doğruluktan ödün vererek performansı artırmak için kullanılabilen daha zayıf yalıtım seviyelerinden bahsediyoruz. Birçok veritabanında varsayılan olarak uygulanmasına rağmen henüz SQL standardı olmayan Snapshot Isolation (SI)'nın önemini vurguluyoruz. Ayrıca, PostgreSQL'in Çok Sürüm Eşzamanlı Kontrol (MVCC) çerçevesi içindeki Serializable Snapshot Isolation (SSI)'yi analiz ediyoruz. SSI'nın önümüzdeki dönemlerde hem merkezi hem de dağıtık sistemlerde standart hale gelmesi bekleniyor. SI ve SSI'nin vaatlerini doğrulamak için, PostgreSQL veritabanında gerçekçi senaryolar ve sentetik veri kümeleriyle deneysel çalışmalar da paylaşıyoruz. Teori ve pratiği birleştiren makalemizin sektördeki veri tabanı yöneticileri için de önemli bir kaynak olabileceğini düşünüyoruz.
Concurrent execution is a pivotal factor in enhancing database system performance. However, as concurrency introduces certain anomalies, accurately tuning concurrent execution while considering the balance between throughput and data integrity becomes a crucial challenge. Isolation levels, specifically, act as database-side settings designed to manage anomalies that pose threats to integrity. In this article, we provide an overview of concurrency control techniques employed to achieve complete accuracy, namely, serializability. Additionally, we discuss weaker isolation levels to enhance performance at the expense of accuracy. We emphasize the importance of Snapshot Isolation (SI), a feature implemented by default in many databases, despite not yet being standardized within SQL. Furthermore, we analyze Serializable Snapshot Isolation (SSI) within PostgreSQL’s Multiversion Concurrency Control framework (MVCC). SSI is anticipated to become a standard in both centralized and distributed systems in the coming periods. To validate the promises of SI and SSI, we conduct experimental studies with realistic scenarios and synthetic datasets on the PostgreSQL database. We anticipate that this paper, combining theoretical insights with practical applications, will serve as a key reference for database administrators.