Veritabanı 23c

Oracle Database 23c, yeni mikro hizmet, grafik, belge ve ilişkisel uygulamalar oluşturmak isteyen geliştiriciler için en eksiksiz ve basit birleşik veritabanını sunar.

Hızlı bir şekilde çalışmaya başlayabilmeniz için her hafta Oracle Database 23c'nin yeni bir özelliğini örneklerle paylaşacağız. Bu sayfayı kaydedin ve öne çıkan yeni özellikleri görmek için her hafta tekrar kontrol edin.

Öne çıkan özellikler

İyi tatiller!

2023'ü tamamlarken, Oracle Database 23c'deki yıl boyunca vurguladığımız yeni özelliklerin özetini burada bulabilirsiniz. Henüz en son Oracle Database sürümümüzü (özellikle geliştiriciyseniz) deneme şansınız olmamışsa buradaki veya oracle.com/database/free adresindeki farklı seçenekleri inceleyin.

Blok zinciri tabloları

Oracle Database 19c'nin piyasaya sürülmesinden bu yana mevcut olan blok zinciri ve değişmez tablolar, verilerin harici bilgisayar korsanları ve sahtekar veya güvenliği ihlal edilmiş içeriden kişiler tarafından kurcalanmasına veya silinmesine karşı korunmasına yardımcı olmak için kripto-güvenli yöntemler kullanır. Bu, güncellemeleri veya silmeleri (DBA'lar tarafından bile) önleyen yalnızca ekleme kısıtlamalarını, doğrulamayı etkinleştirmek için kriptografik karma zincirleri, büyük ölçekli geri dönüşleri tespit etmek için imzalı tablo özetlerini ve eklenen satırların özel anahtarlarını kullanarak son kullanıcı imzalamasını içerir. Oracle Database 23c, Oracle GoldenGate aracılığıyla mantıksal çoğaltma desteği ve Active Data Guard kullanarak yuvarlanan yükseltmeler, blok zinciri tablolarını içeren dağıtılmış işlemler için destek, süresi dolan satırlar için verimli bölüm tabanlı toplu bırakma ve eklemeler/işlemeler için performans optimizasyonları dahil olmak üzere birçok geliştirme sunar.

Bu sürüm ayrıca kriptografik karma zincirlemeyi etkilemeden sütun ekleme/çıkarma, filtrelenmiş satırlar için kullanıcıya özel zincirler ve tablo özetleri, temsilci imzalama özelliği ve veritabanı karşı-imzalama özelliklerini de sunmaktadır. Ayrıca, bir blok zinciri geçmiş tablosu kullanmak üzere tanımlanan Flashback arşivi aracılığıyla blok zinciri olmayan bir tablodaki geçmiş değişikliklerin denetlenmesini sağlayarak kripto-güvenli veri yönetimini normal tablolara genişletir.

Yerleşik denetim izi veya günlük kaydı kullanım durumları için harika olan bu özellikler, finansal defterler, ödeme geçmişi, düzenlenmiş uyumluluk takibi, yasal günlükler ve tahrifat veya silmelerin önemli yasal, itibar veya finansal sonuçlara yol açabileceği varlıkları temsil eden tüm veriler için kullanılabilir.



Boolean veri tipi

Oracle Database artık ISO SQL standardıyla uyumlu Boolean veri tipini destekliyor. Artık tablolarda Doğru ve Yanlış değerlerini saklayabilir ve SQL deyimlerinde Boolean ifadelerini kullanabilirsiniz. Boolean veri tipi, Evet ve Hayır değerlerinin depolanmasını standartlaştırır ve Oracle Database'e geçişi kolaylaştırır.



Veritabanı sürücüsü zaman uyumsuz programlama ve pipelining

Oracle Database 23c ile Pipelining özelliği, .NET, Java ve C/C++ uygulamalarının sunucudan yanıt beklemeden Veritabanına birden fazla istek göndermelerini sağlar. Oracle Database, bu istekleri tek seferde kuyruğa alır ve işler, istemci uygulama yazılımlarının isteklerin tamamlandığını bildirene kadar çalışmaya devam etmesine olanak tanır. Bu iyileştirmeler daha iyi bir son kullanıcı deneyimi, iyileştirilmiş veri odaklı uygulama yazılımı duyarlılığı, uçtan uca ölçeklenebilirlik, performans sıkışma noktalarından kaçınma ve sunucu ve istemci tarafında verimli kaynak kullanımı sağlar.

