デブサミ2012でkintoneの裏側を紹介したけど・・
デブサミ2012で @yo_waka (ブログ)と一緒に kintone の紹介してきました。
来て頂いたみなさんありがとうございました。
他にもセッションがある中、多くの方に来て頂いて大変うれしかったです。
少しでもお役に立てれば幸いです。と言いたいところですが、
裏側のスライドがばっさりなくなってしまいました(><)
ごめんなさい、代わりに一般論を少しだけ。
今の時代なら、スキーマレスなデータを扱うにはMongoDBのようなNoSQLも選択肢として結構ありなんですが、2、3年前だと、NoSQLが認知され始めたところで、利用するにはリスクを負う覚悟が必要だったかと思います。
そんな中で、RDBMSでスキーマレスなデータを扱う手法は様々なところでチャレンジされていました。 ありえるCTOの井上さんが、大変分かりやすくまとめています
今だと、選択肢は本当にいろいろあるのですが、選ぶポイントはいくつかあって、
- スキーマを定義する人は誰か(開発者?、アプリ利用者?)
- スキーマの変更の頻度
- スキーマの数、データの数
- スキーマ間の関連性の有無
- データの変更はリアルタイムに反映されるか
- 検索、整列、集約に制限があるか
- 検索性能、更新性能
- 一貫性、可用性、スケーラビリティのどれを重視するか
- 価格、サポート
ここら辺を考慮しながら、プロダクトにあったデータベースを選択することになるかと思います。
現在の kintone は、スキーマを定義するのがアプリ利用者で、スキーマは頻繁に更新されるが、データ数はそこまで膨大にはならず、データの変更はリアルタイムに反映して欲しいといった特徴があり、friendfeed 的なアプローチでデータを管理しています。
とは言っても、スキーマレスなデータを扱うやり方はこれからもたくさん出てくるだろうし、新しい技術に柔軟に対応できるよう精進していきたいと思っています。
大人数の前で話すのは苦手(><)ですけど、発表する機会を頂いて良かったです。
これからも kintone の開発をがんばります。