Netezza geçişleri için tasarım ve performans

Bu makale, Netezza'dan Azure Synapse Analytics'e geçiş konusunda rehberlik sağlayan yedi bölümden oluşan serinin birinci bölümüdür. Bu makalenin odak noktası tasarım ve performansa yönelik en iyi yöntemlerdir.

Genel Bakış

IBM'in desteği sona erdiği için Netezza veri ambarı sistemlerinin birçok kullanıcısı modern bulut ortamları tarafından sağlanan yeniliklerden yararlanmak istiyor. Hizmet olarak altyapı (IaaS) ve hizmet olarak platform (PaaS) bulut ortamları, altyapı bakımı ve platform geliştirme gibi görevleri bulut sağlayıcısına devretmenizi sağlar.

İpucu

Bir veritabanından daha fazlası: Azure ortamı kapsamlı bir özellik ve araç kümesi içerir.

Netezza ve Azure Synapse Analytics, olağanüstü büyük veri hacimlerinde yüksek sorgu performansı elde etmek için yüksek düzeyde paralel işleme (MPP) teknikleri kullanan SQL veritabanları olsa da yaklaşımda bazı temel farklılıklar vardır:

  • Eski Netezza sistemleri genellikle şirket içinde yüklenir ve özel donanım kullanırken Azure Synapse bulut tabanlıdır ve Azure depolama ve işlem kaynaklarını kullanır.

  • Netezza yapılandırmasını yükseltmek, fazladan fiziksel donanım ve potansiyel olarak uzun veritabanı yeniden yapılandırması veya döküm ve yeniden yükleme içeren önemli bir görevdir. Depolama ve işlem kaynakları Azure ortamında ayrı olduğundan ve esnek ölçeklendirme özelliğine sahip olduğundan, bu kaynaklar bağımsız olarak yukarı veya aşağı doğru ölçeklendirilebilir.

  • Kaynak kullanımını ve maliyetini azaltmak için Azure Synapse duraklatabilir veya yeniden boyutlandırabilirsiniz.

Microsoft Azure, Azure Synapse ve destekleyici araçlar ve özellikler ekosistemi içeren küresel olarak kullanılabilir, yüksek oranda güvenli, ölçeklenebilir bir bulut ortamıdır. Sonraki diyagramda Azure Synapse ekosistemi özetlemektedir.

Destekleyici araçların ve özelliklerin Azure Synapse ekosistemini gösteren grafik.

Azure Synapse, sık kullanılan veriler için MPP ve birden çok otomatik önbelleğe alma düzeyi gibi teknikleri kullanarak en iyi tür ilişkisel veritabanı performansı sağlar. Bu tekniklerin sonuçlarını, GigaOm'un yakın zamanda çalıştırdığı ve Azure Synapse diğer popüler bulut veri ambarı teklifleriyle karşılaştırdığı gibi bağımsız karşılaştırmalarda görebilirsiniz. Azure Synapse ortamına geçiş yapan müşteriler aşağıdakiler gibi birçok avantajdan yararlanır:

  • Geliştirilmiş performans ve fiyat/performans.

  • Artan çeviklik ve değer verme süresi daha kısadır.

  • Daha hızlı sunucu dağıtımı ve uygulama geliştirme.

  • Esnek ölçeklenebilirlik: Yalnızca gerçek kullanım için ödeme yapın.

  • Geliştirilmiş güvenlik/uyumluluk.

  • Daha düşük depolama ve olağanüstü durum kurtarma maliyetleri.

  • Daha düşük genel TCO, daha iyi maliyet denetimi ve kolaylaştırılmış operasyonel harcamalar (OPEX).

