キンコミ kintone user community

みんなの投稿

「すべてのデータをkintoneで」の要求事項について。
例えば「数百万件(数十万、数万など)の過去累積データをすべてkintoneに入れてほしい」というような要求をされた場合、どのように説明するのがよいでしょうか。
個人的にkintoneは大量のデータをOracleなどのデータベースやオンラインストレージのように扱うのは不向きと思っています。というかもったいない^^;。取りあえずは、1500円/5GBで1GBあたりの金額比較から割に合わないというような話をしますが他になにか良い説明方法ありますでしょうか。

4件のコメント (新着順)

西村さん
NSAS平野です。
大容量の1アプリデータの取扱いは100万件目安は以前より聞いており
大量データ検索では時間がかかりますね。

お客様で入退館システムを作成し、いまもデータがたまってきており(約4年半)
1度50万件ほど過去分削除しましたが、現在も170万件ほどたまっているアプリがありますが
このアプリの一覧表は当日データのみ抽出するようにしています。

一覧表をカスタマイズしてバーコードで入館証を読み込んで登録する仕組みですが
レスポンス問題なく動作しております。
但し、
 過去1年間データ抽出CSV出力は条件設定して抽出まで時間かかりますね。
 このCSVデータを基にして年間分析をやっておりますが
 50万件強/1年をExcelでやってます。

Excel→kintone→Oracle等DB→大容量DB(Googleさんとか・・・)

各々、利用するにあたり利用目的が違いますので
最適なデータベース上にデータを保管すべきですね。

失敗?苦労話)20年ほど前にAccessデータベースに100万強のデータを30クライアントから
       リアルタイム更新の仕組みを作ったことがありましたが、
       障害時のリカバリバックアップの仕組みで苦労しましたね。




NSAS平野さん

仕様上100万件は可能でも、大量データに向いた製品は他にもたくさんあるので、用途に見合った技術を選定する必要がありますね。OracleやGoogleさんと連携するのは良い解決策だと思います。^^

Accessには、私も苦い思い出が多いです。^^;

結局、Accessは業務で真面目に使うのは厳しいツールではありましたが、AccessでDB/SQLやVBの基礎、そしてホストコンピュータのように堅牢ではない環境^^;を学ばせてもらったので、よかったと思います。

キンスキ松井
2020/07/03 12:10

こんにちは、キンスキ松井です!

kintoneが許容できるデータ量の話もありますね。
一つの基準として、1アプリ100万レコードがあります。

レコードの登録や閲覧に関しては、1つのアプリに100万件を登録した状態で
快適に使用できることを確認しています。
https://jp.cybozu.help/k/ja/admin/limitation/limit.html

ただし、登録や閲覧の用途の場合なので、その他の用途では快適に利用できない場合もあります。
例えば、ソートではこんな検証データもありますね。
レコード数だけでなく、フィールド種類によっても変化があることが分かります。

ソート条件に適用するフィールドの種類による処理時間の違い
https://developer.cybozu.io/hc/ja/articles/360038829011-%E3%82%BD%E3%83%BC%E3%83%88%E6%9D%A1%E4%BB%B6%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E7%A8%AE%E9%A1%9E%E3%81%AB%E3%82%88%E3%82%8B%E5%87%A6%E7%90%86%E6%99%82%E9%96%93%E3%81%AE%E9%81%95%E3%81%84



色々と書きましたが、大前提としてkintoneは他のデータベースに比べると、大量データの扱いには向かない製品です。
これは仕様的にも、運用的にも言えると思います。
大量データを扱う場合にも、利用範囲や方法を考える必要があると思います。

この辺りの製品限界もお伝えいただくと、説明がしやすいかなと感じました!
ご参考になれば幸いです^^


キンスキ松井さん
情報ありがとうございます。なるほど!「100万件が一つの基準」ですか。ヘルプも参考になりました。

正直な感想としては、100万件が大丈夫であれば、ほとんどの場合問題ないです。逆に「100万件以内ならOK!」が社内で独り歩きしてバンバン依頼がきそう^^;。あと快適かどうかは、主観的な部分もあるので利用者から「快適じゃないじゃないか!」と言われたら「私は快適だと思いますけど。。。」とならないかがちょっと心配^^;。その場合はどうしようかな。「Excelよりは快適ですよね。」で返そうかな。^-^;

