Co Solutions inc. logo 株式会社コーソル Entry

コーソルの仕事について

コーソルは、データベース(DB)や仮想化といった高度な専門技術を軸として
「共に解決する(CO-Solutions)」という企業理念のもと、チーム一丸となってお客様に喜んでいただけるサービスを提供しています。

データベース(DB)とは

データベース(DB)とは、情報(データ)を整理整頓し、管理・活用しやすくするソフトウェアのことです。
例えば、インターネットの検索エンジンで調べたいキーワードを入力すると、そのキーワードに関連する情報だけが抽出され、表示されるのは、DBが膨大な量の情報を管理しているからです。このように、情報を必要としている人が、必要なときに必要な情報にアクセスできる仕組みをIT社会で実現させているのがDBです。

Oracleとは

商業用DBソフトウェア「Oracle Database」の略称です。Oracle(オラクル)は、世界の法人向けソフトウェア市場で、圧倒的なシェアを誇っており、その機能の多さや安定性などから、法人向けDBのデファクトスタンダード(業界標準)となっています。
コーソルはDBの中でも、特にそのOracleに強みを持ち、サービス提供を行っています。

仮想化ソフトウェアとは

仮想化とは、CPUやメモリ、ネットワーク等のコンピューター資源を物理的な構成によらず統合や分割する技術です。仮想化技術はIT業界において主流となっており、必要な時に必要な分だけ利用できる仮想サーバの需要は年々高まっています。そのサーバ仮想化を実現するのが仮想化ソフトウェアです。
一つの物理ハードウエア上で複数の独立した仮想マシンを実現する技術により、コストの削減や障害対策、システムの柔軟性を高めることができます。

サポートサービス業務

Oracle DB製品や仮想化製品に関する日本全国からのお問い合わせに対し、「テクニカルアナリスト」として技術支援(ソリューション提供)を行っています。ヒアリングやシステム稼動ログの分析などを通じて、問題の全貌を把握し、ビジネスインパクトやお客様のご要望等を理解した上で、納期設定・調査・回答を行います。お問い合わせの背景にある目的や、お客様のビジネス上の課題点も理解し、一歩踏み込んだご提案をすることが求められます。また、基本的にオンサイトサポートは行わず、サポートサイト、メール、電話を介してサービスを提供します。

コンサルティング&サービス業務

設計・構築から運用まで、各フェーズに沿った技術支援サービスを行います。設計・構築フェーズでは、お客様のご要望を最大限に反映したシステムをご提供します。運用フェーズでは、迅速かつ確実にトラブルに対処し、システムの使用方法やライフサイクルに応じて、将来のリスクを見越したご提案をいたします。
プロフェッショナルならではの観点から、お客様の潜在的なニーズを具現化し、将来のリスクを踏まえたご提案をすることで、お客様の期待+αのサービスを提供することを目指しています。

システムの安定性・安全性を担保するため、ITシステムは数年おきにハードウェアやソフトウェアを新しいものに入れ替える作業(リプレイス)が行われる。
今回対象となったのは、某大手証券会社の基幹システム。
証券会社では、会員によって日々何十万件という取引が行われており、銘柄情報や登録者情報、取引情報など、日々膨大な量のデータが増え続けている。

このお客様の基幹システムの前回のリプレイスは2014年だったため、システムの老朽化やパワー不足、容量不足が課題として挙がっており、既存のデータベース(DB)から新規DBへ置き換える必要があった。
リプレイスにかかる費用は数十億単位にも及び、お客様のビジネス基盤をさらに強固にする、非常に大規模且つ重要なプロジェクトだった。

運用の経験をもとに、新たな可能性を模索

ITシステムはデータベースだけではなく、アプリケーション、ネットワーク、OS、ストレージ、サーバ等様々な構成で成り立っている。
「スムーズな取引を実現したい」「セキュリティ面を強固にしたい、等
お客様の要望をそれぞれのシステム構成のパーツに落とし込んでいくところから作業は始まった。
大きく分けて、やるべきことは3つ存在していた。
 1. データの引っ越し
 2. ハードウェアやソフトウェアのバージョンアップへの対応
 3. バックアップの仕組みや監視ソフトの入れ替え

更に、以下の要件を満たす必要もあった。
 -リプレイス後のシステムが数年間稼働することを見据え、ビジネスの成長に合わせシステム用途拡張や機能の追加にも柔軟に対応できるようにすること
 -システムに対し一度に巨額のコストをかけるのではなく、段階的に投資をしていけるようにすること