Bu avantajları en üst düzeye çıkarmak için yeni veya mevcut verileri ve uygulamaları Azure Synapse platformuna geçirin. Birçok kuruluşta geçiş, mevcut veri ambarlarını Netezza gibi eski bir şirket içi platformdan Azure Synapse taşımayı içerir. Yüksek düzeyde, geçiş işlemi şu adımları içerir:

    Hazırlık 🡆

  • Geçirilecek kapsamı tanımlayın.

  • Geçiş için veri ve işlem envanteri oluşturma.

  • Veri modeli değişikliklerini tanımlama (varsa).

  • Kaynak veri ayıklama mekanizmasını tanımlama.

  • Kullanılacak uygun Azure ve üçüncü taraf araçlarını ve özelliklerini belirleyin.

  • Personeli yeni platformda erken eğitin.

  • Azure hedef platformunu ayarlayın.

    Geçiş 🡆

  • Küçük ve basit bir başlangıç.

  • Mümkün olduğunca otomatikleştirin.

  • Geçiş çabasını azaltmak için Azure'daki yerleşik araçlardan ve özelliklerden yararlanın.

  • Tablolar ve görünümler için meta verileri geçirme.

  • Korunacak geçmiş verilerini geçirme.

  • Saklı yordamları ve iş süreçlerini geçirme veya yeniden düzenleme.

  • ETL/ELT artımlı yük işlemlerini geçirme veya yeniden düzenleme.

    Geçiş sonrası

  • İşlemin tüm aşamalarını izleyin ve belgeleyin.

  • Gelecekteki geçişler için şablon oluşturmak için kazanılan deneyimi kullanın.

  • Gerekirse veri modelini yeniden tasarlama (yeni platform performansı ve ölçeklenebilirlik kullanarak).

  • Uygulamaları ve sorgu araçlarını test edin.

  • Sorgu performansını karşılaştırma ve iyileştirme.

Bu makalede veri ambarı mevcut Bir Netezza ortamından Azure Synapse geçirildiğinde performans iyileştirmeye yönelik genel bilgiler ve yönergeler sağlanmaktadır. Performans iyileştirmesinin amacı, şema geçişi sonrasında Azure Synapse'de aynı veya daha iyi veri ambarı performansını elde etmektir.

Tasarım konusunda dikkat edilmesi gerekenler

Geçiş kapsamı

Netezza ortamından geçiş yapmaya hazırlanırken aşağıdaki geçiş seçeneklerini göz önünde bulundurun.

İlk geçiş için iş yükünü seçin

Eski Netezza ortamları genellikle zaman içinde birden çok konu alanını ve karma iş yüklerini kapsayacak şekilde gelişmiştir. Geçiş projesinde nereden başlayacağınıza karar verirken şunları yapabileceğiniz bir alan seçin:

  • Yeni ortamın avantajlarını hızla sunarak Azure Synapse geçişin uygulanabilirliğini kanıtlayın.

  • Şirket içi teknik personelinizin diğer alanları geçirirken kullanacakları süreçler ve araçlarla ilgili deneyim kazanmalarına izin verin.

  • Kaynak Netezza ortamına ve zaten mevcut olan geçerli araçlara ve işlemlere özgü daha fazla geçiş için bir şablon oluşturun.

Netezza ortamından ilk geçiş için iyi bir aday, önceki öğeleri destekler ve:

  • Çevrimiçi işlem işleme (OLTP) iş yükü yerine BI/Analytics iş yükü uygular.

  • En az değişiklikle geçirilebilen yıldız veya kar tanesi şeması gibi bir veri modeline sahiptir.

İpucu

Geçirilmesi gereken nesnelerin envanterini oluşturun ve geçiş işlemini belgeleyin.

İlk geçişte geçirilen verilerin hacmi, Azure Synapse ortamının özelliklerini ve avantajlarını gösterecek kadar büyük olmalı, ancak değeri hızlı bir şekilde gösteremeyecek kadar büyük olmamalıdır. 1-10 terabayt aralığındaki bir boyut tipiktir.

İlk geçiş projenizde riski, çabayı ve geçiş süresini en aza indirerek Azure bulut ortamının avantajlarını hızla görebilirsiniz. Hem lift-and-shift hem de aşamalı geçiş yaklaşımları, ilk geçişin kapsamını yalnızca veri reyonlarıyla sınırlar ve ETL geçişi ve geçmiş veri geçişi gibi daha geniş geçiş yönlerini ele almaz. Ancak, geçirilen veri reyonu katmanı verilerle ve gerekli derleme işlemleriyle doldurulduktan sonra projenin sonraki aşamalarında bu yönleri ele alabilirsiniz.