>ソート条件に適用するフィールドの種類による処理時間の違い
面白いです!フィールド種類によってソート時間が変わるんですね。文字列や数値は件数によって差はないので内部で事前にインデックス化されてるとして、ラジオボタンやドロップダウンはソート時にレコード1件あたりにつき何らかの変換や検証が入るのかな。。。内部的にはリスト順を数値でもってて、ソートする為には一旦文字列変換しないといけないからかな。。。だとしてもクラウド上で可能な所は並列処理されてるだろうから、並列処理できない何か事情があるのかな。。。表示件数は同じ100件なのでクライアント負荷はあまり関係ない気がするし。。。とか色々想像してしまいます。

>大前提としてkintoneは他のデータベースに比べると、大量データの扱いには向かない製品です。
個人的には、性能面では、一般通常利用レベルとしては、ある程度大量データの扱いも十分な性能であると認識を改めました。^^

今回の情報、説明時に活用させていただきます!
ありがとうございました。

tarimo
2020/06/25 09:05

私も松田さんとほぼ同意見です!「過去の履歴を保存しておくとして、何に使いますか?」というお話ではないかと。
データ容量も無制限ではありませんのでそのあたりの費用対効果についてもご相談しつつ、「貯めておく理由と普段の使い方」を掘り下げると事態が進んでいきそうな気がしています。

また、過去履歴レコードをそのまま持たずに、年次や月次で集計した結果をアプリで持っても良いかも知れません。

「データをどのように使うのか→どのような目的で貯めておくのか→データをどんな切り口で見せるか」
でしょうか?









tarimo様
ご返信ありがとうございます。

そうですね。kintoneのデータ容量単価が他ストレージと比べて高価なのは事実ですから、まずそれを利用者と共同認識を持って、「貯めておく理由と普段の使い方」「明細データか集計データか」検討すべきですね。改めてそう思いました。

検討するポイントとしては、大量データの場合、検索速度や使い勝手などもありますが、実物を見ない段階で利用者にはイメージしにくいという側面もあります。やっぱり「費用対効果」お金の話が一番ピンときますね。^^;

ありがとうございました。
今後ともよろしくお願いします。

松田正太郎
2020/06/23 18:01

なるほど。
1つの考え方としては、
「kintoneに入れて何をするか?」ではないかと思います。

何をするか?の考え方としては、そのアプリのデータをどこでどのように使うのか。
そこの情報活用に価値があるのであれば、kintone内に持っておく価値があると考えるのも1つの考え方かもしれません。

活用の仕方が例えば集計表示するだけであれば、集計後のメッシュでアプリに持ってあげればいいというふうな考え方も出てきます。
明細の一件一件を参照することに価値があるのであれば、全件保持する事に価値があると考えることができる。

あと、大量データを出し入れするアプリを作る場合は、アプリのデータ容量節約のために、変更履歴の記録をオフにしておくというノウハウもあります。


松田様
ご返信ありがとうございます。

>「kintoneに入れて何をするか?」ではないかと思います。
そうですね。単に「多い少ない」の問題ではなく、大事なのは「価値があるかないか」との兼ね合いですね。たとえ数万件でも価値があるなら検討すべきですし、極論、価値がないなら1件でももったいない^^;。おっしゃる通りです。

依頼側は往々にしてすべてのデータを入れたいという心理が働くので、開発側は反射的に否定する方向で返答してしまいがちですが、反省して「情報の価値」についていっしょに考えてみることにします。

本音としては、余裕があればデータはあるに越したことはないのですが。。。グレープシティさんのkrewDashboardのグラフ機能でドリルダウンを使ってたりすると、やっぱり明細までドリルダウンしたいなーって思ってしまいます^^;。そこはバランスをみて、ある程度以降は「つづきはこちら⇒」みたいに基幹イントラにつなごうかなと思ってます。

>アプリのデータ容量節約のために、変更履歴の記録をオフにしておくというノウハウもあります。
そうですね。それも大事ですね。数千件程度ですが、すでに毎日洗い替えしているアプリのデータがありましたので、早速先ほど
「レコードの変更履歴を記録する」
のチェックを外しました!

適切なアドバイスありがとうございました。大変参考になりました。
今後ともよろしくお願いします。