一般的な質問
データ構造を使用するアルゴリズムとデータベースを使用するアルゴリズムの違いは何ですか?
いくつかのコンテキスト
これはしばらくの間私を悩ませてきた質問であり、私はそれについて説得力のある答えを出すことができませんでした。
現在、もちろん、データ構造に深く関わるアルゴリズムの理解を深めることに取り組んでいます。これらは、バッグ、キュー、スタック、優先度キュー、ヒープなどの基本的な構造です。
また、データベースを日常的に使用して、エンドユーザーによって処理および送信された、またはプログラムによって処理されたデータを保存します。データベースのテーブルに基づいて生成される独自のデータ構造を持つDALを介して、データを取得して送信します。
私の質問は、データベースを使用してデータをソートして、昇順/降順で注文したデータを返送するか、データを取得してロジックにロードし、このデータを優先度キューで処理し、ヒープソートするオプションがあるときに発生しますそれのすべて。または、レコードのサブセットをロードするのではなく、データベースを使用してレコードを検索し、バイナリ検索のようなものを使用して、興味のあるレコードを見つけることもできます。
私の考えでは、通信は高価であるため、送信する前に、データベース側でできるだけ多くの操作を実行しようと思います。また、データベースのデータではなく、独自のロジック内で厳密に定義されたアルゴリズムとデータ構造を使用してデータを処理するのはいつですか。
だからここに質問があります...
ご質問
- データ構造とデータベースの違いは何ですか?
- データベースのロジックではなく、独自のロジック内でのみ定義されたデータ構造を使用するアルゴリズムをいつ使用しますか?
- @Harveyの投稿:データベース内のメソッドを使用すると、独自のロジック内のメソッドよりも効率が悪くなりますか?
- @mirculixxの投稿:メソッドを効率的にするものは何ですか?
- @Harveyポスト:データベースで行うよりもデータ構造でデータを処理する方が高速ですか?
明確化
- @Grant post:私が通常使用するデータベースはリレーショナルであり、これらの質問はそれらを使用することから生まれています。ただし、これらの質問はどの永続フレームワークにも適用できると思います(フレームワークとは、最も一般的な意味での意味です)。
特定の文脈がないと答えが難しいことは知っています。考えられる食べ物、アドバイス、または議論のポイントは、主に私が探しているものであり、最もありがたいです!