Lift-and-shift geçişi ile Aşamalı yaklaşım karşılaştırması

Genel olarak, planlanan geçişin amacına ve kapsamına bakılmaksızın iki tür geçiş vardır: lift and shift as-as-and a phased approach that incorporates changes.

Lift and shift

Lift-and-shift geçişinde yıldız şeması gibi mevcut bir veri modeli yeni Azure Synapse platformuna değiştirilmeden geçirilir. Bu yaklaşım, Azure bulut ortamına geçmenin avantajlarını gerçekleştirmek için gereken çalışmayı azaltarak riski ve geçiş süresini en aza indirir. Lift-and-shift geçişi şu senaryolar için uygundur:

  • Geçiş için tek bir veri reyonu olan mevcut bir Netezza ortamınız var veya
  • Zaten iyi tasarlanmış bir yıldız veya kar tanesi şemasında bulunan verileri içeren mevcut bir Netezza ortamınız var veya
  • Modern bir bulut ortamına geçmek için zaman ve maliyet baskısı altındasınız.

İpucu

Sonraki aşamalar veri modelinde değişiklik uygulasa bile lift and shift iyi bir başlangıç noktasıdır.

Değişiklikleri içeren aşamalı yaklaşım

Eski bir veri ambarı uzun bir süre içinde geliştiyse, gerekli performans düzeylerini korumak için bunu yeniden tasarlamanız gerekebilir. Nesnelerin İnterneti (IoT) akışları gibi yeni verileri desteklemek için yeniden mühendislik de oluşturmanız gerekebilir. Yeniden mühendislik sürecinin bir parçası olarak, ölçeklenebilir bir bulut ortamının avantajlarından yararlanmak için Azure Synapse geçiş yapın. Geçiş, temel alınan veri modelinde bir inmon modelinden veri kasasına geçiş gibi bir değişiklik de içerebilir.

Microsoft, mevcut veri modelinizi olduğu gibi Azure'a taşımanızı ve yeniden mühendislik değişikliklerini uygulamak için Azure ortamının performansını ve esnekliğini kullanmanızı önerir. Bu şekilde, mevcut kaynak sistemi etkilemeden değişiklikleri yapmak için Azure'ın özelliklerini kullanabilirsiniz.

Meta veri temelli geçiş uygulamak için Azure Data Factory kullanma

Azure ortamının özelliklerini kullanarak geçiş işlemini otomatikleştirebilir ve düzenleyebilirsiniz. Bu yaklaşım mevcut Netezza ortamındaki performans isabetini en aza indirir ve zaten kapasiteye yakın çalışıyor olabilir.

Azure Data Factory, bulutta veri taşımayı ve veri dönüştürmeyi düzenleyen ve otomatik hale getiren 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 almak için veri odaklı 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.

Geçiş işlemini yönetmek için Data Factory olanaklarını kullanmayı planlıyorsanız, geçirilecek tüm veri tablolarını ve bunların konumunu listeleyen meta veriler oluşturun.

Netezza ile Azure Synapse arasındaki tasarım farklılıkları

Daha önce belirtildiği gibi Netezza ile Azure Synapse Analytics veritabanları arasındaki yaklaşımda bazı temel farklılıklar vardır ve bu farklar daha sonra ele alınmaktadır.

Birden çok veritabanı ile tek bir veritabanı ve şema karşılaştırması

Netezza ortamı genellikle birden çok ayrı veritabanı içerir. Örneğin, için ayrı veritabanları olabilir: veri alımı ve hazırlama tabloları, çekirdek ambar tabloları ve veri reyonları (bazen anlam katmanı olarak adlandırılır). ETL veya ELT işlem hattı işlemleri veritabanları arası birleşimler uygulayabilir ve verileri ayrı veritabanları arasında taşıyabilir.

