質問

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

ありがとう!

役に立ちましたか?

解決

まずは SQL Server Express から始めて、お金に余裕ができたら移行してみてはいかがでしょうか?そうすることで、理想と考えるものに向かって進み、変換コストを削減できます。

他のヒント

NHibernate は PostgreSQL (データベースが Windows 上であっても UNIX 系 OS 上であっても) で問題なく動作し、.NET は Npgsql データベース プロバイダーを使用して PostgreSQL と適切に動作します。

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

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

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

ちなみに、NHibernate は Linq から Nhibernate に移行するための手段です。NHibernate は現在鋭意開発中であり、トランク内で利用可能です。そのため、Linq について「気にしない」場合でも、恐れることなく使用できます。

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

[編集]

PostgreSQL は Windows でサポートされていることがわかりました。サポートがキャンセルされたのをどこで見たのか思い出せません。とにかく、Linux 上で実行する方が優れていると聞いたので、とにかく Linux で実行することを検討したほうがよいでしょう。

最近では、postgres は .net で非常に高速に動作し、独自の mssql と同等かそれ以上です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top