Azure Synapse Analytics ソリューションと Oracle データ ウェアハウスの移行Azure Synapse Analytics solutions and migration for an Oracle data warehouse

Oracle データウェア ハウス スキーマは、いくつかの点で Azure Synapse Analytics とは異なります。An Oracle data warehouse schema is different from Azure Synapse Analytics in several ways. 相違点として、Azure Synapse でサポートされていないデータベース、データ型、およびさまざまな Oracle データベース オブジェクトの種類などがあります。The differences include databases, data types, and a range of Oracle database object types that aren't supported in Azure Synapse.

他のデータベース管理システムと同様に、Oracle データ ウェアハウスを Azure Synapse に移行すると、Oracle には複数の個別のデータベースが存在し、Azure Synapse には 1 つのデータベースしか存在しないことがわかります。Like other database management systems, when you migrate an Oracle data warehouse to Azure Synapse, you'll find that Oracle has multiple, separate databases and Azure Synapse has only one database. Oracle データ ウェアハウスのステージング データベース、運用データベース、データ マート データベースのテーブルとビューを Azure Synapse に移行するために、新しい名前付け規則 (Oracle スキーマとテーブル名の連結など) を使用することが必要な場合があります。You might need to use a new naming convention, such as concatenating Oracle schema and table names, to move tables and views in your Oracle data warehouse staging database, production database, and data mart databases to Azure Synapse.

Azure Synapse では、いくつかの Oracle データベース オブジェクトがサポートされていません。Several Oracle database objects aren't supported in Azure Synapse. Azure Synapse でサポートされていないデータベース オブジェクトとしては、Oracle ビットマップ インデックス、関数ベースのインデックス、ドメイン インデックス、Oracle のクラスター化テーブル、行レベルのトリガー、ユーザー定義のデータ型、PL/SQL ストアド プロシージャなどがあります。Database objects that aren't supported in Azure Synapse include Oracle bit-mapped indexes, function-based indexes, domain indexes, Oracle clustered tables, row-level triggers, user-defined data types, and PL/SQL stored procedures. これらのオブジェクトを特定するには、さまざまな Oracle システム カタログのテーブルとビューに対してクエリを実行します。You can identify these objects by querying various Oracle system catalog tables and views. 場合によっては、回避策を使用できます。In some cases, you can use workarounds. たとえば、Azure Synapse でパーティション分割または他のインデックスの種類を使用して、サポートされていない Oracle のインデックスの種類を回避することができます。For example, you can use partitioning or other index types in Azure Synapse to work around the unsupported index types in Oracle. Oracle のクラスター化されたテーブルではなく、具体化されたビューを使用できる場合があります。また、SQL Server Migration Assistant (SSMA) for Oracle などの移行ツールを使用して、少なくとも一部の PL/SQL を変換することができます。You might be able to use materialized views instead of Oracle clustered tables, and migration tools like SQL Server Migration Assistant (SSMA) for Oracle can translate at least some PL/SQL.

Oracle データ ウェアハウス スキーマを移行する場合は、列上のデータ型の違いも考慮する必要があります。When you migrate an Oracle data warehouse schema, you also must take into account data type differences on columns. Azure Synapse のデータ型にマッピングされないデータ型を持つ Oracle データ ウェアハウスおよびデータ マート スキーマ内の列を見つけるには、Oracle カタログに対してクエリを実行します。To find the columns in your Oracle data warehouse and data mart schemas that have data types that don't map to data types in Azure Synapse, query the Oracle catalog. これらのインスタンスのいくつかについては、回避策を使用できます。You can use workarounds for several of these instances.

ご利用のスキーマのパフォーマンスを移行後も維持または向上させるには、Oracle インデックス作成など、現在使用しているパフォーマンス メカニズムを検討してください。To maintain or improve performance of your schema after migration, consider performance mechanisms, like Oracle indexing, that you currently have in place. たとえば、Oracle クエリで頻繁に使用されるビットマップ インデックスは、Azure Synapse に移行されたスキーマ内で非クラスター化インデックスを作成することが有益であることを示している可能性があります。For example, bit-mapped indexes that Oracle queries frequently use might indicate that creating a nonclustered index in the migrated schema on Azure Synapse would be advantageous.

Azure Synapse でお勧めする方法には、データ分布を使用して、同じ処理ノードに結合するデータを同一場所に配置することが含まれます。A good practice in Azure Synapse includes using data distribution to colocate data to be joined onto the same processing node. Azure Synapse でお勧めするもう 1 つの方法は、結合する列のデータ型を確実に同じものとすることです。Another good practice in Azure Synapse is ensuring that data types of columns to be joined are identical. 同一の結合列を使用すれば、照合のためにデータを変換する必要性が少なくなるため、結合処理が最適化されます。Using identical joined columns optimizes join processing by reducing the need to transform data for matching. Azure Synapse では、多くの場合、すべての Oracle インデックスを移行する必要はありません。他の機能によってハイ パフォーマンスが実現されるからです。In Azure Synapse, often it isn't necessary to migrate every Oracle index because other features provide high performance. 代わりに、並列クエリ処理およびインメモリ データに加えて、I/O を削減する結果セット キャッシュおよびデータ分散オプションを利用できます。You can instead use parallel query processing, in-memory data, and result set caching and data distribution options that reduce I/O.

SSMA for Oracle は、Oracle データ ウェアハウスまたはデータ マートを Azure Synapse に移行するために役立ちます。SSMA for Oracle can help you migrate an Oracle data warehouse or data mart to Azure Synapse. SSMA は、既存の Oracle 環境からのテーブル、ビュー、データの移行のプロセスを自動化するように設計されています。SSMA is designed to automate the process of migrating tables, views, and data from an existing Oracle environment. 他の機能の中でも、SSMA ではターゲットの Azure Synapse テーブル用のインデックスの種類とデータ分散が推奨され、移行時にデータ型のマッピングが適用されます。Among other features, SSMA recommends index types and data distributions for target Azure Synapse tables, and it applies data type mappings during migration. SSMA は、非常に大量のデータに対して最も効率的な方法ではありませんが、小規模なテーブルには適しています。Although SSMA isn't the most efficient approach for very high volumes of data, it's useful for smaller tables.