Buna karşılık, Azure Synapse ortamı tek bir veritabanı içerir ve tabloları mantıksal olarak ayrı gruplara ayırmak için şemaları kullanır. Netezza ortamından geçirilen ayrı veritabanlarını taklit etmek için hedef Azure Synapse veritabanında bir dizi şema kullanmanızı öneririz. Netezza ortamı zaten şemaları kullanıyorsa, mevcut Netezza tablolarını ve görünümlerini yeni ortama taşırken yeni bir adlandırma kuralı kullanmanız gerekebilir. Örneğin, mevcut Netezza şemasını ve tablo adlarını yeni Azure Synapse tablo adıyla birleştirir ve özgün ayrı veritabanı adlarını korumak için yeni ortamda şema adlarını kullanabilirsiniz. Şema birleştirme adlandırmasında noktalar varsa Azure Synapse Spark'ta sorunlar olabilir. Mantıksal yapıları korumak için temel tabloların üzerinde SQL görünümlerini kullanabilirsiniz ancak bu yaklaşımın olası dezavantajları vardır:

  • Azure Synapse görünümler salt okunur olduğundan, verilerde yapılan güncelleştirmelerin temel alınan temel tablolarda gerçekleşmesi gerekir.

  • Zaten bir veya daha fazla görünüm katmanı olabilir ve iç içe görünümlerin sorunlarının giderilmesi zor olduğundan fazladan bir görünüm katmanı eklemek performansı ve desteklenebilirliği etkileyebilir.

İpucu

Birden çok veritabanını Azure Synapse içinde tek bir veritabanında birleştirin ve şema adlarını kullanarak tabloları mantıksal olarak ayırın.

Tabloda dikkat edilmesi gerekenler

Tabloları farklı ortamlar arasında geçirirken, genellikle yalnızca ham veriler ve bunu açıklayan meta veriler fiziksel olarak geçirildi. Kaynak sistemdeki dizinler gibi diğer veritabanı öğeleri, yeni ortamda gereksiz olabileceği veya farklı uygulanabileceği için genellikle geçirilmez.

Dizinler gibi kaynak ortamdaki performans iyileştirmeleri, yeni ortamda performans iyileştirmesini nereye ekleyebileceğinizi gösterir. Örneğin, kaynak Netezza ortamındaki sorgular bölge eşlemelerini sık sık kullanıyorsa, bu, Azure Synapse içinde kümelenmemiş bir dizin oluşturulması gerektiğini gösterir. Tablo çoğaltması gibi diğer yerel performans iyileştirme teknikleri, benzer düz dizin oluşturma işleminden daha uygulanabilir olabilir.

İpucu

Mevcut dizinler geçirilen ambarda dizin oluşturma adaylarını gösterir.

Desteklenmeyen Netezza veritabanı nesne türleri

Netezza'ya özgü özellikler genellikle Azure Synapse özelliklerle değiştirilebilir. Ancak bazı Netezza veritabanı nesneleri Azure Synapse'de doğrudan desteklenmez. Aşağıdaki desteklenmeyen Netezza veritabanı nesneleri listesi, Azure Synapse'de eşdeğer bir işlevselliği nasıl elde ettiğinizi açıklar.

  • Bölge haritaları: Netezza'da bölge haritaları aşağıdaki sütun türleri için otomatik olarak oluşturulur ve korunur ve sorgu zamanında taranacak veri miktarını kısıtlamak için kullanılır:

    • INTEGER 8 bayt veya daha kısa uzunlukta sütunlar.
    • , TIMEve TIMESTAMPgibi DATEzamana bağlı sütunlar.
    • CHAR sütunları gerçekleştirilmiş bir görünümün parçasıysa ve yan tümcesinde ORDER BY belirtilmişse.

    NZ Araç Seti'nin bir parçası olan yardımcı programını kullanarak hangi sütunların nz_zonemap bölge haritaları olduğunu öğrenebilirsiniz. Azure Synapse bölge eşlemeleri içermez, ancak diğer kullanıcı tanımlı dizin türlerini ve/veya bölümlemesi kullanarak benzer sonuçlar elde edebilirsiniz.

  • Kümelenmiş temel tablolar (CBT):Netezza'da CBT'ler genellikle milyarlarca kaydı olabilecek olgu tabloları için kullanılır. Bu kadar büyük bir tablonun taranması önemli işlem süresi gerektirir çünkü ilgili kayıtları almak için tam tablo taraması gerekebilir. Kayıtları kısıtlayıcı CBT'ler üzerinde düzenlemek Netezza'nın kayıtları aynı veya yakın kapsamlarda gruplandırmasına olanak tanır. Bu işlem ayrıca taranması gereken veri miktarını azaltarak performansı geliştiren bölge haritaları oluşturur.

    Azure Synapse'da, bölümleyerek ve/veya diğer dizinleri kullanarak benzer bir etki elde edebilirsiniz.

  • Gerçekleştirilmiş görünümler: Netezza gerçekleştirilmiş görünümleri destekler ve sorgularda düzenli olarak yalnızca birkaç sütun kullanılıyorsa, çok sayıda sütunu olan büyük tablolar için bir veya daha fazla gerçekleştirilmiş görünüm kullanılmasını önerir. Temel tablodaki veriler güncelleştirildiğinde, gerçekleştirilmiş görünümler sistem tarafından otomatik olarak yenilenir.

    Azure Synapse, Netezza ile aynı işlevlere sahip gerçekleştirilmiş görünümleri destekler.

