Special
» 2016年12月12日 07時00分 公開

足かけ6年の大移行プロジェクトを完遂した楽天の「Tech女子」に聞く:楽天市場を支える基幹データベースがOracle Exadataに移行──さらなる成長に向けてバッチ処理時間と運用管理コストを半減 (3/6)

[PR/@IT]
PR

「誰も触れない」と言われたデータベースの移行に着手 文字コード変換が関門に

 PoCの結果を受けてOracle Exadataの導入を正式決定した楽天は、2012年より移行作業を開始する。移行対象となったのは、最も規模が大きく楽天市場の中核データベースでもある「購買情報データベース」と「商品情報データベース」「商品カテゴリーデータベース」の他、楽天の大半のサービスで横断的に利用されるデータベースなどだ。

photo

 中でも最大のチャレンジとなったのが、購買情報データベースと商品情報データベース、商品カテゴリーデータベースの移行である。これらのデータベースに関しては、まず数TBと比較的規模の小さい商品情報データベースと商品カテゴリーデータベースのOracle Exadataへの移行作業が2012年3月にスタートする。同社としては初となる楽天市場の基幹データベース移行プロジェクトであり、なおかつEUCからUTF-8への文字コード変更も伴った作業は困難を極めた。

 「改変と拡張を繰り返してきた楽天市場のデータベースは当時、『他の製品には移行できないだろう』『誰も触れることはできないだろう』といわれるほど極めて複雑な構造でした。これを移行する中で最大の関門となったのは、EUCからUTF-8への文字コード変換です。

 各データベースには、楽天市場に出店する店舗様がそれぞれ独自の形式で商品情報を登録されます。マルチバイトの特殊文字が使われていたり、商品説明の長さが店舗様/商品によって大きく異なったりとさまざまです。そのようなデータベースの文字コードを変換するわけですから、しばしば文字化けや変換先文字コードの不一致が生じます。自作したデータ移行/変換ツールも問題解決のために改修を重ね、一字一句相違のないよう確認しながら慎重に作業を進めました」(横内氏)

 データ移行と文字コード変換が終わると、新データベースで問題が生じた際に旧データベースへ切り戻すための非同期連携ツールを自作して万が一に備え、2013年9月に両者の並行稼働を開始する。

 翌2013年10月、最大規模となる購買情報データベースのOracle Exadataへの移行がスタートする。既に商品情報データベースと商品カテゴリーデータベースで経験を積んだことから作業のハードルは下がったが、購買情報データベースはとりわけ規模が大きく、楽天市場の中核データベースでもあることから、移行は2段階で行われた。

 また、この移行プロジェクトではデータベース連携ツール「Oracle GoldenGate」を利用したことで、DBAらの作業負担はさらに軽減されたという。購買情報データベースは2016年1月に第1弾の移行が終了し、2016年5月に第2弾の移行が終了したことにより全データベースの移行が完了。Oracle Exadata上での本稼働が始まった。

Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2017年1月11日

人気記事ランキング

本日月間

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。