Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Oracle'dan Azure Synapse Analytics'e geçiş konusunda rehberlik sağlayan yedi bölümden oluşan serinin beşinci bölümüdür. Bu makalenin odak noktası, SQL sorunlarını en aza indirmek için en iyi yöntemlerdir.
Genel bakış
Oracle ortamlarının özellikleri
Oracle'ın 1979'da yayımlanan ilk veritabanı ürünü, bugünden çok daha düşük işlem oranlarına sahip, çevrimiçi işlem işleme (OLTP) uygulamaları için ticari bir SQL ilişkisel veritabanıydı. İlk sürümden bu yana Oracle ortamı çok daha karmaşık hale geldi ve çok sayıda özelliği kapsıyor. Bu özellikler istemci-sunucu mimarileri, dağıtılmış veritabanları, paralel işleme, veri analizi, yüksek kullanılabilirlik, veri ambarı, bellek içi veri teknikleri ve bulut tabanlı örnekler için destek içerir.
İpucu
Oracle, 2000'li yılların başında "veri ambarı gereci" kavramına öncülük etti.
Eski şirket içi Oracle ortamlarını korumanın ve yükseltmenin maliyeti ve karmaşıklığı nedeniyle, mevcut Oracle kullanıcılarının çoğu bulut ortamları tarafından sağlanan yeniliklerden yararlanmak istiyor. Bulut, IaaS ve PaaS gibi modern bulut ortamları, altyapı bakımı ve platform geliştirme gibi görevleri bulut sağlayıcısına devretmenizi sağlar.
Büyük veri hacimlerindeki karmaşık analitik SQL sorgularını destekleyen birçok veri ambarı Oracle teknolojilerini kullanır. Bu veri ambarları genellikle yıldız veya kar tanesi şemaları gibi boyutlu bir veri modeline sahiptir ve tek tek departmanlar için veri reyonlarını kullanır.
İpucu
Mevcut Oracle yüklemelerinin çoğu, boyutsal veri modeli kullanan veri ambarlarıdır.
Sql ve temel veri modeli kavramları aktarılabilir olduğundan, Oracle'daki SQL ve boyutlu veri modellerinin birleşimi Azure Synapse'e geçişi kolaylaştırır. Microsoft, riski, çabayı ve geçiş süresini azaltmak için mevcut veri modelinizi olduğu gibi Azure'a taşımanızı önerir. Geçiş planınız temel alınan veri modelinde inmon modelinden veri kasasına geçiş gibi bir değişiklik içerse de başlangıçta olduğu gibi bir geçiş gerçekleştirmek mantıklıdır. İlk geçiş sonrasında Azure bulut ortamında performans, esnek ölçeklenebilirlik, yerleşik özellikler ve maliyet avantajlarından yararlanmak için değişiklikler yapabilirsiniz.
SQL dili standartlaştırılmış olsa da, tek tek satıcılar bazen özel uzantılar uygular. Sonuç olarak, geçiş sırasında Azure Synapse'te geçici çözümler gerektiren SQL farklılıkları bulabilirsiniz.
Meta veri temelli geçiş uygulamak için Azure olanaklarını kullanma
Azure ortamının özelliklerini kullanarak geçiş işlemini otomatikleştirebilir ve düzenleyebilirsiniz. Bu yaklaşım, mevcut Oracle ortamındaki performans etkisini en aza indirir ve bu ortam kapasiteye yakın çalışıyor olabilir.
Azure Data Factory , veri taşımayı ve veri dönüştürmeyi düzenleyip otomatikleştirmek için bulutta veri odaklı iş akışları oluşturmayı destekleyen bulut tabanlı bir veri tümleştirme hizmetidir. Data Factory'yi kullanarak farklı veri depolarından veri alabilen veri temelli iş akışları (işlem hatları) oluşturabilir ve zamanlayabilirsiniz. Data Factory, Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics ve Azure Machine Learning gibi işlem hizmetlerini kullanarak verileri işleyebilir ve dönüştürebilir.
Azure ayrıca Oracle gibi ortamlardan geçiş planlamanıza ve gerçekleştirmenize yardımcı olacak Azure Veritabanı Geçiş Hizmeti içerir. Oracle için SQL Server Geçiş Yardımcısı (SSMA), bazı durumlarda işlevler ve yordam kodu da dahil olmak üzere Oracle veritabanlarının geçişini otomatikleştirebilir.
İpucu
Azure Data Factory özelliklerini kullanarak geçiş işlemini otomatikleştirin.
Geçiş işlemini yönetmek için Data Factory gibi Azure olanaklarını kullanmayı planlarken, önce geçirilmesi gereken tüm veri tablolarını ve konumlarını listeleyen meta veriler oluşturun.
Oracle ile Azure Synapse arasındaki SQL DDL farkları
ANSI SQL standardı, Veri Tanımı Dili (DDL) komutlarının temel söz dizimini tanımlar. ve CREATE TABLEgibi CREATE VIEW bazı DDL komutları hem Oracle hem de Azure Synapse için ortaktır, ancak dizin oluşturma, tablo dağıtımı ve bölümleme seçenekleri gibi uygulamaya özgü özellikler sağlamak için genişletilmiştir.
İpucu
SQL DDL komutları CREATE TABLE ve CREATE VIEW standart temel öğeleri vardır, ancak uygulamaya özgü seçenekleri tanımlamak için de kullanılır.
Aşağıdaki bölümlerde, Azure Synapse'e geçiş sırasında dikkate alınması gereken Oracle'a özgü seçenekler açıklanmaktadır.
Tablo/görünümle ilgili dikkat edilmesi gerekenler
Tabloları farklı ortamlar arasında geçirirken, genellikle yalnızca ham veriler ve bunları fiziksel olarak açıklayan meta veriler taşınır. Kaynak sistemdeki dizinler ve günlük dosyaları gibi diğer veritabanı öğeleri genellikle geçirilmez çünkü bunlar gereksiz olabilir veya yeni ortamda farklı şekilde uygulanabilir. Örneğin, Oracle'ın TEMPORARY söz dizimindeki CREATE TABLE seçeneği, Azure Synapse'te bir tablo adına # karakterini ön ek olarak eklemeye eşdeğerdir.
Dizinler gibi kaynak ortamdaki performans iyileştirmeleri, yeni hedef ortama nerede performans iyileştirmesi ekleyebileceğinizi gösterir. Örneğin, kaynak Oracle ortamındaki sorgularda bit eşlenmiş dizinler sık kullanılıyorsa, bu, Azure Synapse içinde kümelenmemiş bir dizin oluşturulması gerektiğini gösterir. Tablo çoğaltma gibi diğer yerel performans iyileştirme teknikleri, benzer dizin oluşturma işlemlerine göre daha uygulanabilir olabilir. Oracle için SSMA, tablo dağıtımı ve dizin oluşturma için geçiş önerileri sağlayabilir.
İpucu
Mevcut dizinler, taşınmış depodaki dizin oluşturma adaylarını gösterir.
SQL görünüm tanımları, genellikle bir veya daha fazla SELECT deyimle görünümü tanımlayan SQL Veri İşleme Dili (DML) deyimlerini içerir. İfadeleri geçirirken CREATE VIEW Oracle ile Azure Synapse arasındaki DML farklarını dikkate alın.
Desteklenmeyen Oracle veritabanı nesne türleri
Oracle'a özgü özellikler genellikle Azure Synapse özellikleriyle değiştirilebilir. Ancak bazı Oracle veritabanı nesneleri Azure Synapse'te doğrudan desteklenmez. Aşağıdaki desteklenmeyen Oracle veritabanı nesnelerinin listesi, Azure Synapse'te eşdeğer işlevlere nasıl ulaşabileceğinizi açıklar:
Dizin oluşturma seçenekleri: Oracle'da bit eşlemeli dizinler, işlev tabanlı dizinler ve etki alanı dizinleri gibi çeşitli dizin oluşturma seçeneklerinin Azure Synapse'te doğrudan eşdeğeri yoktur. Azure Synapse bu dizin türlerini desteklemese de, kullanıcı tanımlı dizin türlerini kullanarak ve/veya bölümleyerek disk G/Ç'sinde benzer bir azalma elde edebilirsiniz. Disk G/Ç'yi azaltmak sorgu performansını artırır.
ALL_INDEXES,DBA_INDEXES,USER_INDEXESveDBA_IND_COLgibi sistem kataloğu tabloları ve görünümlerini sorgulayarak hangi sütunların dizinlendiğini ve dizin türlerini öğrenebilirsiniz. Ya da izleme etkinleştirildiğindedba_index_usageveyav$object_usagegörünümlerini sorgulayabilirsiniz.Paralel sorgu işleme ve verilerin ve sonuçların bellek içi önbelleğe alınması gibi Azure Synapse özellikleri, veri ambarı uygulamalarının mükemmel performans hedeflerine ulaşması için daha az dizin gerektirebilir.
Kümelenmiş tablolar: Oracle tabloları, birlikte sık erişilen tablo satırlarının (ortak bir değer temelinde) fiziksel olarak birlikte depolanması için düzenlenebilir. Bu strateji, veriler geri alındığında disk Giriş/Çıkış işlemlerini azaltır. Oracle ayrıca tek tek tablolar için bir karma küme seçeneğine sahiptir. Bu seçenek küme anahtarına karma değer uygular ve aynı karma değere sahip satırları fiziksel olarak birlikte depolar.
Azure Synapse'te, bölümleyerek ve/veya diğer dizinleri kullanarak benzer bir sonuç elde edebilirsiniz.
Gerçekleştirilmiş görünümler: Oracle gerçekleştirilmiş görünümleri destekler ve sorgularda düzenli olarak yalnızca birkaç sütunun kullanıldığı çok sayıda sütunu olan büyük tablolar için bunlardan birini veya daha fazlasını önerir. Temel tablodaki veriler güncellendiğinde maddileştirilmiş görünümler sistem tarafından otomatik olarak yenilenir.
Microsoft, 2019'da Azure Synapse'in Oracle'dakiyle aynı işleve sahip gerçekleştirilmiş görünümleri desteklediğini duyurdu. Gerçekleştirilmiş görünümler artık Azure Synapse'te bir önizleme özelliğidir.
Veritabanı içi tetikleyiciler: Oracle'da tetikleyici, tetikleyici olayı gerçekleştiğinde otomatik olarak çalışacak şekilde yapılandırılabilir. Olayları tetikleme şu şekilde olabilir:
,
INSERTveyaUPDATEgibiDELETEbir DML deyimi çalışır. Müşteri tablosundaki bir deyimden önce tetiklenen birINSERTtetikleyici tanımladıysanız, müşteri tablosuna yeni bir satır eklenmeden önce tetikleyici bir kez tetiklenir.Bir DDL deyimi, örneğin
CREATEveyaALTER, çalışır. Bu tetikleyici olay genellikle denetim amacıyla şema değişikliklerini kaydetmek için kullanılır.Oracle veritabanını başlatma veya kapatma gibi bir sistem olayı.
Oturum açma veya oturum kapatma gibi bir kullanıcı olayı.
Azure Synapse, Oracle veritabanı tetikleyicilerini desteklemez. Bununla birlikte, Data Factory'yi kullanarak eşdeğer işlevler elde edebilirsiniz, ancak bunu yaptığınızda tetikleyicileri kullanan işlemleri yeniden düzenlemeniz gerekir.
Eş anlamlılar: Oracle, eş anlamlıların çeşitli veritabanı nesne türleri için alternatif adlar olarak tanımlanmasını destekler. Bu türler tablolar, görünümler, diziler, yordamlar, depolanan işlevler, paketler, gerçekleştirilmiş görünümler, Java sınıfı şema nesneleri, kullanıcı tanımlı nesneler veya diğer eş anlamlıları içerir.
Azure Synapse şu anda eş anlamlıları tanımlamayı desteklememektedir, ancak Oracle'daki bir eş anlamlı bir tablo veya görünüme başvuruyorsa Azure Synapse'te alternatif adla eşleşecek bir görünüm tanımlayabilirsiniz. Oracle'da eş anlamlı bir işleve veya saklı yordama başvuruyorsa, Azure Synapse'teki eş anlamlıyı hedefi çağıran başka bir işlev veya saklı yordamla değiştirebilirsiniz.
Kullanıcı tanımlı türler: Oracle, her biri kendi tanımına ve varsayılan değerlerine sahip bir dizi ayrı alan içerebilen kullanıcı tanımlı nesneleri destekler. Daha sonra bu nesnelere,
NUMBERveyaVARCHARgibi yerleşik veri türleriyle aynı şekilde bir tablo tanımı içinde başvurulabilir.Azure Synapse şu anda kullanıcı tanımlı türleri desteklemez. Geçirmeniz gereken veriler kullanıcı tanımlı veri türleri içeriyorsa, bunları geleneksel bir tablo tanımına "düzleştirin" veya veri dizileriyse, bunları ayrı bir tabloda normalleştirin.
SQL DDL oluşturma
Mevcut Oracle CREATE TABLE ve CREATE VIEW betiklerini düzenleyerek Azure Synapse'te eşdeğer tanımlar elde edebilirsiniz. Bunu yapmak için değiştirilmiş veri türlerini kullanmanız ve gibi TABLESPACEOracle'a özgü yan tümceleri kaldırmanız veya değiştirmeniz gerekebilir.
İpucu
Mevcut Oracle meta verilerini kullanarak CREATE TABLE ve CREATE VIEW DDL'nin Azure Synapse için oluşturulmasını otomatikleştirin.
Oracle ortamında sistem kataloğu tabloları geçerli tablo/görünüm tanımını belirtir. Kullanıcı tarafından korunan belgelerden farklı olarak, sistem kataloğu bilgileri her zaman eksiksizdir ve geçerli tablo tanımlarıyla eşitlenir. Oracle SQL Developer gibi yardımcı programları kullanarak sistem kataloğu bilgilerine erişebilirsiniz. Oracle SQL Developer, sonraki ekran görüntüsünde gösterildiği gibi Azure Synapse'teki eşdeğer tablolara uygulamak için düzenleyebileceğiniz DDL deyimleri oluşturabilir CREATE TABLE .
Oracle SQL Developer, kaldırmanız gereken Oracle'a özgü yan tümceleri içeren aşağıdaki CREATE TABLE deyimi çıkarır. Azure Synapse'te değiştirilen CREATE TABLE deyiminizi çalıştırmadan önce desteklenmeyen veri türlerini eşleyin.
Alternatif olarak, SQL sorgularını, SSMA'yı veya CREATE TABLE geçiş araçlarını kullanarak Oracle katalog tablolarındaki bilgilerden otomatik olarak deyimler oluşturabilirsiniz. Bu yaklaşım, birçok tablo için CREATE TABLE deyimlerini oluşturmanın en hızlı ve en tutarlı yoludur.
İpucu
Üçüncü taraf araçlar ve hizmetler veri eşleme görevlerini otomatikleştirebilir.
Üçüncü taraf satıcılar, veri türlerinin eşlemesi de dahil olmak üzere geçişi otomatikleştirmek için araçlar ve hizmetler sunar. Oracle ortamında bir üçüncü taraf ETL aracı zaten kullanılıyorsa, gerekli veri dönüştürmelerini uygulamak için bu aracı kullanın.
Oracle ile Azure Synapse arasındaki SQL DML farkları
ANSI SQL standardı, ve SELECTgibi INSERTUPDATEDELETEDML komutları için temel söz dizimini tanımlar. Oracle ve Azure Synapse'in her ikisi de DDL komutlarını desteklese de, bazı durumlarda aynı komutu farklı şekilde uygular.
İpucu
Standart SQL DML komutları SELECT, INSERTve UPDATE farklı veritabanı ortamlarında ek söz dizimi seçeneklerine sahip olabilir.
Aşağıdaki bölümlerde, Azure Synapse'e geçiş sırasında dikkate alınması gereken Oracle'a özgü DML komutları açıklanmaktadır.
SQL DML söz dizimi farklılıkları
Oracle SQL ile Azure Synapse T-SQL arasında bazı SQL DML söz dizimi farklılıkları vardır:
DUALtablosu: Oracle,DUALadında bir sistem tablosuna sahiptir vedummyadında tam olarak bir sütun ve değeriXolan bir kayıt ile oluşur. SistemDUALtablosu, bir sorgu söz dizimi nedeniyle tablo adı gerektirdiğinde kullanılır, ancak tablo içeriği gerekli değildir.DUALtablosunu kullanan bir Oracle sorgusu örneğiSELECT sysdate from dual;'dir. Azure Synapse eşdeğeridirSELECT GETDATE();. DML geçişini basitleştirmek için aşağıdaki DDL'yi kullanarak Azure Synapse'de eşdeğerDUALbir tablo oluşturabilirsiniz.CREATE TABLE DUAL ( DUMMY VARCHAR(1) ) GO INSERT INTO DUAL (DUMMY) VALUES ('X') GONULLdeğerler: Oracle'daki birNULLdeğer, uzunluğuCHARveyaVARCHARdize türüyle temsil edilen boş bir0dizedir. Azure Synapse'te ve diğer veritabanlarındaNULLbaşka bir anlama gelir. Verileri veya verileri işleyen ya da depolayan süreçleri aktarırken,NULLdeğerlerinin tutarlı bir şekilde ele alındığından emin olmak için dikkatli olun.Oracle dış birleştirme söz dizimi: Oracle'ın daha yeni sürümleri ANSI dış birleştirme söz dizimini desteklese de, eski Oracle sistemleri SQL deyiminde artı işareti (
+) kullanan dış birleşimler için özel bir söz dizimi kullanır. Eski bir Oracle ortamını taşıyorsanız, eski söz dizimi ile karşılaşabilirsiniz. Örneğin:SELECT d.deptno, e.job FROM dept d, emp e WHERE d.deptno = e.deptno (+) AND e.job (+) = 'CLERK' GROUP BY d.deptno, e.job;Eşdeğer ANSI standart söz dizimi:
SELECT d.deptno, e.job FROM dept d LEFT OUTER JOIN emp e ON d.deptno = e.deptno and e.job = 'CLERK' GROUP BY d.deptno, e.job ORDER BY d.deptno, e.job;DATEdata: Oracle'daDATEveri türü hem tarih hem de saati depolayabilir. Azure Synapse tarih ve saati ayrıDATE,TIMEveDATETIMEveri türlerinde depolar. OracleDATEsütunlarını geçirirken, bunların hem tarih hem de saat mi yoksa yalnızca bir tarih mi depolayıp depolamadığını denetleyin. Yalnızca bir tarih depolarlarsa sütunuDATEile eşleyin, aksi takdirdeDATETIMEile eşleyin.DATEaritmetik: Oracle, örneğinSELECT date '2018-12-31' - date '2018-1201' from dual;bir tarihi başka bir tarihten çıkarmayı destekler. Azure Synapse'te, tarihler çıkarmak içinDATEDIFF()işlevini, örnek olarakSELECT DATEDIFF(day, '2018-12-01', '2018-12-31');kullanabilirsiniz.Oracle, tarihlerden tamsayıları çıkarabilir, örneğin
SELECT hire_date, (hire_date-1) FROM employees;. Azure Synapse'te işlevini kullanarakDATEADD()tarihlerden tamsayı ekleyebilir veya çıkarabilirsiniz.Görünümler aracılığıyla güncelleştirmeler: Oracle'da, temel alınan tabloyu güncelleştirmek için bir görünümde ekleme, güncelleştirme ve silme işlemlerini çalıştırabilirsiniz. Azure Synapse'te bu işlemleri bir görünümde değil temel tabloda çalıştırırsınız. Oracle tablosu bir görünüm aracılığıyla güncelleştirildiyse ETL işlemede yeniden mühendislik işlemi gerçekleştirmeniz gerekebilir.
Yerleşik işlevler: Aşağıdaki tabloda bazı yerleşik işlevlerin söz dizimi ve kullanımındaki farklar gösterilmektedir.
| Oracle İşlevi | Açıklama | Synapse eşdeğeri |
|---|---|---|
| AYEKLE | Belirtilen sayıda ay ekle | DATEADD |
| CAST | Yerleşik bir veri türünü diğerine dönüştürme | CAST |
| KOD ÇÖZME | Koşulların listesini değerlendirme | CASE ifadesi |
| BOŞ_BLOB | Boş blob değeri oluşturma |
0x sabit (boş ikili dize) |
| BOŞ_CLOB | Boş bir CLOB veya NCLOB değeri oluşturma |
'' (boş dize) |
| INITCAP | Her sözcüğün ilk harfini büyük harfe çevirme | Kullanıcı tanımlı işlev |
| INSTR | Dizedeki alt dizenin konumunu bulma | CHARINDEX |
| SON_GÜN | Ayın son tarihini alma | EOMONTH |
| Uzunluk | Karakter cinsinden dize uzunluğunu alma | LEN |
| LPAD | Belirtilen uzunlukta sol tuş takımı dizesi | REPLICATE, LEFT ve RIGHT kullanan ifade |
| MOD | Bir sayının başka bir sayıya bölümünden kalanını bulma |
% operatör |
| AYLAR_ARASI | İki tarih arasındaki ay sayısını alma | DATEDIFF |
| NVL |
NULL ifadesiyle değiştir |
ISNULL |
| SUBSTR | Dizeden alt dize döndürme | Alt Dizi |
| TO_CHAR ile tarih saat dönüştürme | Datetime'ı dizeye dönüştürme | DÖNÜŞTÜRMEK |
| TO_DATE | Dizeyi tarih saatine dönüştürme | DÖNÜŞTÜRMEK |
| ÇEVİR | Tek karakterin birebir değiştirilmesi | REPLACE veya kullanıcı tanımlı fonksiyon kullanan ifadeler |
| TRIM | Baştaki veya sondaki karakterleri kırp | LTRIM ve RTRIM |
| Tarih ve saat için TRUNC fonksiyonu | Tarih saat kısaltma | CONVERT kullanan ifadeler |
| UNISTR | Unicode kodu işaretlerini karakterlere dönüştürme | NCHAR kullanan ifadeler |
İşlevler, saklı yordamlar ve diziler
Oracle gibi olgun bir ortamdan veri ambarı geçirirken, büyük olasılıkla basit tablolar ve görünümler dışındaki öğeleri geçirmeniz gerekir. İşlevler, saklı yordamlar ve diziler için, Yerleşik Azure araçlarını kullanmak Oracle işlevlerini yeniden kodlamaktan daha verimli olduğundan Azure ortamındaki araçların işlevlerini değiştirip değiştiremeyeceğini denetleyin.
Hazırlık aşamanızın bir parçası olarak geçirilmesi gereken nesnelerin envanterini oluşturun, bunları işlemek için bir yöntem tanımlayın ve geçiş planınızda uygun kaynakları ayırın.
Microsoft araçları, Oracle için SSMA ve Azure Veritabanı Geçiş Hizmetleri veya üçüncü taraf geçiş ürünleri ve hizmetleri gibi, işlevlerin, saklı yordamların ve dizilerin geçişini otomatikleştirebilir.
İpucu
Üçüncü taraf ürünler ve hizmetler, veri olmayan öğelerin geçişini otomatikleştirebilir.
Aşağıdaki bölümlerde işlevlerin, saklı yordamların ve dizilerin geçişi ele alınmaktadır.
İşlevler
Çoğu veritabanı ürününde olduğu gibi Oracle da bir SQL uygulamasında sistem ve kullanıcı tanımlı işlevleri destekler. Eski bir veritabanı platformunu Azure Synapse'e geçirirken, genellikle genel sistem işlevlerini değişiklik yapmadan geçirebilirsiniz. Bazı sistem işlevlerinin söz dizimi biraz farklı olabilir, ancak gerekli değişiklikleri otomatikleştirebilirsiniz.
Oracle sistem işlevleri veya Azure Synapse'te eşdeğeri olmayan rastgele kullanıcı tanımlı işlevler için, hedef ortam dilini kullanarak bu işlevleri yeniden kodlayın. Oracle kullanıcı tanımlı işlevler PL/SQL, Java veya C ile kodlanmıştır. Azure Synapse, kullanıcı tanımlı işlevleri uygulamak için Transact-SQL dilini kullanır.
Saklı prosedürler
Çoğu modern veritabanı ürünü, yordamların veritabanında depolanmasını destekler. Oracle bu amaçla PL/SQL dilini sağlar. Saklı yordam genellikle hem SQL deyimlerini hem de yordam mantığını içerir ve veri veya durum döndürür.
Azure Synapse, T-SQL kullanarak saklı yordamları destekler, bu nedenle geçirilen tüm saklı yordamları T-SQL'de yeniden kodlamanız gerekir.
Sıralamalar
Oracle'da sıra, kullanılarak CREATE SEQUENCEoluşturulan adlandırılmış bir veritabanı nesnesidir. Bir dizi, CURRVAL ve NEXTVAL yöntemleri aracılığıyla benzersiz sayısal değerler sağlar. Oluşturulan benzersiz sayıları birincil anahtarlar için vekil anahtar değerleri olarak kullanabilirsiniz. Azure Synapse CREATE SEQUENCE sağlayamaz, ancak IDENTITY sütunlarını veya dizilerde bir sonraki sıra numarasını üreten SQL kodunu kullanarak dizileri siz oluşturabilirsiniz.
Eski SQL'i doğrulamak için EXPLAIN kullanma
İpucu
Olası geçiş sorunlarını bulmak için mevcut sistem sorgu günlüklerinden gerçek sorguları kullanın.
Azure Synapse'de aynı tablo ve sütun adlarına sahip benzer bir geçirilen veri modeli varsayıldığında, Eski Oracle SQL'i Azure Synapse ile uyumluluk açısından test etmenin bir yolu şudur:
- Eski sistem sorgu geçmişi günlüklerinden bazı temsili SQL deyimlerini yakalayın.
- Bu sorguların önüne
EXPLAINifadesini ekleyin. -
EXPLAINifadeleri Azure Synapse'te çalıştırın.
Uyumsuz tüm SQL'ler bir hata oluşturur ve hata bilgileri geri kodlama görevinin ölçeğini belirlemek için kullanılabilir. Bu yaklaşım, Azure ortamına herhangi bir veri yüklemenizi gerektirmez, yalnızca ilgili tabloları ve görünümleri oluşturmanız gerekir.
Özet
Mevcut eski Oracle yüklemeleri genellikle Azure Synapse'e geçişi nispeten kolay hale getirecek şekilde uygulanır. Her iki ortam da büyük veri hacimlerindeki analitik sorgular için SQL kullanır ve genellikle bir tür boyutlu veri modeli kullanır. Bu faktörler Oracle yüklemelerini Azure Synapse'e geçiş için iyi bir aday yapar.
Özetlemek gerekirse, SQL kodunu Oracle'dan Azure Synapse'e geçirme görevini en aza indirmeye yönelik önerilerimiz şunlardır:
Mevcut veri modelinizi, üzerinde herhangi bir değişiklik yapmadan, olduğu gibi aktararak, veri kasası gibi farklı bir veri modeli planlansa bile riski, eforu ve geçiş süresini en aza indirin.
Oracle SQL uygulaması ile Azure Synapse uygulaması arasındaki farkları anlayın.
Ortamı değiştirmenin etkisini değerlendirmek için mevcut Oracle uygulamasındaki meta verileri ve sorgu günlüklerini kullanın. Farklılıkları azaltmak için bir yaklaşım planlayın.
Riski, çabayı ve geçiş süresini en aza indirmek için geçiş işlemini otomatikleştirin. Azure Veritabanı Geçiş Hizmeti ve SSMA gibi Microsoft araçlarını kullanabilirsiniz.
Geçişi kolaylaştırmak için uzman üçüncü taraf araçları ve hizmetlerini kullanmayı göz önünde bulundurun.
Sonraki adımlar
Microsoft ve üçüncü taraf araçları hakkında daha fazla bilgi edinmek için bu serinin sonraki makalesine bakın: Azure Synapse Analytics'e Oracle veri ambarı geçişi için araçlar.