İstemci isteğinin hemen dönmesi için Oracle Database Pipelining, .NET, Java ve C/C++ sürücülerinde zaman uyumsuz veya reaktif bir API gerektirir. Bu mekanizmalar Oracle Database'e karşı Database Pipelining ile birlikte ya da Pipelining olmadan kullanılabilir.

Java için Oracle Database 23c, Java Database Connectivity (JDBC), Universal Connection Pool (UCP) ve Oracle R2DBC Driver'daki Reactive Extensions'ı sağlar. Ayrıca sürücüdeki Java sanal iş parçacıklarının (Project Loom) yanı sıra Reactor, RxJava, Akka Streams, Vert.x ve daha fazlası gibi Reactive Streams kütüphanelerini de destekler.



DB_DEVELOPER_ROLE

Oracle Database 23c, bir uygulama geliştiricisine Oracle Veritabanları üzerinde uygulama tasarlamak, uygulamak, hata ayıklamak ve dağıtmak için gerekli tüm ayrıcalıkları sağlayan yeni DB_DEVELOPER_ROLE rolünü içerir. Bu rolü kullanarak, yöneticiler artık uygulama geliştirme için hangi ayrıcalıkların gerekli olabileceğini tahmin etmek zorunda kalmazlar.





UPDATE ve DELETE İfadeleri için Doğrudan Birleştirmeler

Oracle Database artık FROM cümlesini kullanarak UPDATE ve DELETE ifadelerinde hedef tabloyu diğer tablolara eklemenize izin veriyor. Bu diğer tablolar değiştirilen satırları sınırlayabilir veya yeni değerlerin kaynağı olabilir. Doğrudan birleştirmeler, verileri değiştirmek ve silmek için SQL yazmayı kolaylaştırır.



Fast Ingest geliştirmeleri

Memoptimized Rowstore Fast Ingest'e bölümleme, sıkıştırılmış tablolar, doğrudan yazmalar kullanılarak hızlı yıkama ve doğrudan bellek içi sütun deposu nüfus desteği gibi geliştirmeler ekledik. Bu geliştirmeler, Fast Ingest özelliğinin hızlı veri alımının gerekli olduğu daha fazla duruma dahil edilmesini kolaylaştırır. Artık Oracle Database, hızlı veri alma özellikleri gerektiren uygulamalar için daha iyi destek sağlıyor. Veriler alınabilir ve ardından tümü aynı veritabanında işlenebilir. Bu, özel yükleme ortamlarına olan ihtiyacı azaltır ve böylece karmaşıklığı ve veri yedekliliğini azaltır.



Grafana gözlenebilirliği

Oracle, müşterilerin veritabanı ve uygulama ölçümlerini endüstri standardı Prometheus formatında kolayca dışa aktarmalarına ve Oracle Database’lerin ve uygulamalarının performansını izlemek için kolayca Grafana panoları oluşturmalarına olanak tanıyan yeni Observability Exporter for Oracle Database Exporter ile bulut yerel ve Kubernetes desteğini genişletmeye devam ediyor.



GROUP BY sütun diğer adı

Artık GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP ve GROUP BY GROUPING SETS cümlelerinde sütun diğer adını veya SELECT öğesi konumunu kullanabilirsiniz. Ayrıca HAVING yancümlesi sütun diğer adlarını destekler. Bu yeni Database 23c geliştirmeleri, GROUP BY ve HAVING yantümcelerini yazmayı kolaylaştırarak SQL sorgularını çok daha okunabilir ve sürdürülebilir hale getirirken daha iyi SQL kodu taşınabilirliği sağlar.



IF [NOT] EXISTS

Oracle Database'de DDL nesne oluşturma, değiştirme ve silme işlemleri artık IF EXISTS ve IF NOT EXISTS sözdizimi değiştiricilerini desteklemektedir. Bu sayede, belirli bir nesnenin var olması ya da olmaması durumunda bir hatanın ortaya çıkıp çıkmayacağını kontrol edebilir, böylece komut dosyalarında ve uygulamalarda hata işlemeyi basitleştirebilirsiniz.