Netezza veri türü eşlemesi

Çoğu Netezza veri türünün Azure Synapse'de doğrudan eşdeğeri vardır. Aşağıdaki tabloda Netezza veri türlerini Azure Synapse eşlemek için önerilen yaklaşım gösterilmektedir.

Netezza Veri Türü veri türünü Azure Synapse
BİGİNT BİGİNT
İKILI DEĞIŞKEN(n) VARBINARY(n)
BOOLEAN BİT
BYTEINT TİNYİNT
KARAKTER DEĞİşTİ(n) VARCHAR(n)
KARAKTER(n) CHAR(n)
DATE TARİh(tarih)
ONDALıK(p,s) ONDALıK(p,s)
ÇIFT DUYARLıK FLOAT
FLOAT(n) FLOAT(n)
TAMSAYI INT
ARALIĞI INTERVAL veri türleri şu anda Azure Synapse'de doğrudan desteklenmese de DATEDIFF gibi zamana bağlı işlevler kullanılarak hesaplanabilir.
PARA PARA
NATIONAL CHARACTER VARYING(n) NVARCHAR(n)
ULUSAL KARAKTER(n) NCHAR(n)
SAYıSAL(p,s) SAYıSAL(p,s)
GERÇEK SAYI GERÇEK SAYI
SMALLİNT SMALLİNT
ST_GEOMETRY(n) ST_GEOMETRY gibi uzamsal veri türleri şu anda Azure Synapse'de desteklenmemektedir, ancak veriler VARCHAR veya VARBINARY olarak depolanabilir.
TIME TIME
SAAT DILIMI ILE SAAT DATETİMEOFFSET
TIMESTAMP DATETİME

İpucu

Geçiş hazırlama aşamasında desteklenmeyen veri türlerinin sayısını ve türünü değerlendirin.

Üçü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. Netezza ortamında bir üçüncü taraf ETL aracı zaten kullanılıyorsa, gerekli veri dönüşümlerini uygulamak için bu aracı kullanın.

SQL DML söz dizimi farklılıkları

NETezza SQL ile Azure Synapse T-SQL arasında SQL DML söz dizimi farklılıkları vardır. Bu farklılıklar Netezza geçişleri için SQL sorunlarını en aza indirme bölümünde ayrıntılı olarak ele alınmaktadır.

  • STRPOS: Netezza'da STRPOS işlev, bir dize içindeki alt dizenin konumunu döndürür. Azure Synapse'deki eşdeğer işlev, CHARINDEX bağımsız değişkenlerin sırasının ters çevrilmesidir. Örneğin, SELECT STRPOS('abcdef','def')... Netezza'da Azure Synapse ile eşdeğerdirSELECT CHARINDEX('def','abcdef')....

  • AGE: Netezza işlecini AGE destekler ve zaman damgaları veya tarihler gibi iki zamana bağlı değer arasındaki aralığı verir. Örneğin: SELECT AGE('23-03-1956','01-01-2019') FROM.... Azure Synapse'da, aralığı almak için kullanınDATEDIFF, örneğin: SELECT DATEDIFF(day, '1956-03-26','2019-01-01') FROM.... Tarih gösterimi dizisine dikkat edin.

  • NOW(): Netezza, Azure Synapse temsil etmek için CURRENT_TIMESTAMP kullanırNOW().

