Tüm Ürünler
Search
Belge Merkezi

Data Management:Overview

Son Güncelleme:Oct 04, 2026

Data Management (DMS) içindeki kilit gerektirmeyen veri değiştirme dili (DML), tabloları kilitlemeden veya veritabanı performansını düşürmeden büyük veri kümeleri üzerinde UPDATE, DELETE ve INSERT...SELECT deyimlerini çalıştırmanıza olanak tanır. DMS motoru hedef veriyi otomatik olarak toplu işlere böler ve deyimi toplu iş bazında yürütür; her toplu iş arasında birincil-ikincil çoğaltmayı korumak ve veritabanı yükünü azaltmak için kısa süreli duraklamalar uygular.

Arka Plan

İş verileriniz büyüdükçe, genellikle geçmiş verileri temizlemeniz veya bir tablonun büyük bölümlerini güncellemeniz gerekir. İki yaygın yaklaşım da önemli riskler taşır:

  • Veriyi ayırmak için komut dosyası yazma: Silme veya güncelleme işlemlerini sayfalara ayırmak için LIMIT yan tümcesini kullanmak sık yapılan bir hatadır. Bir dizin taraması olmadan kullanılan LIMIT tüm tablo taramasına zorladığından tablo yine de kilitlenebilir. Bölümleme doğru şekilde uygulanmış olsa bile, yanlış ayarlanmış bir toplu iş aralığı birincil ve ikincil veritabanları arasında ciddi çoğaltma gecikmesine neden olabilir.

  • Manuel DBA çıkarma: Büyük veri kümelerini manuel olarak bölmek zaman alıcıdır, hata yapmaya açıktır ve işlem başladıktan sonra ayarlanması zordur.

Yukarıdaki risklerin ötesinde, büyük tablolar üzerinde doğrudan işlem yapılırken iki ek başarısızlık durumu ortaya çıkabilir:

  • Çok sayıda satırı etkileyen tek bir SQL deyimi, günlük girdisi sayısının üst sınırı aşmasına neden olabilir ve bu durum deyimin tamamen başarısız olmasına yol açar.

  • Belirtilen dizinler kullanılmadan yürütülen bir SQL deyimi tablo kilitlemeye, veritabanı yükünün artmasına ve ciddi durumlarda iş kesintilerine neden olabilir.

Kilit gerektirmeyen DML, DMS içinde toplu iş bölmeyi ve hız sınırlamayı otomatikleştirerek her iki riski de ortadan kaldırır.

Nasıl Çalışır?

Kilit gerektirmeyen DML, tek bir SQL deyimini üç aşamada işler:

  1. Veri bölme — DMS motoru deyimi analiz eder ve eşleşen satırları dizin aralıklarına göre birden fazla toplu işe böler; böylece tüm tablo taramasından kaçınılır.

  2. Toplu iş yürütme — DMS deyimi seferde bir toplu iş üzerinde çalıştırır ve her toplu iş sırasında yalnızca kısa ömürlü satır düzeyinde kilitler tutar.

  3. Arabellek aralığı — Her toplu iş tamamlandıktan sonra DMS, sonraki toplu işi başlatmadan önce kısa bir süre bekler. Bu aralık, ikincil veritabanının çoğaltmaya yetişmesini sağlar ve birincil-ikincil gecikmesini kabul edilebilir sınırlar içinde tutar.

Faydalar

  • Büyük veri değiştirme işlemleri sırasında işiniz etkilenmez.

  • Veritabanı performansı ve veritabanı depolaması üzerindeki etki azalır.

  • Büyük miktarda veri değişikliği durumunda bile yürütme verimliliği sağlanır.

Desteklenen Veritabanları

Veritabanı motoru Desteklenen örnekler
MySQL ApsaraDB RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, PolarDB for Xscale, üçüncü taraf MySQL veritabanları
PostgreSQL ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, MyBase for PostgreSQL, üçüncü taraf PostgreSQL veritabanları
MariaDB ApsaraDB for MariaDB, üçüncü taraf MariaDB veritabanları
OceanBase MySQL modunda ApsaraDB for OceanBase
Oracle uyumlu PolarDB for PostgreSQL (Oracle ile Uyumlu)

Sınırlamalar

Yalnızca UPDATE, DELETE ve INSERT...SELECT deyimleri desteklenir.

UPDATE ve DELETE

Kısıtlama Ayrıntılar
Tablo kapsamı Yalnızca tek tablo
WHERE yan tümcesi Zorunludur. Tüm satırları güncellemek veya silmek için WHERE 1=1 kullanın
Alt sorgular Desteklenmez
LIMIT yan tümcesi Desteklenmez — manuel sayfalama için LIMIT kullanmak tüm tablo taramasına zorlar; bu da özelliğin önlemeyi amaçladığı tablo kilitlemeye neden olur

INSERT...SELECT

Kısıtlama Ayrıntılar
SELECT kapsamı Yalnızca tek tablo
WHERE yan tümcesi SELECT yan tümcesinde zorunludur. Tüm satırları seçmek için WHERE 1=1 kullanın
İzin verilmeyen yan tümceler SELECT yan tümcesinde LIMIT, ORDER BY ve GROUP BY desteklenmez

Kullanım Senaryoları

  • Geçmiş verileri temizleme — Üretim tablosundaki okuma veya yazma işlemlerini engellemeden artık ihtiyaç duyulmayan satırları silin.

  • Tüm satırları güncelleme — Çoğaltma gecikmesine veya hizmet kesintisine neden olmadan bir sütun güncellemesini tüm tabloya uygulayın.

Sonraki Adımlar