2

選択したものについて助けが必要です。.NET Web サイトに database_management_system を選択したいと考えています。私の現在のバリアントは次のとおりです。

- MariaDB
- PostgreSQL
- Firebird

私はMS SQLを使用していましたが、それらの経験がなく、比較できません。

私が必要としているのは、安定性、速度、.NET 用の無料で優れた ORM です。そのうちの 1 つを選択するのを手伝ってください。

しばらくの間、私は Postgres を好みますが、その理由がわかりません。

追加:そして、私の意見を変えるには真のキラー機能が必要だと思います。

4

3 に答える 3

5

私はいつでも MySQL よりも PostgreSQL を好みます。PostgreSQL には、SQL ステートメント (ウィンドウ関数、再帰的な共通テーブル式) に関するより多くの機能があり、制約とインデックス (部分インデックスおよび関数ベースのインデックスなど) のサポートが向上しています。

また、GPL ライセンスがいつ商用ライセンスを購入せざるを得なくなるのか、特に商用アプリケーションの場合はまだわかりません。これは、私が MySQL を避けるもう 1 つの理由です。ライセンスの状況は、私にはあまりにも不明確で漠然としています。

PostgreSQL は、読み取りステートメントと書き込みステートメントを負荷分散する真のクラスターが必要な環境でのセットアップがより複雑です。

高可用性 (つまり、メイン サーバーが停止したときに引き継ぐ予備サーバー) は、特に 9.x では、MySQL と同じくらい簡単です。

速度に関しては、おそらくそれらの間に大きな違いはありません。それらのいずれかが高速である可能性があり、いずれかが低速である可能性があります。それは、使用方法とワークロードの特性によって異なります (PostgreSQL は同時読み取りと書き込みが多いため高速に見えますが、これは MySQL 5.5 と改善された InnoDB エンジンで変更された可能性があります)。

Firebird は SQL 機能の点でも非常に強力です (私の知る限り、再帰的な共通テーブル式をサポートする最初のオープン ソース DBMS でした)。

Firebird に関する私の最大の懸念は、雑然としたドキュメントです。ライセンスの問題により、単一の大きなマニュアルはありませんが、オリジナルの Interbase マニュアルと各バージョンのリリース ノートのコレクションです。したがって、特定の構文を確認する必要がある場合は、Interbase のマニュアルから始めて、FB 1.5、FB 2.0、FB 2.1 のリリース ノートを確認してください。少し不器用ですが、チームはそれに取り組んでおり、ドキュメントは改善されています (まだ PostgreSQL または MySQL のマニュアルと一致しません)。

とにかく、私は ORM の大ファンではなく、Java しか使用していないため、.Net で PostgreSQL を使用したことはありません。だから私はそれについてコメントすることはできません

于 2011-04-06T07:07:16.270 に答える
2

NHibernateは、最初はかなり急な学習曲線を持っていますが、私がお勧めする人気のあるORMです。それはあなたのリストからのPostgreSQLとFirebird、そしてもちろんMySQLを含む多くのDBMSをサポートします-これがあなたのリストにない理由は何ですか?-.Netで非常にうまく機能します。

安定性と速度が唯一の要件である場合は、MySQL(Community Edition)またはPostgreSQLのいずれかで問題ありません。高可用性または高スケーラビリティのシナリオを検討する必要がある場合、議論は実際に始まりますが、これは問題にはなりません。小さなアプリです。

Firebird(nee InterBase)やMariaDBの経験がないので、コメントできません。

于 2011-04-06T05:42:00.730 に答える
1

ファイヤーバードの大ファンです

比較はこちら

于 2011-04-06T19:35:53.007 に答える