INTERVAL veri türü birleştirmeleri

Oracle Database 23c, geliştiricilerin INTERVAL değerleri üzerinden toplamları ve ortalamaları hesaplamasını kolaylaştırır. Bu geliştirmeyle artık INTERVAL veri türlerini SUM ve AVG birleşik ve analitik işlevlerine iletebilirsiniz.



JavaScript depolanmış prosedürler

Çok dilli motor (MLE) modül çağrıları, geliştiricilerin SQL ve PL/SQL'den modüllerde depolanan JavaScript işlevlerini çağırmasına olanak tanır. PL/SQL'de yazılmış çağrı özellikleri JavaScript'i PL/SQL kod birimlerine bağlar. Bu özellik, geliştiricilerin PL/SQL işlevlerinin çağrıldığı her yerde JavaScript işlevlerini kullanmasını sağlar.



JSON ikili veri türü

JSON veri tipi, OSON adlı Oracle tarafından optimize edilmiş ikili JSON biçimidir. Veritabanında ve veritabanı istemcilerinde sürüm 21c ve sonraki sürümlerde daha hızlı sorgu ve DML performansı için tasarlanmıştır.



JSON Relational Duality görünümleri

Oracle Database 23c'de sunulan bir yenilik olan JSON Relational Duality, ilişkisel ve belge veri modellerini birleştirerek her iki dünyanın da en iyisini sunar. Geliştiriciler, tek bir doğruluk kaynağı ile ilişkisel veya JSON paradigmalarında uygulamalar oluşturabilir ve her iki modelin güçlü yönlerinden yararlanabilir. Veriler bir kez tutulur ancak her iki yaklaşımla da erişilebilir, yazılabilir ve değiştirilebilir. Geliştiriciler ACID uyumlu işlemlerden ve eşzamanlılık kontrollerinden faydalanır, bu da artık karmaşık nesne-ilişkisel eşleştirmeler veya veri tutarsızlığı sorunları arasında ödün vermek zorunda olmadıkları anlamına gelir.



JSON Şeması

Oracle Database, şema esnek verileri depolamak ve işlemek için JSON'u destekler. Oracle Database 23c ile Oracle Database, artık JSON verilerinin yapısını ve değerlerini doğrulamak için JSON Schema'yı destekliyor. SQL operatörü IS JSON, bir JSON Şemasını kabul edecek şekilde geliştirildi ve JSON'u doğrulamak ve tablolar, görünümler ve türler gibi veritabanı nesnelerini JSON Şeması belgeleri olarak tanımlamak için çeşitli PL/SQL işlevleri eklendi.

Varsayılan olarak JSON verileri şemasızdır ve esneklik sağlar. Ancak, JSON verilerinin belirli bir yapıya ve yazıma sahip olduğundan emin olmak isteyebilirsiniz; bu da endüstri standardı JSON Schema doğrulaması ile yapılabilir.

JSON Şemasına Katkı
Oracle, JSON belgelerine açıklama eklemenize ve bunları doğrulamanıza olanak tanıyan JSON tabanlı bildirimsel bir dili standartlaştırmaya yönelik açık kaynaklı bir çaba olan JSON Schema'ya aktif olarak katkıda bulunmaktadır. Şu anda Yorum Talebi (RFC) aşamasındadır.



Kafka API'leri

Oracle Database 23c, Apache Kafka uygulamaları için Oracle Database ile daha da geliştirilmiş uyumluluk sağlar. Bu yeni özellik, Kafka Java uygulamaları için Transactional Event Queues'a (TxEventQ) kolay geçiş sağlar. Kafka Java API'leri artık Oracle Database sunucusuna bağlanabilir ve TxEventQ'yu bir mesajlaşma platformu olarak kullanabilir.

Geliştiriciler, Kafka kullanan mevcut bir Java uygulamasını JDBC thin sürücüsünü kullanarak Oracle Database'e kolayca taşıyabilir. Oracle Database 23c istemci tarafı kütüphane özelliği ile Kafka uygulamaları artık bir Kafka kümesi yerine Oracle Database'e bağlanabilir ve TxEventQ'nun mesajlaşma platformunu şeffaf bir şekilde kullanabilir.



Kilitsiz sütun değeri rezervasyonları

