Merhaba Ben programlama deneyimi olan bir inşaat mühendisiyim ama bugün mevcut çok çeşitli seçeneklere aşina değilim. Umarım ilerlemek için en iyi yolu bana gösterebilirsin.
Bir ızgara formatında zemin seviyesi anket ölçümleri bir veritabanı yapmak ve sorgulamak istiyorum. Hafriyat işi boyunca çeşitli zamanlarda her bir ızgara konumu için birçok ölçüm olacaktır, böylece zamanın 4. boyutu vardır.
Gözlemler büyük olasılıkla bir metin dosyasından okunacaktır. Her kayıtta (2 x tamsayı) bir ızgara konumu (satır ve sütun) a (kayan nokta) zemin seviyesi ve çeşitli dize bilgi kodları (toplamda en fazla 30 karakter) olacaktır.
Izgaralar yaklaşık 10000 satır x 10000 sütun olabilir. Şebekedeki her yerin her bir ankette bir kaydı olmayacak, ancak tipik olarak yüz kayıtları olacaktır. Izgara konumlarının çoğunda hiç kayıt olmazdı (site tam olarak dikdörtgen olmayacaktır).
Kayıtları aramak, verileri ayıklamak ve her bir ızgara konumu için en düşük veya en yüksek zemin seviyesini hesaplamak gibi hesaplamalar yapmak istiyorum. Dizileri kullanarak FORTRAN, BASIC veya C gibi bir dilde programlama yapabileceğimden oldukça eminim. Dizi öğelerinin birçoğu olsa boş olurdu ve bunun olsa doğru bir yol olmadığını tahmin ediyorum ve bunun gibi büyük veritabanlarının nasıl kullanılacağını öğrenmek zorunda kalacak özel araçlara ihtiyacı var.
Platform için olası seçenekleri düşünüyorum -
Bir veritabanı programı kullanın. Bunların ne kadar güçlü olabileceğine aşina değilim ama GUI ile çok fazla yükleri olacağını hayal ediyorum.
SQL mi kullanıyorsunuz? Bu hakkında çok şey bilmiyorum ama veritabanlarının dili gibi görünüyor. Her zaman bildirici yerine zorunlu dilleri kullandım ve wikipedia'dan SQL'in bildirici olduğunu anladığım için değişiklikten biraz gerginim. Kullanma sürecini tam olarak anlamıyorum. Konsol programları yapan bir derleyici var mı? Veritabanı diskte depolanıyor mu? Böyle aptalca sorular için özür dilerim.
C-treeACE gibi bir API mi kullanıyorsunuz? Sanırım bu bana "bunu yap, sonra yap" dilini tanıma yolunun bir yolu olabilir (maalesef bu benim mühendis olarak düşündüğüm yol!) Ancak, API tarafından sunulan sahne arkası bellek ve işleme yönetiminin büyük dizilerle elde edebileceğimden daha üstün olacağını umuyorum.
Ya da nesne yönelimli bir dille yapabilir ve bilgisayarın depolama gereksinimleri hakkında endişelenmesine izin verebilir miyim. Eğer kayıtları her bir kayıttan ihtiyacım olan sonuçları almama yardımcı olacak yöntem ve özelliklere sahip nesneler olarak saklarsam, 3'e kıyasla büyük şişirilmiş bir program olurdu)
Yüz milyonlarca kayıt olması muhtemeldir ve bunları pencereleri çalıştıran modern bir bilgisayarda saat değil (tercihen saniye!) Değil dakikalar içinde sorgulamak ve işlemek istiyorum. Daha spesifik olmak gerekirse, Windows 7 64 bit çalıştıran 6Gb ram ve 120Gb SSD'li bir i7 işlemcidir.
Birinin bir acemi ile birkaç bilgelik kelimesini paylaşmak için zamanı olduğunu umuyoruz.