Çevrimiçi işlem gerçekleştirme (OLTP)
Bilgisayar sistemleri kullanılarak işlem verilerinin yönetimi, çevrimiçi işlem işleme (OLTP) olarak adlandırılır. OLTP sistemleri, kuruluşun günlük çalışmasında gerçekleşen iş etkileşimlerini kaydeder ve çıkarımlar yapmak için bu verilerin sorgulanması desteklenir.
İşlem verileri
İşlem verileri, kuruluşun etkinlikleriyle ilgili etkileşimleri izleyen bilgilerdir. Bu etkileşimler genellikle müşterilerden alınan ödemeler, tedarikçilere yapılan ödemeler, stok aracılığıyla taşınan ürünler, alınan siparişler veya teslim edilen hizmetler gibi iş işlemleridir. İşlemlerin kendisini temsil eden işlem olayları genellikle bir zaman boyutu, bazı sayısal değerler ve diğer verilere başvurular içerir.
İşlemlerin genellikle atomik ve tutarlı olması gerekir. Bölünmezlik, bir işlemin tamamının her zaman tek bir çalışma birimi olarak başarılı veya başarısız olduğu ve hiçbir zaman yarım tamamlanmış durumda bırakılmayamayacağı anlamına gelir. Bir işlem tamamlanamıyorsa, veritabanı sistemi bu işlemin bir parçası olarak zaten yapılmış olan tüm adımları geri almalıdır. Geleneksel ilişkisel veritabanı yönetim sisteminde (RDBMS), bir işlem tamamlanamazsa bu geri alma işlemi otomatik olarak gerçekleşir. Tutarlılık, işlemlerin verileri her zaman geçerli bir durumda bıraktığı anlamına gelir. (Bunlar, bölünmezlik ve tutarlılığın çok resmi olmayan açıklamalarıdır. Bu özelliklerin ACID gibi daha resmi tanımları vardır.)
İşlem veritabanları, kötümser kilitleme gibi çeşitli kilitleme stratejilerini kullanan işlemler için güçlü tutarlılığı destekleyerek tüm verilerin kuruluş bağlamında, tüm kullanıcılar ve işlemler için güçlü bir şekilde tutarlı olmasını sağlayabilir.
İşlem verilerini kullanan en yaygın dağıtım mimarisi, 3 katmanlı mimarideki veri deposu katmanıdır. 3 katmanlı mimari genellikle sunu katmanından, iş mantığı katmanından ve veri deposu katmanından oluşur. İlgili dağıtım mimarisi, iş mantığını işleyen birden çok orta katmana sahip olabilecek N katmanlı mimaridir.
İşlem verilerinin tipik özellikleri
İşlemsel veriler genellikle aşağıdaki özelliklere sahiptir:
Gereksinim | Açıklama |
---|---|
Normalleştirme | Yüksek oranda normalleştirilmiş |
Şema | Yazmada şema, güçlü bir şekilde zorlanmış |
Tutarlılık | Güçlü tutarlılık, ACID garantileri |
Bütünlük | Yüksek bütünlük |
İşlemleri kullanır | Yes |
Kilitleme stratejisi | Kötümser veya iyimser |
Güncelleştirilebilir | Yes |
Eklenebilir | Yes |
İş Yükü | Ağır yazmalar, orta düzeyde okumalar |
Dizinleme | Birincil ve ikincil dizinler |
Datum boyutu | Küçük ve orta ölçekli |
Model | İlişkisel |
Veri şekli | Tablosal |
Sorgu esnekliği | Son derece esnek |
Ölçek | Küçük (MB) - Büyük (birkaç TB) |
Bu çözümün ne zaman kullanılacağı
İş işlemlerini verimli bir şekilde işlemeniz ve depolamanız ve bunları tutarlı bir şekilde istemci uygulamalarına hemen sunabilmeniz gerektiğinde OLTP'yi seçin. İşlemedeki somut gecikmeler işletmenin günlük işlemleri üzerinde olumsuz bir etkiye sahip olduğunda bu mimariyi kullanın.
OLTP sistemleri işlemleri verimli bir şekilde işlemek ve depolamak ve işlem verilerini sorgulamak için tasarlanmıştır. OlTP sistemi tarafından tek tek işlemleri verimli bir şekilde işleme ve depolama hedefi kısmen veri normalleştirmesi ile gerçekleştirilir; yani verileri daha az yedekli olan daha küçük parçalara ayırır. Bu, OLTP sisteminin çok sayıda işlemi bağımsız olarak işlemesine olanak sağladığından ve yedekli verilerin varlığında veri bütünlüğünü korumak için gereken ek işlemlerden kaçındığından verimliliği destekler.
Zorluklar
OLTP sistemi uygulamak ve kullanmak birkaç zorluk yaratabilir:
- OLTP sistemleri, iyi planlanmış SQL Server tabanlı bir çözüm gibi özel durumlar olsa da büyük miktarlardaki verilerin toplamını işlemek için her zaman iyi değildir. Milyonlarca işlem üzerinde toplu hesaplamaları kullanan verilere yönelik analizler, OLTP sistemi için çok yoğun kaynak kullanır. Bunlar yavaş yürütülebilir ve veritabanındaki diğer işlemleri engelleyerek yavaşlamalara neden olabilir.
- Yüksek oranda normalleştirilmiş veriler üzerinde analiz ve raporlama yapılırken sorguların çoğu birleştirmeleri kullanarak verileri normalden kaldırması gerektiğinden, sorgular karmaşık olma eğilimindedir. Ayrıca OLTP sistemlerindeki veritabanı nesneleri için adlandırma kuralları ters ve kısa olma eğilimindedir. Terse adlandırma kurallarıyla birlikte artan normalleştirme, DBA veya veri geliştirici yardımı olmadan OLTP sistemlerinin iş kullanıcılarının sorgulamasını zorlaştırır.
- İşlem geçmişini süresiz olarak depolamak ve herhangi bir tabloda çok fazla veri depolamak, depolanan işlem sayısına bağlı olarak sorgu performansının yavaşlanmasına neden olabilir. Yaygın çözüm, OLTP sisteminde ilgili bir zaman aralığı (geçerli mali yıl gibi) tutmak ve geçmiş verileri veri reyonu veya veri ambarı gibi diğer sistemlere boşaltmaktır.
Azure'da OLTP
App Service Web Apps'te barındırılan web siteleri, App Service'te çalıştırılan REST API'leri veya mobil veya masaüstü uygulamaları gibi uygulamalar, oltp sistemiyle genellikle rest API aracı aracılığıyla iletişim kurar.
Uygulamada çoğu iş yükü yalnızca OLTP değildir. Analitik bir bileşen de olma eğilimindedir. Buna ek olarak, raporların işletim sistemine karşı çalıştırılması gibi gerçek zamanlı raporlamaya yönelik artan bir talep vardır. Bu, karma işlemsel/analitik işleme (HTAP) (Karma İşlemsel ve Analitik İşleme) olarak da adlandırılır. Daha fazla bilgi için bkz . Çevrimiçi Analitik İşleme (OLAP).
Azure'da, aşağıdaki veri depolarının tümü OLTP için temel gereksinimleri ve işlem verilerinin yönetimini karşılayacaktır:
- Azure SQL Veritabanı
- Azure sanal makinesinde SQL Server
- MySQL için Azure Veritabanı
- PostgreSQL için Azure Veritabanı
Anahtar seçim ölçütleri
Seçenekleri daraltmak için şu soruları yanıtlayarak başlayın:
Kendi sunucularınızı yönetmek yerine yönetilen bir hizmet mi istiyorsunuz?
Çözümünüzün Microsoft SQL Server, MySQL veya PostgreSQL uyumluluğu için belirli bağımlılıkları var mı? Uygulamanız, veri deposuyla iletişim kurmak için desteklediği sürücülere veya hangi veritabanının kullanıldığına ilişkin varsayımlara göre seçebileceğiniz veri depolarını sınırlayabilir.
Yazma aktarım hızı gereksinimleriniz özellikle yüksek mi? Evet ise, bellek içi tablolar sağlayan bir seçenek belirleyin.
Çözümünüz çok kiracılı mı? Bu durumda, birden çok veritabanı örneğinin veritabanı başına sabit kaynaklar yerine esnek bir kaynak havuzundan alındığı kapasite havuzlarını destekleyen seçenekleri göz önünde bulundurun. Bu, kapasiteyi tüm veritabanı örnekleri arasında daha iyi dağıtmanıza yardımcı olabilir ve çözümünüzü daha uygun maliyetli hale getirebilir.
Verilerinizin birden çok bölgede düşük gecikme süresiyle okunabilir olması gerekiyor mu? Evet ise, okunabilir ikincil çoğaltmaları destekleyen bir seçenek belirleyin.
Veritabanınızın coğrafi grafik bölgelerinde yüksek oranda kullanılabilir olması gerekiyor mu? Evet ise, coğrafi çoğaltmayı destekleyen bir seçenek belirleyin. Ayrıca, birincil çoğaltmadan ikincil çoğaltmaya otomatik yük devretmeyi destekleyen seçenekleri de göz önünde bulundurun.
Veritabanınızın belirli güvenlik gereksinimleri var mı? Evet ise, satır düzeyi güvenlik, veri maskeleme ve saydam veri şifreleme gibi özellikler sağlayan seçenekleri inceleyin.
Yetenek matrisi
Aşağıdaki tablolarda, özelliklerdeki temel farklar özetlemektedir.
Genel özellikler
Özellik | Azure SQL Veritabanı | Azure sanal makinesindeki SQL Server | MySQL için Azure Veritabanı | PostgreSQL için Azure Veritabanı |
---|---|---|---|---|
Yönetilen Hizmettir | Yes | Hayı | Evet | Yes |
Platformda Çalışır | Yok | Windows, Linux, Docker | Yok | Yok |
Programlanabilirlik 1 | T-SQL, .NET, R | T-SQL, .NET, R, Python | SQL | SQL, PL/pgSQL, PL/JavaScript (v8) |
[1] Birçok programlama dilinin OLTP veri deposuna bağlanmasına ve bunları kullanmasına olanak tanıyan istemci sürücüsü desteği dahil değildir.
Ölçeklenebilirlik özellikleri
Özellik | Azure SQL Veritabanı | Azure sanal makinesindeki SQL Server | MySQL için Azure Veritabanı | PostgreSQL için Azure Veritabanı |
---|---|---|---|---|
Veritabanı örneği boyutu üst sınırı | 4 TB | 256 TB | 16 TB | 16 TB |
Kapasite havuzlarını destekler | Yes | Evet | Hayır | Hayır |
Kümelerin ölçeğini genişletmeyi destekler | Hayır | Evet | Hayır | Hayır |
Dinamik ölçeklenebilirlik (ölçeği artırma) | Yes | Hayı | Evet | Yes |
Analitik iş yükü özellikleri
Özellik | Azure SQL Veritabanı | Azure sanal makinesindeki SQL Server | MySQL için Azure Veritabanı | PostgreSQL için Azure Veritabanı |
---|---|---|---|---|
Zamana bağlı tablolar | Yes | Evet | Hayır | Hayır |
Bellek içi (bellek için iyileştirilmiş) tablolar | Yes | Evet | Hayır | Hayır |
Columnstore desteği | Yes | Evet | Hayır | Hayır |
Uyarlamalı sorgu işleme | Yes | Evet | Hayır | Hayır |
Kullanılabilirlik özellikleri
Özellik | Azure SQL Veritabanı | Azure sanal makinesindeki SQL Server | MySQL için Azure Veritabanı | PostgreSQL için Azure Veritabanı |
---|---|---|---|---|
Okunabilir ikincil öğeler | Yes | Evet | Evet | Yes |
Coğrafi çoğaltma | Yes | Evet | Evet | Yes |
İkincil yük devretme | Yes | Hayır | Hayır | Hayır |
Belirli bir noktaya geri yükleme | Yes | Evet | Evet | Yes |
Güvenlik özellikleri
Katkıda Bulunanlar
Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Asıl yazar:
- Zoiner Tejada | CEO ve Mimar
Sonraki adımlar
- Bellek için İyileştirilmiş Tablolara Giriş
- Bellek İçi OLTP'ye genel bakış ve kullanım senaryoları
- Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği bellek içi teknolojileri kullanarak performansı iyileştirme
- Bulut veritabanlarında dağıtılmış işlemler