Kilitsiz Rezervasyonlar, eşzamanlı işlemlerin yoğun şekilde güncellenen satırların güncellemelerinde engellenmeden devam etmesini sağlar. Kilitsiz Rezervasyonlar, satırları kilitlemek yerine satırlarda tutulur. Güncellemelerin başarılı olup olamayacağını doğrular ve güncellemeleri işlem uygulama zamanına kadar erteler. Kilitsiz Rezervasyonlar, kullanıcı deneyimini ve işlemlerdeki eşzamanlılığı iyileştirir.



MongoDB uyumlu API

Oracle Database API for MongoDB ile geliştiriciler, Oracle'ın çoklu model yeteneklerine ve kendi kendine çalışan veritabanına erişim sağlarken Oracle Veritabanına bağlı MongoDB araçlarını ve sürücülerini kullanmaya devam edebilir. Müşteriler MongoDB iş yüklerini Oracle Cloud Infrastructure (OCI) üzerinde çalıştırabilir. Genellikle, mevcut MongoDB uygulamalarında çok az değişiklik yapılması veya hiç değişiklik yapılmaması gerekir; sadece bağlantı dizesini değiştirmeniz yeterlidir.

MongoDB için Oracle Database API, standart Oracle REST Data Services'in bir parçasıdır. Oracle Autonomous Database'in bir parçası olarak önceden yapılandırılmış ve tamamen yönetilmektedir.



Operasyonel özellik grafikleri

Oracle Database, özellik grafiği veri yapıları ve grafik sorguları için yerel destek sunar. İşlemsel veriler, JSON, Spatial ve diğer veri türleriyle birlikte grafikler oluşturmak için esneklik arıyorsanız, güvendesiniz. Geliştiriciler artık mevcut SQL geliştirme araçlarını ve çerçevelerini kullanarak SQL ile kolayca grafik uygulamaları oluşturabilir.



Toplama türleri için PL/SQL JSON yapıcı desteği

PL/SQL JSON kurucusu, ilgili PL/SQL toplama türünün bir örneğini kabul edecek ve toplama türü verileriyle doldurulmuş bir JSON nesnesi veya dizi türü döndürecek şekilde geliştirilmiştir.

PL/SQL JSON_VALUE operatörü, dönen cümlesinin işlecin döndüreceği örneğin türünü tanımlayan bir tür adını kabul edebilmesi için geliştirilmiştir. Birleştirme veri türleri için JSON yapıcı desteği, PL/SQL uygulamaları ile JSON'u destekleyen diller arasında veri alışverişini kolaylaştırır.



RETURNING INTO yantümcesi

INSERT, UPDATE ve DELETE deyimleri için RETURNING INTO yantümcesi, ilgili deyimden etkilenen eski ve yeni değerleri bildirecek şekilde geliştirilmiştir. Bu, geliştiricilerin ifade yürütme öncesi ve sonrası değerleri elde etmek için bu DML türlerinin her biri için aynı mantığı kullanmasına olanak tanır. Eski ve yeni değerler yalnızca UPDATE deyimleri için geçerlidir. INSERT deyimleri eski değerleri raporlamaz ve DELETE deyimleri yeni değerleri raporlamaz.

SQL komutunun yürütülmesinin bir parçası olarak INSERT, UPDATE ve DELETE deyimlerinden etkilenen eski ve yeni değerleri elde etme yeteneği, geliştiricilere bu değerleri okumak için tek tip bir yaklaşım sunar ve veritabanının gerçekleştirmesi gereken iş miktarını azaltır.



Şema ayrıcalıkları

Oracle Database artık mevcut nesne, sistem ve yönetici ayrıcalıklarına ek olarak şema ayrıcalıklarını da desteklemektedir. Bu özellik, en az ayrıcalık ilkesini daha iyi uygulamak ve kimin neye erişimi olması gerektiğine dair tahminleri ortadan kaldırmak için veritabanı nesneleri için yetkilendirmeyi basitleştirerek güvenliği artırır.



FROM cümlesi olmadan SELECT

Artık FROM cümlesi olmadan yalnızca SELECT ifadesi sorguları çalıştırabilirsiniz. Bu yeni özellik, SQL kodunun taşınabilirliğini ve geliştiriciler için kullanım kolaylığını artırır.



