Hai Saya seorang insinyur sipil dengan beberapa pengalaman pemrograman tetapi saya tidak terbiasa dengan berbagai pilihan yang tersedia saat ini. Semoga Anda bisa memberi saya petunjuk apa pun cara terbaik untuk melanjutkan.
Saya ingin membuat dan meminta basis data pengukuran survei permukaan tanah dalam format kisi. Akan ada banyak pengukuran untuk setiap lokasi kisi pada berbagai waktu melalui pekerjaan pemindahan bumi sehingga ada dimensi waktu ke-4.
Pengamatan kemungkinan besar akan dibaca dari file teks. Di setiap catatan akan ada posisi grid (2 x integer) (baris dan kolom) tingkat dasar (floating point) dan berbagai kode informasi string (mungkin total hingga 30 karakter).
Kisi-kisi bisa sekitar 10.000 baris x 10.000 kolom. Tidak setiap lokasi di grid akan memiliki catatan dalam setiap survei, tetapi mereka biasanya memiliki hingga seratus catatan. Banyak lokasi kisi tidak memiliki catatan sama sekali (situs tidak akan berbentuk persegi panjang sempurna).
Saya ingin mencari catatan, mengekstrak data, dan melakukan perhitungan, misalnya, menghitung permukaan tanah terendah atau tertinggi untuk setiap lokasi kisi. Saya cukup yakin saya akan memiliki kemampuan untuk memprogram ini cukup sederhana dalam bahasa seperti FORTRAN, BASIC atau C menggunakan array. Banyak elemen array akan kosong dan saya kira ini bukan cara yang tepat untuk melakukannya dan database besar seperti ini memerlukan alat khusus yang harus saya pelajari cara menggunakannya.
Saya memikirkan opsi yang mungkin untuk platform -
Gunakan program basis data. Saya tidak terbiasa dengan seberapa kuat ini tetapi saya membayangkan mereka akan memiliki banyak overhead dengan GUI.
Gunakan SQL? Ini saya tidak tahu banyak tentang tetapi tampaknya menjadi bahasa untuk database. Saya selalu menggunakan bahasa imperatif daripada deklaratif dan seperti yang saya mengerti dari wikipedia bahwa SQL adalah deklaratif, saya agak gugup dengan perubahan itu. Saya tidak sepenuhnya mengerti proses menggunakannya. Apakah ada kompiler yang membuat program konsol? Apakah database disimpan di disk? Maaf untuk pertanyaan bodoh seperti itu.
Gunakan API seperti c-treeACE? Saya pikir ini mungkin cara untuk menawarkan saya keakraban dengan bahasa "lakukan ini, lalu lakukan itu" (sayangnya ini adalah cara saya berpikir sebagai seorang insinyur!). Tapi saya berharap memori di balik layar dan manajemen pemrosesan yang ditawarkan oleh API akan lebih unggul dari apa yang bisa saya capai dengan array besar.
Atau dapatkah saya melakukannya dengan bahasa berorientasi objek dan membiarkan komputer khawatir tentang persyaratan penyimpanan. mis. jika saya menyimpan catatan sebagai objek dengan metode dan properti yang akan membantu saya mendapatkan hasil yang saya butuhkan dari setiap catatan - apakah itu program yang sangat besar dibandingkan dengan 3)
Kemungkinan ada ratusan juta catatan dan saya ingin dapat meminta dan memprosesnya dalam hitungan menit, bukan jam (lebih baik detik!) Pada PC modern yang menjalankan windows. Yang lebih spesifik adalah prosesor i7 dengan ram 6Gb dan 120GB SSD yang menjalankan Windows 7 64 bit.
Semoga seseorang punya waktu untuk berbagi beberapa kata bijak dengan seorang pemula.