このMongoDB採用のいきさつを見てみよう。MongoDBとNoSQL大規模Webサービスでは大量のデータを処理するため、従来の関係データベース(RDB)ではない(SQLを使用しない=NoSQLな)データストアを利用するケースが増えている。MongoDBは、2009年に初めてリリースされたオープンソースのドキュメント指向データベースであり、構造データである「ドキュメント」の集合を「コレクション」として管理する。Inc.によって開発されている。同社がMongoDBを導入した背景には、メール配信のログを、多様なやり方で解析するニーズが強まったことがある。未達メールの抽出などだ。及川英夫氏もともとメール配信のログは、フラットファイルの形で保管されていた。ログ解析のニーズに対応するには、インデックスを張ったデータベースとしてログを扱う必要がある。メール配信ログを処理するため、まずデータベース管理システムとしてPostgreSQLが導入された。従来のシステムではMySQLを採用していたが、ここでPostgreSQLを導入した理由はライセンスによるものだ。オープンソース版MySQLではライセンスとしてGPLを採用していることから、独自開発ソフトウェアもGPLに基づいて公開する義務が発生する懸念があった。BSD類似のライセンスを採用しているPostgreSQLならば、この問題を回避できる。PostgreSQLを採用したログ管理のシステムは無事にサービスインしたものの、運用中に性能問題が顕在化した。データ量の増大に伴い、ログを処理し切れなくなってきたのだ。「PostgreSQLを採用したサービスの運用開始後、頻繁にアラートがあがる状態になってしまった。現場の総意を聞き、MongoDBの導入を決定そこで検討したのが、いわゆるNoSQLデータベース管理システムのMongoDBである。佐野拓氏)だったが、MongoDBはこの要求に合致していた。MongoDBを検討していたとき、その対象となったシステムは1つだけではなかった。Surveyでも、同様にPostgreSQLの性能問題に直面していたのだ。佐野拓氏しかし、データベース管理システムの変更は大幅なソフトウェア修正を意味する。同社は、「性能問題を乗り越えてPostgreSQLを使い続けるか、それともMongoDBに切り替えるか」という大きな決断を迫られていた。この決断は簡単ではなかった。そこで、エンジニアを集めた会議で、次の問いが発せられた。それとも、MongoDBを試したいか?」エンジニアそれぞれにこの質問をぶつけ、意見を聞いた結果、MongoDBを推す意見が圧倒的に多かったという。当時のことを及川氏は「みんな、けっこう新しいものが好きだった」と簡単に語っているが、MongoDBの採用とそれに伴うログ管理機能の再構築は、同社が蓄積する技術の大きな転機となった。サービスを運用中だったことから、MongoDBの導入は急いで進められた。Release〉メール配信エンジンにNoSQLを採用し、データ処理能力を向上|メッセージングシステムのCuenoteシリーズだが、その後また新たな問題が発生する......。FCのシステムを本格的に運用させる過程で、別の問題が顕在化した。データベースのサイズが当初の想定を越えて増大してしまうのだ。問題は、MongoDBで不定長のデータを扱う場合の挙動にあった。MongoDBで一定サイズのデータを扱う場合には、データを書き込み削除する動作を何回繰り返してもディスク容量の問題は発生しない。削除した領域を再利用できるからだ。ところが、同社が扱っていたのは、メール配信ログという不定長で毎回サイズが異なるドキュメントだった。MongoDBのデフォルト設定では、一度データを書き込んで削除した後、ぴったり同じサイズのデータを書き込む場合に限って、領域を再利用できた。書き込み先の領域を検索する際には、回数に上限があり、一定量検索しても見つけられなければ、領域の再利用を諦めて、新しい領域を確保するようになっていた。データのサイズが毎回異なる配信ログを管理するデータベースでは、削除したデータの領域がうまく再利用されず、データベースのサイズは増え続ける一方になってしまったのだ。調べたところ、異なるデータ長の空き領域を再利用しやすくするオプション(usePowerOf2Sizes)が、最近MongoDBに登場していることが分かった。このオプションを使った場合でも、適切なサイズの空き領域を探索する際の回数上限は残っており、データベースのサイズ増加を完全に解消することはできなかった。SERVER-2958を参照)。同社が取った解決手段は、データベース構造を変えることだった。データを削除する際に、MongoDBのコレクション(RDBのテーブルに相当)単位で削除することで、この問題を回避している。Surveyは、2013年6月に発表されたばかりの最新サービスだ。Surveyはアンケート機能などを備えており、共通のデータベースを複数サービスで利用できるようにする、新しいアーキテクチャを採用したサービスである。FCは、顧客からの要望を取り入れた機能拡張を重ねてきたため、機能の追加や修正に伴って影響する範囲が広くなってしまっていた。Surveyでは、層を分けてAPIを設定し、サービスの各要素を分離するよう設計した。しておけば、既存のソースコードをいじらずに新機能を追加できる」(及川氏)。Surveyのために構築したプラットフォームを利用することで、新しいサービスを短期間で提供し続けられると同社のエンジニアたちは考えている。スマートフォンの時代もメール配信サービスは残るユミルリンクのメール配信サービスには11年の歴史がある。その間の時代の変化は大きかった。携帯電話のキャリアメールへの最適化が大きな課題だった時期もある。今、大きな課題となっているのはスマートフォンへのメール配信だ。「メール配信の送り手は、スマートフォンにもきれいにメールを送りたいという要望を持っている。ところが、スマートフォンのHTMLメールは、従来の携帯電話のメール以上に仕様がバラバラだ。今その対応を進めているところだ」(及川氏)。スマートフォンのメーラーは機種ごとの差が大きく、同じHTMLメールでも表示に大きな差が出る場合がある。スタイルシートの解釈が機種により異なる場合がある。そこで、メール文書中に置いたURLをユーザーがタップしたときに取得できるユーザーエージェントの情報をもとに、個々のユーザーが持つ機種に最適化されたメールを送るようにすることを考えている。現在は、機種別の細かな仕様の違いを調査、整理している最中だ。スマートフォンのアプリ開発者にとって、スマートフォンの機種依存問題はよく知られた問題である。多数の機種でアプリをテストできる検証サービスを実施している企業もある。キャリアメールのアプリにおけるHTMLメールの機種依存に関する情報は、まだ整理が進んでいないのが現状だ。メール配信システムでは時代の変化とともに、新しいニーズと新しい問題が発生している。これまでも、ブログの登場によってRSSによる情報配信が普及したり、ソーシャルメディアやパーソナルメッセージングの新しいサービスが話題になったりするたびに、「メールの時代は終わった」という見解が何回も登場した。現実として、いまだにPCでも、フィーチャーフォンでも、スマートフォンでも、メールは標準機能として搭載されている。あらゆる環境にプッシュ型で情報を配信できるサービスは、事実上メールだけと言っていい。メール配信の市場は一貫して伸び続けている。メール配信の業界全体で、配信数は前年比110%で推移しているという。今後も増え続けるであろうメール配信のニーズに対して、同社ではサービスを機能改善し続ける考えだ。「Amazonブラックフライデー」で買うべきバッグを歴戦のオタクがピックアップそろそろ2022年も終わり。はてなニュース編集部の中の人は年間100回ほど現場に行くオタクなのですが、さすがにそろそろ相棒の現場バッグが疲弊気味です。年100回現場へ行くオタクが「Amazonブラックフライデー」で買ってほしいアイテムああ......今年もオタク現場にたくさん行ったな......。2022年が終わりに近づき、この1年間に足を運んださまざまな現場の思い出がよみがえる今日このごろです。「J-MOTTO」を使いこなして組織力を高める秘訣を円相フードサービス・武藤社長に聞いてみた円滑な組織運営に役立つグループウェア。スケジュール管理やタスクの共有、ワークフローの仕組化など、その用途は幅広い。人生で一番高い買い物となることが多い「マンション購入」。安いの?」と判断に悩んだことがあるのではないでしょうか。大規模サービスが「新しい技術要素」を採用するまで2023-01-26技術で医療課題の解決を図るファストドクター。コロナ禍での負荷増大をスタートアップならではのスピード感で解決プロフィールはてなニュースです。Web・ITに関する話題を分かりやすく紹介します。大規模サービスが「新しい技術要素」を採用するまで2023-01-26技術で医療課題の解決を図るファストドクター。Reserved.引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。