amazon web services, inc. - netezza移行プロジェクトの現場 …...2019/09/24 ·...
TRANSCRIPT
Netezza移行プロジェクトの現場から
NECソリューションイノベータ株式会社
関東・甲信越支社 第一ソリューション事業部
荒井 祐一
Customer case study #4---Netezza移行プロジェクトの勘所 ~現場で起きたこと、すべてお伝えします~
2 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
1.Netezza移行プロジェクトの概要
トラン
【店舗システム】
【本部ホスト】
マスタ
トラン
トラン
【外部システム】
トラン
…
shell
shell shell
【取込み用AP】(シェル)
【ジョブ運用ツール】(JobCenter)
CSV
IN
CSV
CSV
IN
IN
マスタ:27 集約マート
・・・
トラン:17
・・・ ・・・
CSV
CSVファクト:52
ユニバース
【BIツール】(BusinessObjects)
連携元システム
Netezza
BI運用サーバ
ODBC接続
レポート
レポート
レポート
約130ユニバース
(1)移行前
テーブル数:約240(ワークテーブル含む)
3 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
1.Netezza移行プロジェクトの概要
トラン
【店舗システム】
【本部ホスト】
マスタ
トラン
トラン
【外部システム】
トラン
【ジョブ運用ツール】(JobCenter)
IN
IN
IN
ユニバース
【BIツール】(BusinessObjects)
連携元システム
BI運用サーバ
レポート
レポート
レポート
約130ユニバース
OUT
OUT
…
…
S3
CSVCSV
停止
CSVCSV
CSV
shell
shell shell
【取込み用AP】(シェル)
・・・・・・ ・・・停止EC2
shell shell shell
【取込み用AP】(シェル)
・・・・・・ ・・・ shell
CSV
CSV
マスタ:27 集約マート
トラン:17 ファクト:52
Netezza
ODBC接続停止
マスタ:27 集約マート
トラン:17 ファクト:52
Redshift
ODBC接続
CSV
CSV
CSV
(2)移行時
4 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
1.Netezza移行プロジェクトの概要
(3)本プロジェクトの分担および進め方
PJ遂行にあたり、セーブオン様とは以下の分担で進めました
事前準備 AWS環境構築 移行 並行稼動テスト AWS本稼動
作業開始前の準備をいたします
データ移行を行います(2016年4月以降のデータが対象)
AWS環境を構築いたします
IDAのジョブを停止しし、BO接続先をRedshiftに切り替えます
IDAとRedshiftを並行稼動し、処理結果が一致することを確認します
・NECテスト対象ユニバースの選定(3本)
・DirectConnect(専用線)の開通
・NEC作業用リモート接続PCの準備
・I移行データ取得時のジョブ時間変更
・お客様テスト用ユニバースの追加作成
・テスト用サンプルデータのご提供(5日分IF、マスタデータ)
・BO接続先切り替え後のBO動作確認
・現行ジョブの停止
・BOテストの実施(NEC実施以外)
・ジョブ変更(IFファイル複製 処理)
お客様タスク
・移行用ツール作成
・IDAからのデータの出力、Redshiftへのロード
・DBテスト(移行後のデータ確認)
・AWS環境構築(Redshift、EC2、S3)
・Redshift用ジョブの開発
・NECテスト対象ユニバース(3本)の作成
・BOテスト(NEC対象3本)
・BOの参照先の切替(IDA→Redshift)
・外部へのIFファイル送信元の切替
(IDA→Redshift)
・DBテスト(並行稼動後のデータ確認(2日分))
・BOテスト(NEC対象3本)
NECタスク
BOテスト
現行ジョブ修正
5 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
1.Netezza移行プロジェクトの概要
(4)開発・移行スケジュール
8月
28 4 11 18 25 2 9 16 23 30 6 13 20 27 4 11 18 25
10月 11月 12月
2017年
9月
データ
移行
並行稼
動テス
ト
AWS本稼動
AWS環境構築
現状
環境調査
方式検討 AP環境構築 移行前
機能テスト
★IDA停止
(12/11※仮)
★専用線利用開始
●8/30 キックオフ ●10/5 ステアリングコミッティ●11/2 ステアリングコミッティ
・PJ期間は約3か月半・NEC要員は、PJマネージャも含め5名で実施しました
(PJマネージャ:1名 DB担当:2名 ジョブ・シェル担当:1名 移行:1名)
6 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
2.作業のポイント
★どこで苦労したのか…
【ポイント1】Redshiftのサイジング、どうする?
【ポイント2】Netezza→RedshiftのDB移行、どうする?
【ポイント3】I/Fデータの連携およびロード、どうする?
【ポイント4】BIツールの連携、レスポンス、どうする?
7 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
2.作業のポイント
【ポイント1】RedShiftのサイジング、どうする?
・Redshiftのサイジングは「ストレージ」のサイズに左右される。
・ノードをいくつにするか、判断できない。問い合わせをしても「それは事例にもよるので指標が無い」と言われる。
Neteezaでもデータ格納する際、圧縮を掛けるので、Netezzaの現状格納データ容量も参考にならない。
dc2.largeで主要FACTテーブルを評価し、データ圧縮率を確認
出来るだけ、大容量のFACTテーブルデータを使用した圧縮率確認が必要。データベースの移行(型変換等)は大まか問題ない為、
POCでは①BI接続 ②サイジングの評価が重要と考える
8 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
2.作業のポイント
【ポイント2】Netezza→RedshiftのDB移行、どうする?
・SQL方言による差異は少ない。・データベースを作るだけなら、大きな問題はない。
①データ型の変更
マルチバイトの文字を扱うためにはVARCHAR型にする必要があります。Netezzaで「NCHAR型」の項目は、すべて「NVARCHAR型(VARCHAR型)」に変更されます。
№ Netezza1 CHAR
2 NCAHR
3 VARCHAR
4 NVARCHAR
RedShiftCHAR
CHAR
VARCHAR
VARCHAR
※自動変換
※自動変換
※マルチバイト文字取扱可能
※マルチバイト文字取扱可能
Netezzaでは、データ型が存在したが、RedShiftでは対応するデータ型が存在しない為近似値のデータ型に変更する必要があります。
№ Netezza1 byteint
RedShiftsmallint ※-128~127の値を格納
投映のみ
9 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
2.作業のポイント
【ポイント2】Netezza→RedshiftのDB移行、どうする?
②桁数Netezzaは、NVARCHAR型の文字数指定でしたが、RedShiftでは、NVARCHAR型のバイト指定(1文字4バイト)になります。
№ Netezza1 NCAHR(5)
2 NVARCHAR(10)
RedShiftNCAHR(20)
NVARCHAR(40)
③グループNetezzaでは、ユーザーが所属するグループ単位に、DBリソース(CPU等)を制御・コントロールできましたが、RedShiftでは、上記の考え方が無い為、実装されません。
投映のみ
10 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
2.作業のポイント
【ポイント3】I/Fデータの連携およびロード、どうする?
ここが一番のポイント
データベース移行という作業でDB構築にフォーカスしがちですが現状のデータロードシェルおよびジョブ見直しに時間を割くべきと考えます
・データベース構築のDDLよりデータロードのシェルの本数が多い。
・Redshiftの売りである「gz圧縮のまま、ロード可能」を活かすためにはロードシェルの全面改修が必要。
・Netezzaにはあった「コード変換(nzconvert)」が使えないため、コード変換も考慮が必要。
11 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
2.作業のポイント
【ポイント4】BIツールの連携、レスポンス、どうする?
・BIツールについてはバージョンの確認・Redshiftドライバが無い場合は、Postgreドライバでも評価する価値はあり
・Redshiftの検索レスポンスは評判通り
一回目 二回目 三回目 一回目 二回目 三回目
02:22:53 02:18:55 02:24:17 00:39:01 00:34:48 00:35:30
01:18:99 01:15:00 01:15:42 00:08:00 00:08:16 00:07:61
01:13:90 01:15:47 01:16:31 00:08:00 00:08:16 00:07:61
週別販売レポート 上記の週別レポート(1週分) 00:03:85 00:03:53 00:03:66 00:19:91 00:16:34 00:16:53
発注分析(日別) 00:09:17 00:07:02 00:07:11 00:11:51 00:10:80 00:09:87
納品分析(日別) 04:18:95 04:12:45 04:13:60 00:35:37 00:35:37 00:35:85
時間帯売上分析 05:02:68 04:50:02 04:49:26 01:08:16 01:07:88 01:07:39
客層分析 00:08:39 00:06:85 00:06:24 00:07:00 00:08:00 00:08:00
Netezza(分秒) Redshift(6ノード)(分秒)
日別商品別店別の分析販売実績レポート
※一部遅いクエリーもあるが概ねNetezza並みがそれより早い
12 © NEC Solution Innovators, Ltd. 2019 NEC Solution Innovators Internal Use Only
3.移行作業を終えて
・Netezza移行については、保守期間満了で検討されるケースが多い。(レスポンス等の不満はあまりないと思われる)
この為、BIツールやジョブツールも老朽化している場合もありデータベースはRedshift化出来ても、BIツールやミドルウェアが古いバージョンでAWS上に作ることが難しい。(BIツール、ミドルのバージョン確認)
・APやミドルウェアが古いためにRedshift(AWSとしても)がサポートがされていないケースもあるので注意が必要と感じました。
(AWSのサポート有無の確認)
・その一方でAWSの特徴として、すぐに環境構築ができるので、サポートが受けられないものの実機で検証する事も出来るというメリットもあるかと思います。(POCの必要性)