İşlevler, saklı yordamlar ve diziler

Netezza 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. Yerleşik Azure araçlarını kullanmak genellikle Azure Synapse için bu öğeleri yeniden kodlamaktan daha verimli olduğundan, Azure ortamındaki araçların işlevlerin, saklı yordamların ve dizilerin 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ıza uygun kaynakları ayırın.

Veri tümleştirme iş ortakları işlevlerin, saklı yordamların ve dizilerin geçişini otomatikleştirebilen araçlar ve hizmetler sunar.

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 Netezza da sql uygulaması içinde sistem ve kullanıcı tanımlı işlevleri destekler. Eski bir veritabanı platformunu Azure Synapse geçirdiğinizde, genel sistem işlevleri genellikle değişiklik olmadan geçirilebilir. Bazı sistem işlevlerinin söz dizimi biraz farklı olabilir, ancak gerekli değişiklikler otomatikleştirilebilir.

Netezza sistem işlevleri veya Azure Synapse eşdeğeri olmayan rastgele kullanıcı tanımlı işlevler için, hedef ortam dilini kullanarak bu işlevleri yeniden kodlayın. Netezza kullanıcı tanımlı işlevler nzlua veya C++ dillerinde kodlanmıştır. Azure Synapse, kullanıcı tanımlı işlevleri uygulamak için Transact-SQL dilini kullanır.

Saklı yordamlar

Çoğu modern veritabanı ürünü, yordamların veritabanı içinde depolanmasını destekler. Netezza, bu amaçla Postgres PL/pgSQL'yi temel alan NZPLSQL 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 kullanan saklı yordamları desteklediği için geçirilen saklı yordamları bu dilde yeniden kodlamanız gerekir.

Diziler

Netezza'da sıra, kullanılarak CREATE SEQUENCEoluşturulan adlandırılmış bir veritabanı nesnesidir. Bir dizi, yöntemi aracılığıyla NEXT VALUE FOR benzersiz sayısal değerler sağlar. Oluşturulan benzersiz sayıları birincil anahtarlar için vekil anahtar değerleri olarak kullanabilirsiniz.

Azure Synapse uygulamazCREATE SEQUENCE, ancak identity sütunlarını veya bir serideki bir sonraki sıra numarasını oluşturan SQL kodunu kullanarak dizileri uygulayabilirsiniz.

Netezza ortamından meta verileri ve verileri ayıklama

Veri Tanımı Dili (DDL) oluşturma

ANSI SQL standardı, Veri Tanımlama Dili (DDL) komutlarının temel söz dizimini tanımlar. ve CREATE VIEWgibi CREATE TABLE bazı DDL komutları hem Netezza hem de Azure Synapse için ortaktır, ancak uygulamaya özgü özellikler sağlamak için genişletilmişlerdir.

Azure Synapse'de eşdeğer tanımlar elde etmek için mevcut Netezza CREATE TABLE ve CREATE VIEW betikleri düzenleyebilirsiniz. Bunu yapmak için değiştirilmiş veri türlerini kullanmanız ve gibi ORGANIZE ONNetezza'ya özgü yan tümceleri kaldırmanız veya değiştirmeniz gerekebilir.

Netezza ortamında sistem kataloğu tabloları geçerli tabloyu ve 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. gibi nz_ddl_tableyardımcı programları kullanarak, sistem kataloğu bilgilerine erişerek Azure Synapse'de eşdeğer tablolar oluşturan DDL deyimleri oluşturabilirsinizCREATE TABLE.

Benzer sonuçlar elde etmek için sistem kataloğu bilgilerini işleyen üçüncü taraf geçiş ve ETL araçlarını da kullanabilirsiniz.

Netezza'dan veri ayıklama

Nzsql ve nzunload gibi standart Netezza yardımcı programlarını kullanarak veya dış tablolar aracılığıyla Netezza tablolarındaki ham tablo verilerini CSV dosyaları gibi düz sınırlandırılmış dosyalara ayıklayabilirsiniz. Ardından gzip kullanarak düz sınırlandırılmış dosyaları sıkıştırabilir ve AzCopy veya Azure Data Box gibi Azure veri aktarım araçlarını kullanarak sıkıştırılmış dosyaları Azure Blob Depolama yükleyebilirsiniz.

