ということで、マーケティング/アライアンス副社長Erik Frieberg氏に突撃インタビューすることができました。
ではではまず、Erik氏の経歴について少し。
大手企業のHP software、Borland、BEAでマーケティングやプロダクト・マネジメントおよび企業戦略などに携わり、またKIVA、Persistence、Netscapeなどの立ち上げなども手伝ってきた方。トータルで20年以上もの経験を積んでいる持ち主です。経営科学の修士号をMassachusetts Institute of Technologyで取得し、学士号もNorthwester Universityで取得されています。現在は、MongoDBや10gen社にとってより良い営業プロセスを構築することに主に力を入れているとのこと。
聞いただけでもなんだかくらくらしそうな経歴ですね。それにしても、10gen社のみなさまはとにかく爽やか!写真からだけでも伝わってますよね!?このさりげない感じも絵になりますねー。
では、さっそく気になるところを質問していきましょう。まずは、10gen社が始まった経緯を教えてください!
既にご存知だとは思いますが、創立者でありCEOのDwight MerrimanはDoubleClickの共同創立者でもあり、10年以上もCTOとして活躍してきました。
またCTOのEliot HorowitzはShopWikiの共同創立者で主任研究員として勤めていました。両名共にRDBに対しての拡張性や、柔軟性の難しさを常々感じていたんです。
例えば、websiteを見ているとよく広告が出てきたりしますよね?その広告リクエストに対して1秒で返せる速い対応を求められたり、また複数台に情報を共有させた場合のデータを行き来させることにもRDBでは難しく感じていました。
そこで、個々に情報を分散させてデータを持たせる保存形態にさせたらどうだろうと思いついたんです。ここでまったく新しい形のデータベース開発を始めることとなりました。
もっと簡単に言ってしまえば、何か要求したときに結果が戻ってくる遅さにジレンマを感じたことで自分たちでデータベースを作ろうと思ったんですよ。
全てのデータをテーブルではなくドキュメントで管理することでより、シンプルかつ容易にデータ操作を可能にしようと考えたんです。
すごい経歴の持ち主が始めた会社だとは聞いていましたが・・・まさか、実際に自分たちでデータベースを作ろうと思うなんて!思うことは簡単でもそれを本当に作ってしまうところがすごいですよね。確かに、何事もあったら良いなー、便利だなー、で作られたものがけっこうありますがそれを始めるのにはいろいろと足踏みしてしまいそうなもの。その行動力に感動です!最近MongoDBをよく耳にするようになりましたが、去年と比べるとすごいユーザ数が増えたのでは??
2011年は主にアメリカでのユーザ数伸び率が大きかったのですが、2012年に入ってからは、ロシアやベトナムなど世界中ですごい勢いのユーザが増えてきています。ただ、オープンソースなので正確なユーザ数は残念ながら把握できていませんね。各地でユーザカンファレンスを開催した際には、毎回とても多くの方々が参加しています。
コード提供も続けているので、とってもオープンな環境で開発されている製品です。もちろん、情報提供も怠ることなく常に発信しています。今年に入ってから、2.1をコミュニティー向けにリリースしたところです。コミュニティーに先行リリースすることで、製品版を正式リリースする前にテストをしてもらえます。そうすることで、より安全性を高めた状態での製品版を提供することができるんです。
なるほど。なんとも、一緒に作ってる感がありますね。しかも世界のいろんなところで!プログラミング言語が世界共通言語になるのでは?と思うくらい、いろんな国でテストがされたりしていて、つくづく感心します。自分も書けるようになったら、1.5か国語しゃべれます!なんて小さいことでなく世界共通語使えます!と自慢できるんでしょうね。それでは、話かわって、最新版の新機能などの情報を教えてください!
新機能や改善された点などいっぱいあって全てはお伝えできないのですが、今回のバージョンでは大きな特徴として以下の2つの機能追加にあります。「1.concurrencyの改善」「2.アグリゲーションフレームワーク」です。
まずはconcurrencyの改善についてです。以前のバージョンまでは、データベースを編集すると全体にロックがかかってしまっていました。それを今回のバージョンより、作業しているデータベースのみにロックをかけることが可能となりました。例えば、4台のデータベースを使用していたとしましょう。そこにIndexを張りたいとなったときに、作業を開始した時点で4台全てにロックがかかります。それを作業している1台にのみロックをかけるようにしました。グローバルロックをやめて、データベースレベルでのロックとしました。
もう1つの注目が、アグリゲーションフレームワークです。SQLに親しみがある方は、GROUP BY機能に似ていると考えてもらって大丈夫です。以前より、Map-Reduce機能はありましたし使い勝手が悪いわけではりませんでした。ただ、簡単な集計や平均値などを求めるのには難しくなりがちだったのを今回、アグリゲーションフレームワークでシンプルなタスクは簡単に処理させることが可能となりました。
なるほど!リリースしたばかりだと思いますが、次に考えている新機能や製品ロードマップがあったらこっそり教えてください!
確かにリリースしたばかりですね(笑)ただ、製品版としての正式リリースは夏ごろを予定していますのでまだ落ち着かないですね。また今回のリリースで含まれなかった機能であったり、いろいろあるのですが現状、800を超えるエンハンスメント・リクエストが届いています。それらを仕分けしながら、どれをどうやって製品に入れていくか決めていくので残念ながら、ロードマップというのは固まっていない状態です。
800以上ものエンハンスメント・リクエスト・・・世界中にユーザがいればそれぐらいの数になるとは理解できますが・・・それにしても、多いですね。それをすべて把握されているところもすごい!やはり、コミュニティーやユーザからの声を大切にされてるんですね。ファンがいっぱいなのも納得です。でも、こっそり情報が聞き出せなかったのが残念です。気を取り直して、別の質問を。最近よく耳にするビッグデータの定義について教えてください!