そう聞かれ、言葉を失いました。
あるアプリケーションのバックエンドを実装するための 2 つのオプションがあるとします。
1つは動的配列を使用しており、それを変更/読み取りするたびに、RAMにロードして必要なことを行い、終了したら元に戻します。
もう 1 つは、SQL を使用することです。
パフォーマンスの問題 (SQL の方が高速です。DB が RAM よりも大きい場合、メモリにロードできません) 以外に、SQL を優先する他の理由はありますか?
取引...
スケーラビリティ
同時実行
正気!
アプリケーションにベクトルを使用することを提案した人は誰でも、いくつかの構成要素を与えて、鋭利な角のない部屋に置いてください...
ほとんどの設計上の問題と同様に、答えはコンテキストによって異なります。このデータの大きさ、使用頻度、実行しているプラットフォームなど。
たとえば、.NET プラットフォームは基本的に、構成情報を格納するために (私が知っているいくつかの追加機能と共に) 配列を使用します。プログラムの開始時に、この情報がディスクからロードされ、構成パラメータをチェックする必要があるときはいつでも、配列を調べて見つけます。
キャッシュ制御などの追加機能がありますが、ここでは無視します。
この構造は理にかなっています。情報はプログラムの開始時に一度読み取られ、プログラムによって変更されることはなく、記憶媒体に書き戻す必要もありません。
したがって、あなたの質問への答えは、データで何をしているかによって異なります。マーティンが指摘したように、SQL は、トランザクション制御、同時実行性、構造、スケーリングなど、あなたが言及したもの以外にも、アプリケーションに多くの重要な機能を提供します。
より多くのデータを保存する場合は、ほとんどの場合、データベースの方が適しています。
データベースは次の操作用に最適化されているため、パフォーマンスが向上します。