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 mevcut kullanıcılarının çoğu 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 büyük olasılıkla 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'i gerektiği gibi duraklatabilir veya yeniden boyutlandırabilirsiniz.

Microsoft Azure, Azure Synapse'i ve destekleyici araç ve özellikler ekosistemini 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 ve özelliklerden oluşan 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ı, Azure Synapse'i diğer popüler bulut veri ambarı teklifleriyle karşılaştıran GigaOm'un son çalıştırması 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 avantaj görür:

  • Geliştirilmiş performans ve fiyat/performans.

  • Artan çeviklik ve değere daha kısa süre.

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

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

  • 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 bir veri ambarını Netezza gibi eski bir şirket içi platformdan Azure Synapse'e taşımayı içerir. Geçiş işlemi üst düzeyde şu adımları içerir:

    Hazırlık 🡆

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

  • Geçiş için veri ve işlemlerin envanterini oluşturun.

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

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

  • 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 olan her yerde otomatikleştirin.

  • Geçiş çalışmalarını azaltmak için Azure'ın yerleşik araç ve özelliklerinden yararlanın.

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

  • Korunacak geçmiş verileri 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 bir ş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, mevcut bir Netezza ortamından Azure Synapse'e veri ambarı 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'te aynı veya daha iyi veri ambarı performansına ulaşmaktır.

Tasarımla ilgili dikkat edilecek noktalar

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çme

Genellikle, eski Netezza ortamları 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'e 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 mevcut araçlara ve işlemlere özgü daha fazla geçiş için bir şablon oluşturun.

Netezza'dan ilk geçiş için iyi bir aday Çevre desteği önceki öğeler 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ıdır, 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 özellikleri ele alabilirsiniz.

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

Genel olarak, planlanan geçişin amacı ve kapsamı ne olursa olsun iki tür geçiş vardır: olduğu gibi lift and shift ve değişiklikleri içeren aşamalı bir yaklaşım.

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 bu senaryolar için uygundur:

  • Geçiş için tek bir veri reyonu içeren 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'e geçin. Geçiş, inmon modelinden veri kasasına taşıma gibi temel veri modelinde 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'yi 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 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.

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

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

Daha önce de 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ınıyor.

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

Netezza ortamı genellikle birden çok ayrı veritabanı içerir. Örneğin, veri alımı ve hazırlama tabloları, çekirdek ambar tabloları ve veri reyonları (bazen anlam katmanı olarak da adlandırılır) için ayrı veritabanları olabilir. 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'teki görünümler salt okunur olduğundan, verilerde yapılan tüm 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ı gidermek zor olduğundan ek görünüm katmanı eklemek performansı ve desteklenebilirliği etkileyebilir.

İpucu

Azure Synapse'de birden çok veritabanını tek bir veritabanında birleştirin ve tabloları mantıksal olarak ayırmak için şema adlarını kullanın.

Tabloyla ilgili 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ğinde. Kaynak sistemdeki dizinler gibi diğer veritabanı öğeleri, yeni ortamda gereksiz veya farklı şekilde uygulandığından 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ğaltma gibi diğer yerel performans iyileştirme teknikleri, benzer dizin oluşturma gibi düzlerden 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 özellikleriyle değiştirilebilir. Ancak bazı Netezza veritabanı nesneleri Azure Synapse'te doğrudan desteklenmez. Desteklenmeyen Netezza veritabanı nesnelerinin aşağıdaki listesinde, Azure Synapse'te eşdeğer bir işlevselliği nasıl elde edebilirsiniz açıklanmaktadır.

  • 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.
    • , ve TIMESTAMPgibi DATETIMEzamana 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 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ı olan olgu tabloları için kullanılır. Bu kadar büyük bir tablonun taranması için önemli işlem süresi gerekir çünkü ilgili kayıtları almak için tam tablo taraması gerekebilir. Kısıtlayıcı CBT'lerde kayıtların düzenlenmesi, Netezza'nın kayıtları aynı veya yakın kapsamlarda gruplandırmasını sağlar. Bu işlem ayrıca taranması gereken veri miktarını azaltarak performansı geliştiren bölge haritaları oluşturur.

    Azure Synapse'te, 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ütun içeren 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şleve 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'te doğrudan eşdeğeri vardır. Aşağıdaki tabloda Netezza veri türlerini Azure Synapse'e eşlemek için önerilen yaklaşım gösterilmektedir.

