既存のMongoDBでプロジェクトを引き継ぎました。既存データの映像(図など)を取得したいのですが。明らかに、MongoDBはMySQLとはかなり異なるケースですが、視覚化できるものはまだあると思いますか?
3 に答える
これは、実際には「視覚化」の要件によって異なります。通常、リレーショナルデータベースの図のより興味深い視覚的側面のほとんどは、高レベルの関係と整合性制約(1:1、1:多く、主キー、外部キーなど)です。
MongoDBには、特定のコレクション内のドキュメントが所定の形式に準拠する必要がないという意味で、柔軟なスキーマがあります。これは、基になるデータが何らかの組織を持つことができないという意味ではありません。コレクションに単一のスキーマが課されていないということだけです(従来のリレーショナルデータベースの場合のように)。
MongoDBでは、視覚化する興味深い詳細の多くは、コレクション内のドキュメントの一部またはすべてを検査するか、コードを確認することによって分析する必要があります。
コードレビュー
アプリケーションがMongoose(Node.js)やMorphia (Java)などのODM(Object Document Mapper)を使用している場合、アプリケーションコードは、目的のスキーマ(または少なくとも目的の最新バージョン)の迅速で説明的なビューを提供する場合があります。スキーマ)。jsdoc
またはなどの適切な言語ドキュメンテーションツールjavadoc
は、モデルクラスの合理的な概要を生成するのに役立つ場合があります。最良の結果を得るには、おそらくいくつかのドキュメント注釈を追加する必要があります。
スキーマ分析
スキーマ分析は、観察されたスキーマを推測するためにデータを調べることを含む、より力ずくのアプローチです。このための一般的なアプローチは、Map/Reduceを使用することです。
コレクションの一般的な構造(たとえば、フィールド/データ型とソースドキュメントでのそれらのカバレッジ)のアイデアを提供するいくつかの異なるmongo
シェルヘルパーがあります。
これらは(グラフィカルな意味で)視覚的ではありませんが、スキーマ分析の結果は、データの予想される形状と一般的なバリエーションへの洞察を提供します。
関係
MongoDBサーバーは外部キー関係をサポートしていないため、興味深い可能性のある多くの視覚的注釈が削除されます。
データベース参照(DBRef)を作成するには、いくつかの異なるクライアントドライバーのアプローチがありますが、これらはサーバー機能ではなく、使用規則に従っています。DBRefを使用してコレクション間の関係を判別するには、コレクション内のドキュメントの一部またはすべてをスキャンする必要があります。関係の推論は、variety
またはschema.js
まだサポートされていません。
コンテンツ
実際のコンテンツをよりよく理解するために、管理UIの1つを試すことができます。
Mongo3またはfuton4mongoを使用でき、 MogoVue がこれに最適です。
そして、ツールの完全な文書化されたリストはここにあります。
私は本当にシンプルで良いと思ったmViewerを使用しました。
MongoDB用のシンプルなWebベースの管理および管理ツールはこちらのリンクです