SQL Makroları

Yaygın SQL ifadelerini ve deyimlerini diğer SQL deyimlerinde kullanılabilecek yeniden kullanılabilir, parametrelendirilmiş yapılara dönüştürmek için SQL makroları oluşturun. SQL makroları, tipik olarak SELECT listelerinin yanı sıra WHERE, GROUP BY ve HAVING cümlelerinde kullanılan skaler ifadeler olabilir. SQL makroları hesaplamaları ve iş mantığını kapsüllemek için de kullanılabilir veya genellikle FROM cümlesinde kullanılan tablo ifadeleri olabilir. PL/SQL yapılarıyla karşılaştırıldığında, SQL makroları performansı artırabilir. SQL makroları geliştirici verimliliğini artırır, işbirliğine dayalı geliştirmeyi basitleştirir ve kod kalitesini iyileştirir.



SQL Analiz Raporu

Bu hafta, geliştiricilerin daha iyi SQL ifadeleri yazmasına yardımcı olan kullanımı kolay bir özellik olan SQL Analiz Raporuna odaklanıyoruz. SQL Analiz Raporu, SQL deyimleriyle ilgili yaygın sorunları, özellikle de düşük SQL performansına yol açabilecek olanları raporlar. DBMS_XPLAN ve SQL Monitor'de mevcuttur.



SQL Firewall

Anomalileri tespit etmek ve SQL enjeksiyon saldırılarını önlemek için SQL Firewall'ı kullanın. SQL Firewall, IP adresi ve işletim sistemi kullanıcısı gibi oturum bağlamı bilgileri de dahil olmak üzere tüm SQL'i inceler. Veritabanı çekirdeğine gömülü olan SQL Firewall, yetkisiz SQL'leri günlüğe kaydeder ve (etkinleştirilmişse) engelleyerek atlatılamamasını sağlar. SQL Firewall, SQL ve onaylı oturum bağlamları için bir izin listesi uygulayarak birçok sıfır gün saldırısını önleyebilir ve kimlik bilgilerinin çalınması veya kötüye kullanılması riskini azaltabilir.



Tablo Değeri Yapılandırıcısı

Oracle Database SQL motoru artık birçok deyim tipi için bir VALUES yantümcesini destekliyor. Bu, mevcut tablolara güvenmeden yeni sözdizimini kullanarak bunları belirterek veri satırlarını anında gerçekleştirmenizi sağlar. Oracle Database 23c SELECT, INSERT ve MERGE deyimleri için VALUES yantümcesini destekler. Yeni VALUES yantümcesi, geliştiricilerin özel SQL komutları için daha az kod yazmasına olanak tanıyarak daha az çaba ile daha iyi okunabilirlik sağlar.



Kullanım Ek Açıklamaları

Ek açıklamalar, veritabanı nesneleri hakkında meta verileri saklamanızı ve almanızı sağlar. Bunlar, uygulamaların iş mantığını veya kullanıcı arayüzlerini özelleştirmek için kullanabileceği serbest biçimli metin alanlarıdır. Ek açıklamalar, isim-değer çiftleri veya sadece bir isimdir. Veritabanı nesnelerini tüm uygulamalarda aynı şekilde kullanmanıza yardımcı olarak geliştirmeyi basitleştirir ve veri kalitesini artırır.



Kullanım Etki Alanları

Kullanım Etki Alanları (bazen SQL etki alanları veya Uygulama Kullanım Etki Alanları olarak da adlandırılır), hafif tip değiştiriciler olarak hareket eden ve uygulamalar için amaçlanan veri kullanımını merkezi olarak belgeleyen üst düzey sözlük nesneleridir. Kullanım Etki Alanları, uygulama düzeyinde meta veri gerektirmeden veri kullanımını tanımlamak ve işlemleri bir dizi denetim kısıtlamasını, görüntüleme özelliklerini, sıralama kurallarını ve diğer kullanım özelliklerini kapsayacak şekilde standartlaştırmak için kullanılabilir.

Bir tablodaki bir veya daha fazla sütun için Kullanım Etki Alanları temel veri türünü değiştirmez ve bu nedenle uygulamaları bozmadan veya taşınabilirlik sorunları yaratmadan mevcut verilere de eklenebilir.