Tablo verilerini mümkün olduğunca verimli bir şekilde ayıklayın. En hızlı ayıklama yöntemi olduğundan dış tablolar yaklaşımını kullanın. Veri ayıklama aktarım hızını en üst düzeye çıkarmak için paralel olarak birden çok ayıklama gerçekleştirin. Aşağıdaki SQL deyimi bir dış tablo ayıklaması gerçekleştirir:

CREATE EXTERNAL TABLE '/tmp/export_tab1.csv' USING (DELIM ',') AS SELECT * from <TABLENAME>;

Yeterli ağ bant genişliği varsa, şirket içi Netezza sisteminden verileri doğrudan Azure Synapse tablolarına veya Azure Blob Veri Depolama'ya ayıklayabilirsiniz. Bunu yapmak için Data Factory işlemlerini veya üçüncü taraf veri geçişlerini ya da ETL ürünlerini kullanın.

İpucu

En verimli veri ayıklama için Netezza dış tablolarını kullanın.

Ayıklanan veri dosyaları CSV, İyileştirilmiş Satır Sütunlu (ORC) veya Parquet biçiminde sınırlandırılmış metin içermelidir.

Netezza ortamından verileri ve ETL'yi geçirme hakkında daha fazla bilgi için bkz. Netezza geçişleri için veri geçişi, ETL ve yükleme.

Netezza geçişleri için performans önerileri

Performans iyileştirme hedefi, Azure Synapse geçiş sonrasında aynı veya daha iyi veri ambarı performansıdır.

Performans ayarlama yaklaşımı kavramlarındaki benzerlikler

Netezza veritabanları için birçok performans ayarlama kavramı, Azure Synapse veritabanları için geçerlidir. Örnek:

  • Birleştirilecek verileri aynı işleme düğümüne birlikte dağıtmak için veri dağıtımını kullanın.

  • Depolama alanından tasarruf etmek ve sorgu işlemeyi hızlandırmak için belirli bir sütun için en küçük veri türünü kullanın.

  • Birleştirme işlemini iyileştirmek ve veri dönüştürme ihtiyacını azaltmak için birleştirilecek sütunların aynı veri türüne sahip olduğundan emin olun.

  • İyileştiricinin en iyi yürütme planını oluşturmasına yardımcı olmak için istatistiklerin güncel olduğundan emin olun.

  • Kaynakların verimli bir şekilde kullanıldığından emin olmak için yerleşik veritabanı özelliklerini kullanarak performansı izleyin.

İpucu

Geçişin başlangıcındaki Azure Synapse ayarlama seçenekleriyle ilgili bilgi sahibiliğe öncelik verin.

Performans ayarlama yaklaşımındaki farklılıklar

Bu bölümde Netezza ile Azure Synapse arasındaki düşük düzeyli performans ayarlama uygulaması farkları vurgulanır.

Veri dağıtım seçenekleri

Performans için Azure Synapse çok düğümlü mimariyle tasarlanmıştır ve paralel işleme kullanır. Tablo performansını iyileştirmek için, Azure Synapse ve DISTRIBUTE ON Netezza'da CREATE TABLE kullanarak DISTRIBUTION deyimlerde bir veri dağıtım seçeneği tanımlayabilirsiniz.

Netezza'nın aksine, Azure Synapse küçük tablo çoğaltması aracılığıyla küçük bir tablo ile büyük bir tablo arasında yerel birleştirmeleri destekler. Örneğin, bir yıldız şeması modeli içinde küçük bir boyut tablosu ve büyük bir olgu tablosu düşünün. Azure Synapse, büyük tablo için herhangi bir birleştirme anahtarının değerinin eşleşen, yerel olarak kullanılabilir bir boyut satırına sahip olduğundan emin olmak için küçük boyut tablosunu tüm düğümler arasında çoğaltabilir. Boyut tablosu çoğaltmasının yükü, küçük bir boyut tablosu için nispeten düşüktür. Büyük boyut tabloları için karma dağıtım yaklaşımı daha uygundur. Veri dağıtım seçenekleri hakkında daha fazla bilgi için bkz . Çoğaltılmış tabloları kullanmaya yönelik tasarım kılavuzu ve Dağıtılmış tablolar tasarlama kılavuzu.

