10

現在、将来の Web プロジェクトのインフラストラクチャを計画しています。Joel がクライアントごとに 1 つの DB を持ち、どの DB エンジンが自分に適しているかを考えていたのと同じように行きたいと思っています。もちろん SQL Server が最適ですが、現時点では本格的なバージョンを購入する余裕はありません。SQL Server Express は、ロードされたサービスに適した選択肢ではないと思います。現在、代わりに PostgreSQL を使用することを考えています。私の開発環境は、NHibernate や LINQ to SQL を使用した ASP.NET 3.5 であると仮定すると、SQL Server の代わりに PostgreSQL を使用すると、どの程度の問題が発生するでしょうか?

ありがとう!

4

5 に答える 5

11

NHibernateはPostgreSQLで問題なく動作し(dbがWindowsまたはUNIXライクなOS上にあるかどうかに関係なく)、.NETはNpgsqldbプロバイダーを使用してPostgreSQLでうまく動作します。

発生する唯一の「問題」は、もちろんPostgreSQLがT-SQLを実行しないことです。実際、そのPL / pgSQLストアドプロシージャ言語は、MSSQLServerのT-SQLよりもOracleのPL/SQLに近いものです。したがって、ストアドプロシージャを再コーディングする必要があり、ADO.NETを実行する場合は注意が必要ないくつかの落とし穴があります。NHibernateを使用する場合は、おそらくそれについてあまり心配する必要はありません。ただし、LINQ to SQLはありませんので、頑張ってください。

PostgreSQLはスケーラブルであり、Windowsで問題なく動作します(以前のバージョンはWindowsを正式にサポートしていませんでした)。pgAdminはそのための優れた管理ツールであり、SQLServerのGUIツールで実行できるほとんどのことを実行できます。短時間でそれ。

于 2008-09-25T02:02:50.703 に答える
4

それは悪い考えではないと思いますが、素晴らしい経験です。

ちなみに、NHibernateはLinqをNhibernateに移動する方法であり、開発が進んでおり、トランクで利用できるため、Linqを「気にしない」場合は、恐れずに使用してください。

于 2008-09-25T01:57:22.977 に答える
3

SQL Server Express から始めて、お金があるときに移行してみませんか? そうすれば、理想と考える方向に進み、コンバージョン コストを削減できます。

于 2008-09-25T01:29:02.623 に答える
1

最近では、postgres は .net で非常に高速に動作し、プロプライエタリな mssql と同等かそれ以上です。

于 2015-07-25T03:11:09.353 に答える
1

PostgreSQL を使用すると、LINQ to SQL を使用できなくなります。現在、LINQ は SQL Server (おそらく Oracle) でのみ動作します。NHibernate についてはよくわかりません。また、PostgreSQL を使用している場合、前回確認したところ、Windows のサポートが終了していました。そのため、DB 用に Linux を実行する 2 つ目のボックスを用意することを検討しています。

[編集]

PostgreSQL が Windows でサポートされていることがわかりました。サポートがキャンセルされたのをどこで見たのか思い出せません。とにかく、とにかく Linux の方がうまく動作すると聞いたので、とにかくそれを検討することをお勧めします。

于 2008-09-25T01:29:18.880 に答える