Team OS/DB
ソフトウェア技術サポートプロジェクト
(2018年11月取材。当時の名称はOSS推進プロジェクト)
藤田:NTT OSSセンタの活動は、大きく4つあります。1つ目は、問い合わせ対応などの「OSSトータルサポート」。2つ目は、検証済みのOSSパッケージOSSVERT®の導入推進を行なう「OSS適用推進」。3つ目は、プロダクトやツールの「技術開発」。4つ目に技術者育成や様々なOSSコミュニティとの交流による「ソフトウェア基盤技術力向上」です。
「OSSトータルサポート」は様々なプロダクトをソースコードレベルで調査してきた実績に基づいて、解析を要するような難易度の高い問い合わせにも対応しているのが特徴です。「OSS適用推進」では、構築ノウハウや推奨構成などをOSSVERT®にまとめ、検証済みの情報として事業会社の方に提供しています。「技術開発」で注力しているプロダクトの1つがPostgreSQLです。我々は2003年頃からこのプロダクトに携わっており、OSSセンタが開発や強化をした機能も多く、これまでに一定の貢献ができていると言えます。最後に「ソフトウェア基盤技術力向上」に向けた取り組みでは、当センタに所属するPostgreSQL、Linux、Docker、Heartbeatなど様々なソフトウェア開発者が各種OSSコミュニティに対して機能拡充や品質改善に関するパッチを投稿し、それらが高い割合で採用されています。
藤田:問い合わせなどのサポートに関しては、DBとOS両チームで対応しています。DBチームにおいては技術開発にかなりのウエイトを置いていて、PostgreSQLの機能や性能の改善のための開発を脈々と行なっています。近年では世界中のPostgreSQL開発コミュニティと連携しながら、DB規模の拡大に向けた機能や性能の向上、そして移行性の向上に取り組んでいます。 DB規模の拡大への対応として今取り組んでいるのがシャーディングです。これは、大規模なデータを複数のサーバに分散して格納し、検索や更新などのDB処理を分散させることで、性能向上を図る技術です。
牧田:OSチームでは蓄積した技術を使ってNTTグループ各社に対しソースコード解析に基づくサポートを提供しています。あとは品質向上です。サポートのなかで見つけた問題をコミュニティにフィードバックする。我々はLinux開発コミュニティに対し、バグ報告やパッチ提供を通じて品質向上に取り組んでいます。
藤田:山田さんはOracleと連携するツールのコミッターという立場にあり、オーストリアのCybertec社と協働してそのツールの開発を進めるなど、活躍している開発者の1人です。細谷さんはPostgreSQLそのものの開発は初めてでしたが、短期間で大きく成長し、今ではフランスの研究者と一緒にPostgreSQLの設計支援ツールを開発しています。PostgreSQLは長い歴史がありプロダクトとしては取り組みにくい面もあるなか、メンバーが前向きに取り組み、成長していく様子を見るのは指導する立場として嬉しいことですし、チームで仕事をするうえでのやりがいにもつながっています。
山田:私はもともとサポート専門でしたので、コミュニティ活動の流儀というかやり方が全くわかりませんでした。海外にどんな方がいて、どのようにやりとりをすれば物事がスムーズに進むのか、藤田さんが丁寧に教えてくれたおかげでこれまでやってこられました。私自身はツールのコミッターに留まらず、コミュニティ活動の世界で サポートの経験を活かしたPostgreSQLそのものの提案活動もできはじめており、このチームでやってきて良かったと思っています。
牧田:Linuxは世界中で広く使われているので、我々の作った機能や性能改善が取り込まれていくことに大きなやりがいを感じます。Linuxは一千万行を超える巨大なプログラムなので、当然全部に対して詳しくなることはできません。コミュニティでの開発を始めて5年たった今でもわからないところがまだまだ出てきますし、それこそ初めの頃は私もコミュニティ活動の流儀というか、暗黙のルールみたいなものがわからないまま仕事を進めてしまい、改善提案を無視されたこともありました。
小町:私は入社2年目で、今は研究開発における課題を見つける段階にいます。これまではLinuxに関する次世代ネットワークに向けた高速化技術の検証や、事業会社から依頼された新規技術に対する調査に取り組んできました。いずれも前提となるLinuxの知識量が膨大であったため、必死で勉強したのを覚えています。これからは牧田さんのように Linuxコミュニティでの活動を通して、チームに貢献していくことができればと考えています。
山田:普段は距離もあるのでメールでやりとりをしていますが、先日ヨーロッパで行なわれた会議に参加してきました。そこでCybertec社を含めた様々な開発者と議論しましたが、やはり実際に会うと話がスピーディに進み、互いに一層頑張ろうと意識を合わせることができます。世界に出向いて、いろいろな方と実際に話をすることがコミュニティでの開発を進めるうえでの大事なポイントだと思います。
細谷:2017年、PostgreSQLの開発に携わる女性を支援するPostgres Womenという団体をフランスとアメリカの研究者が中心になって立ち上げ、女性のコミュニティ参加を増やそうという取り組みを行なっています。海外のカンファレンスに行った時は、Postgres Womenのメンバーと食事に出かけ、情報交換や意見交換をしています。日本は女性の研究者が少ないのですが、海外では女性研究者がとても活発に活動されているので、日本でももっと女性の研究者が増えたらと願っています。
山田:藤田: DBに関しては依然Oracle Databaseが代表的であり、特に大規模なミッションクリティカルなシステムでは広く使われています。我々が今取り組んでいるシャーディングを実現し、Oracle DatabaseからPostgreSQLへ移行させることで、事業会社でのTCO削減に貢献できると考えています。またPostgreSQLへ移行することで、トラブルが起きた時にも迅速に問題を解決することができるようになるので、事業会社の業務やサービス継続性にも貢献できるのではないかと思います。
牧田:我々OSチームは今、Linuxのネットワーク超高速化技術のコミュニティでの開発に貢献しています。この技術は、ネットワーク機能をサーバ上で仮想化するNFVと呼ばれる技術に活用できます。NFVを実現することで、ネットワークの柔軟性や収容率を上げてコストを削減したり、サービスの高度化が可能になったりします。それにより安価でより良いサービスを提供することができるようになりますので、今取り組んでいる技術を成功させて、そういった面で事業会社や社会に貢献していきたいと思っています。
Team OS/DB
OSS推進プロジェクト
藤田悦郎
Etsuro Fujita
研究主任
牧田俊明
Toshiaki Makita
研究主任
山田達朗
Tatsuro Yamada
研究員
細谷柚子
Yuzuko Hosoya
社員
小町芳樹
Yoshiki Komachi
社員