Netezza Veri Türü Azure Synapse Veri Türü
BIGINT BIGINT
BINARY VARYING(n) VARBINARY(n)
BOOLEAN BİT
BYTEINT TINYINT
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)
TAM SAYI INT
ARA INTERVAL veri türleri şu anda Azure Synapse'te 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 GERÇEK
SMALLINT SMALLINT
ST_GEOMETRY(n) ST_GEOMETRY gibi uzamsal veri türleri şu anda Azure Synapse'te desteklenmemektedir, ancak veriler VARCHAR veya VARBINARY olarak depolanabilir.
TIME TIME
SAAT DILIMINE SAHIP SAAT DATETIMEOFFSET
TIMESTAMP DATETIME

İpucu

Geçiş hazırlık 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üştürmelerini 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ınacaktır.

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

  • AGE: Netezza işlecini AGE , zaman damgaları veya tarihler gibi iki zamansal değer arasındaki aralığı vermek için destekler. Örneğin: SELECT AGE('23-03-1956','01-01-2019') FROM.... Azure Synapse'te aralığı almak için kullanın DATEDIFF , örneğin: SELECT DATEDIFF(day, '1956-03-26','2019-01-01') FROM.... Tarih gösterimi sırasını not edin.

  • NOW(): Netezza, Azure Synapse'de temsil CURRENT_TIMESTAMP etmek için 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, 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ızda 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'e 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.

Azure Synapse'te eşdeğeri olmayan Netezza sistem işlevleri veya rastgele kullanıcı tanımlı işlevler için bu işlevleri bir hedef ortam dili kullanarak 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ında depolanmasını destekler. Netezza, bu amaçla Postgres PL/pgSQL'i 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 kullanarak saklı yordamları destekler, bu nedenle geçirilen saklı yordamları bu dilde yeniden kodlamanız gerekir.

Sıralamalar

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 uygulamasını yapmazCREATE SEQUENCE, ancak bir seride sonraki sıra numarasını oluşturan IDENTITY sütunlarını veya 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ımı 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ştir.

Azure Synapse'te 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'te eşdeğer tablolar oluşturan DDL deyimleri oluşturabilirsiniz CREATE 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 veya 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'e 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. Örneğin:

  • 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 gereksinimini 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ında Azure Synapse'teki ayarlama seçenekleri hakkında bilgi sahibi olun.

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

Bu bölümde Netezza ile Azure Synapse arasındaki düşük düzey performans ayarlama uygulaması farklılıkları vurgulanmaktadı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, yıldız şema modeli içinde küçük bir boyut tablosu ve büyük bir olgu tablosu düşünün. Azure Synapse, büyük tablonun 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şleme ve kullanıma sahip olan birkaç kullanıcı tanımlı dizin oluşturma seçeneğini destekler. Azure Synapse'teki farklı dizin oluşturma seçenekleri hakkında daha fazla bilgi için bkz . Ayrılmış SQL havuzu tablolarındaki dizinler.

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ı 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'te 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 tarihe 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 bir tablonun bölümlemini değiştirmek mümkündür. Azure Synapse'te 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şlerine yönelik 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 bir veri ambarı için 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 sahip veri alımını destekler ve:

  • 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

Karışık iş yüklerinin çalıştırılması, meşgul sistemlerde kaynak zorluklarına neden olabilir. 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ü ö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ını 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.