Veri dizini oluşturma

Azure Synapse, Netezza'da sistem tarafından yönetilen bölge haritalarına kıyasla farklı bir işlem ve kullanıma sahip olan, kullanıcı tanımlı birkaç dizin oluşturma seçeneğini destekler. Azure Synapse'daki farklı dizin oluşturma seçenekleri hakkında daha fazla bilgi için bkz. Ayrılmış SQL havuzu tablolarındaki dizinler.

Bir kaynak Netezza ortamındaki mevcut sistem tarafından yönetilen bölge eşlemeleri, Azure Synapse ortamında dizin oluşturmak için veri kullanımının ve aday sütunların yararlı bir göstergesini sağlar.

Veri bölümleme

Kurumsal veri ambarında olgu tabloları milyarlarca satır içerebilir. Bölümleme, işlenen veri miktarını azaltmak için bu tabloları ayrı bölümlere ayırarak bakım ve sorgu performansını iyileştirir. Azure Synapse deyimi, CREATE TABLE bir tablonun bölümleme belirtimini tanımlar.

Bölümleme için tablo başına yalnızca bir alan kullanabilirsiniz. Birçok sorgu tarih veya tarih aralığına göre filtrelendiğinden bu alan genellikle bir tarih alanıdır. Tabloyu yeni bir dağıtımla yeniden oluşturmak için (CTAS) deyimini kullanarak ilk yüklemeden CREATE TABLE AS sonra tablonun bölümlemesini değiştirmek mümkündür. Azure Synapse'de bölümleme hakkında ayrıntılı bilgi için bkz. Ayrılmış SQL havuzunda tabloları bölümleme.

Veri tablosu istatistikleri

ETL/ELT işleri için bir istatistik adımı oluşturarak veri tablolarındaki istatistiklerin güncel olduğundan emin olmanız gerekir.

Veri yükleme için PolyBase veya COPY INTO

PolyBase , paralel yükleme akışları kullanarak büyük miktarlardaki verilerin veri ambarlarına verimli bir şekilde yüklenmesini destekler. Daha fazla bilgi için bkz. PolyBase veri yükleme stratejisi.

COPY INTO ayrıca yüksek aktarım hızına göre veri alımını destekler ve:

  • Bir klasör ve alt klasörlerdeki tüm dosyalardan veri alma.

  • Aynı depolama hesabındaki birden çok konumdan veri alma. Virgülle ayrılmış yolları kullanarak birden çok konum belirtebilirsiniz.

  • Azure Data Lake Storage (ADLS) ve Azure Blob Depolama.

  • CSV, PARQUET ve ORC dosya biçimleri.

İş yükü yönetimi

Karma iş yüklerinin çalıştırılması, meşgul sistemlerde kaynak sorunlarına yol açabilir. Başarılı bir iş yükü yönetim şeması kaynakları etkili bir şekilde yönetir, yüksek verimli kaynak kullanımı sağlar ve yatırım getirisini (ROI) en üst düzeye çıkarır. İş yükü sınıflandırması, iş yükü önemi ve iş yükü yalıtımı, iş yükünün sistem kaynaklarını nasıl kullandığı üzerinde daha fazla denetim sağlar.

İş yükü yönetimi kılavuzunda iş yükünü analiz etme, iş yükünün önemini yönetme ve izleme teknikleri ve bir kaynak sınıfını iş yükü grubuna dönüştürme adımları açıklanmaktadır. geçerli kaynakların verimli bir şekilde kullanıldığından emin olmak için iş yükünü izlemek için DMV'lerdeki Azure portal ve T-SQL sorgularını kullanın.

Sonraki adımlar

Netezza geçişi için ETL ve yükleme hakkında bilgi edinmek için bu serinin sonraki makalesine bakın: Veri geçişi, ETL ve Netezza geçişleri için yükleme.