23

ここで、5NF、EAV、および 6NF に関する議論と、メタデータと複雑な SQL を「自動的に」処理するためのカタログの必要性を読みました。それは実際にどのように実装されていますか?

PerformanceDBA は、カタログに言及する 6NF および EAV に関するいくつかの回答を書きました。たとえば、次の質問です。

4

1 に答える 1

4

まず、LedgerSMBでは、可能な限りシステム カタログと情報スキーマを再利用します。これは、アプリケーションが実際にシステム カタログのクエリにある程度の時間を費やしていることを意味します。拡張属性のメタデータ計算もいくつかあります。ここでは EAV を行いません。むしろ、クライアント側でリレーショナル クエリを作成できるようにする、これらに関する実際のリレーションとメタデータがあります。これらはある時点でロードされ、キャッシュされます。カタログは EAV カタログと非常によく似ていますが、基礎となるストレージは実際にはリレーショナルであり、これらを維持する関数は基礎となるテーブルを変更します。これにより、根本的な問題なしに EAV の柔軟性が得られます。

将来のバージョンでは、おそらくアプリケーション カタログの数を減らし、Pg システム カタログと情報スキーマをより多く使用するように移行し、インターフェースはアプリケーションの観点からよりシンプルになります。

于 2012-09-04T04:08:06.407 に答える