私の現在のプロジェクトでは、ビジネスロジックはストアドプロシージャ(1000以上)に実装されており、ビジネスの成長に合わせてスケールアップしたいと考えています。アーキテクトは、パフォーマンスとスケーラビリティを向上させるために、ビジネスロジックをアプリケーション層(.net)に移動することを決定しました。しかし、彼らは何も再設計/書き直していません。つまり、SPから起動される同じSQLクエリは、ADO.Netを使用して.net関数から起動されます。これはどのようにパフォーマンスを生み出すことができますか?
私の理解する限りでは、DBに依存しない必要がある場合、またはRDBMSエンジンよりもOOP言語でより適切に実装できるビジネスロジックがある場合(階層のトラバースや画像処理など)、ビジネスロジックをアプリケーション層に移動する必要があります。等..)。残りの場合、実装する複雑なビジネスロジックがない場合は、ビジネスロジックをDB自体に保持する方がよいと思います。少なくとも、アプリケーション層とDBの間のネットワーク遅延はこの方法で回避できます。
ご意見をお聞かせください。私は少しためらってアーキテクチャの決定を検討している開発者です。この件についての私の無知を許してください。