実はこのお客様との付き合いは、5年以上前の前回のリプレイス時にまでさかのぼる。 この証券会社では莫大なデータの管理ができるように、もともと巨大なDBを利用していたが、アベノミクス効果で証券の売買が集中したため、DBの負荷を下げてさらにパフォーマンスを向上するべく、ハイスペックなDBへのリプレイスが検討されていた。当時、DB構築→データ移行→運用まで面倒を見てほしいとの依頼があり、コーソルメンバーが数年にわたってDBの運用を担当していたため、
今回のリプレイスでも長年の運用の経験・知見がフルに活かされることとなった。
現行のDBの稼働状況、抱えている課題、今後のビジネス戦略etc…、
これまでの運用の実績が、新しいシステムを作る上での基盤となっていった。

お客様の要件を満たしつつ、停まらない、性能が落ちないデータベースを実現する

チームメンバー同士はもちろん、プロジェクトマネージャー、アプリ開発エンジニア、Oracle社等、あらゆる立場、所属の人たちと情報共有や意見交換をしながら、お客様の要件を満たす最適なシステム構成を設計していった。
システム構成といっても、DBのみならず監視製品やバックアップ設計まで、対応範囲は多岐にわたる。
チーム内でのタスク分散と役割分担、進捗状況の共有等、コーソルのチーム力をフル稼働させながら、プロジェクトを進める必要があった。
更に、製品知識や障害発生時のトラブルシューティングが必要な時にはコーソルのコンサルティング&サービスチームに問い合わせるなど、「プロフェッショナル集団」としてのコーソルの知見を結集させ、何度も設計とテストを繰り返しながら2019年6月、ついにカットオーバーを迎えたのであった。

今回対象となる金融系基幹システムでは、FXの約定数や注文数、株価のチャートなど、膨大な規模のデータが管理されていた。24h増え続けるデータを安全に守る為、災害対策(Disaster Recovery、以下DR)環境の導入が行われることになった。

DR環境とは、地震や津波などの天災や、テロ、不正侵入などによりシステムが壊滅的な状況になった際に復旧・修復すること、また、その災害に備えたシステムや体制を指す。 メインサイト側で災害被災や障害が発生した際に、複製したスタンバイサイトへ切り替えを行うことで、ダウンタイムを極力短くし、短時間で業務を再開、事業を継続することが可能となる。

今回の金融系基幹システムでは、元々DRの仕組み自体はあったものの、収益損失の軽減のため、RTO(Recovery Time Objective※1)やRPO(Recovery Point Objective※2)の改善をする必要があった。

※1 RTO(Recovery Time Objective)
 被災時点からどれだけの時間で業務を復旧させるかという目標値
※2 RPO(Recovery Point Objective)
 過去のどの時点までのデータを保障して復旧させるかという目標値

お客様にとって最適なソリューションを提案~データ同期方式、製品選定~

DR環境構築にあたり必要となるのが、メインサイトとスタンバイサイト側で「データを同期させる」ことである。
データを同期させるにあたって、注意しなければならないことは大きく2つある。
 -既存システムに影響を与えない
 -導入、運用後のコストを最小限に抑える

データを同期させる方法はいくつかあるが、上記2点を踏まえ、
お客様のシステムにとって最適なデータ同期方式を選択することが求められた。

データ同期方式と同時に、「どの土壌でその方式を実行するか」という製品選定を行わなければならない。有事の際の性能確保、コスト削減という観点から、Oracle Cloud at Customer /Exadata Cloud at Customerが採用されることになった。

コーソル内でも前例のない環境下での構築作業は試行錯誤の連続だった

Oracle Cloud at Customer /Exadata Cloud at CustomerへのDR環境構築は前例がなく、予期せぬ製品不具合に見舞われることもしばしばあった。
ソフトウェアベンダへ交渉し、不具合を回避するまでの期間が数ヶ月に及ぶこともある。
そういった予期せぬアクシデントにも柔軟に対応できるようスケジューリングをしながら、作業をしていく必要があった。
限られた時間の中で、既存システムへの影響を最小限に抑えつつ、求められた要件に応えていく。
そのために、現場では複数回、複数フェーズに渡り検証が繰り返された。
本番環境で作業する前段階に仮環境を作り、その仮環境下で作業をしてみて期待されていた結果が得られるかどうかを検証する。
仮環境での検証結果を基に本番環境で作業をし、その結果をまた検証していく・・・
 -データベースは正常に起動するのか
 -データの整合性は保たれているのか
 -アプリ側から実行した時に性能は落ちていないか etc‥‥

最終的には、お客様から期待されていたRTO、RPOの目標値を無事クリアし、このミッションは完遂するのだが、システムが正常に稼働し、DR環境として機能するようになるまでの過程には、そうした一つ一つの作業の積み重ねがあった。
それぞれのメンバーが、各部門と連携しながらタスクをクリアしていくことで、数億レコードにも及ぶデータを安全に守るDR環境が完成したのである。

データ同期方式の立案から製品選定、導入まで、データベースの専門家として幅広く対応できるコーソルのこうした活動は、今後もお客様のビジネスを支えていくだろう。