こんにちは私はプログラミングの経験を持つ土木技師ですが、今日利用できる幅広いオプションに精通していません。先に進むための最善の方法を教えてください。
地上レベルの測量測定値のデータベースをグリッド形式で作成して照会したいと考えています。土工作業を通じて、さまざまな時間に各グリッド位置の多くの測定値があるため、時間の4番目の次元があります。
ほとんどの場合、観測はテキストファイルから読み込まれます。各レコードには、(2 x整数)グリッド位置(行と列)、(浮動小数点)地上レベル、およびさまざまな文字列情報コード(合計で最大30文字)があります。
グリッドは、約10000行x 10000列にすることができます。グリッド上のすべての場所に各調査のレコードがあるわけではありませんが、通常、それらのレコードには最大100のレコードがあります。グリッドの場所の多くには、レコードがまったくありません(サイトは完全に長方形ではありません)。
レコードを検索し、データを抽出して、計算を行います。たとえば、グリッドの場所ごとに最低または最高の地上レベルを計算します。私は、これをFORTRAN、BASIC、Cなどの言語で配列を使用してかなり簡単にプログラムできると確信しています。配列要素の多くは空ですが、これは適切な方法ではないと思います。このような大きなデータベースには、使用方法を学ぶために特別なツールが必要になると思います。
私はプラットフォームの可能なオプションを考えています-
データベースプログラムを使用します。これらがどれほど強力であるかについてはよく知りませんが、GUIではオーバーヘッドが多くなると思います。
SQLを使用しますか?これについてはあまり知りませんが、データベースの言語のようです。私は常に宣言型ではなく命令型言語を使用しており、ウィキペディアからSQLが宣言型であることを理解しているので、この変更には少し神経質になっています。使い方がよくわかりません。コンソールプログラムを作成するコンパイラはありますか?データベースはディスクに保存されていますか?そのような愚かな質問でごめんなさい。
c-treeACEのようなAPIを使用しますか?これは、「これを実行してから、それを実行する」という言語の親しみを私に提供する方法になると思います(残念ながら、これは私がエンジニアとして考える方法です!)。しかし、APIによって提供されるバックグラウンドのメモリと処理の管理が、巨大な配列で実現できるものよりも優れていることを期待しています。
または、オブジェクト指向言語でそれを行うことができ、コンピュータにストレージ要件を心配させることができます。たとえば、各レコードから必要な結果を得るのに役立つメソッドとプロパティを持つオブジェクトとしてレコードを保存した場合-3)に比べて巨大な肥大したプログラムになりますか
何億ものレコードが存在する可能性が高いため、Windowsを実行している最新のPCで、数時間ではなく数分(できれば数秒)でクエリを実行して処理できるようにしたいと考えています。より具体的には、Windows 7 64ビットを実行する6Gb ramと120Gb SSDを搭載したi7プロセッサーです。
誰かが知恵のいくつかの単語を初心者と共有する時間があることを願っています。