1

私が構築しているシステムでは、基本的に問題追跡システムですが、さまざまな問題テンプレートがあります。一部の課題タイプは、他のものとは異なる形式になります。

issues私は当初、メインテーブルとissues_metaキー => 値のペアを含むテーブルでMySQL を使用することを計画していました。ただし、NoSQL (MongoDB) の方が適しているのではないかと考えています。

MongoDB は、タイプ別の問題数、タイプ別月別の問題数、1 人あたりの問題数など、「標準」レポートを生成する機能を提供してくれますか? 私がこれを尋ねるのは、Mongo は報告が下手だという情報源をいくつか読んだからです。


また、すべてのアクション (任意のテーブルへの変更) に対して単一の「テーブル」が必要なため、監査ログを Mongo に保存することも計画しています。Mongo では、スキーマレスであるため、簡単に変更された各フィールドを保存できます。これは悪い考えですか?

他に知っておくべきことはありますか? また、Mongo は私が望むものに対して機能しますか?

4

2 に答える 2

1

MongoDB はそのユースケースにぴったりだと思います。

  • MongoDB コレクションは異種混合です。つまり、異なるフィールドを持つドキュメントを同じバッグに格納できます。したがって、さまざまなレポート テンプレートがショー ストッパーになることはありません。1 つのドキュメントで問題全体をモデル化できます。

  • MongoDB はロギングにも適しています。上限のあるコレクションに興味があるかもしれません。

  • ドキュメント間にリレーショナルな関連付けが必要な場合は、それも行うことができます。

  • Ruby を使用している場合は、Mongoid をお勧めします。それはそれをより簡単にします。また、ドキュメントのバージョン管理もサポートしています。

于 2012-06-11T20:34:55.507 に答える