Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

data bases vs files

kooka
初學者
1,293 檢視

Actually im using files to store data, but does anyone knows the principal advantages of using data bases instead files?, what open data base model is the most common?

Tanks

0 積分
8 回應
Steve_Nuchia
新貢獻者 I
1,293 檢視

This is one of my (many) soapbox issues. I believe a lot more software should employ databases -- especially scientific software.

The major impediments have been, in no particular order:

Organizational: databases are owned by the DBAs, code by the developers. It is often impossible to use a database for purely organizational reasons.

Cost: in the bad old world, database engines were prohibitively expensive so there were both development barriers and deployment barriers.

Familiarity: for the above reasons, most programmers have little experience with database mechanics and practices. Business (and now web) application programmer excepted, of course.

Portability: the libraries that provide the interface tend to be tightly bound to both the development tools and the database engine family.

The last one is still an issue. Plus you have to learn SQL, "a mistake carried through to perfection" [Datamation cover story].

On the plus side, you get a degree of parallelism for free, you enable multiple independently developed tools to share overlapping data collections, and your burden for documenting the data format (and writing the parser) is much reduced. If your application calls for interactive editing of the data using something other than a text editor you can save a vast amount of development and maintenance time by leveraging the database toolset's table editor -- or by sloughing the job off to a DB frontend programmer.

Functionally, you can leverage SQL to enable data selection operations without having to provide UI elements in your program plus logic in your data file parser to support every combination of criteria.

-swn

Steven_L_Intel1
1,293 檢視
SQLlite is very popular and is designed to be integrated with individual applications.
kooka
初學者
1,293 檢視
What about ADO, is it a data base engine? (i.e. can i create data bases instead files?)
Steven_L_Intel1
1,293 檢視
I don't think ADO is a database engine - rather, it's a method for communicating with database engines such as MS Access.
jimdempseyatthecove
榮譽貢獻者 III
1,293 檢視

Kooka,

What is the nature of the data you are storing? And what are the intended uses of this data?

Jim Dempsey

kooka
初學者
1,293 檢視
i am making a structural program, so i need to store data as materials, beam sections,dates of construction, general parameters of structure, loads, etc. so its kind wired storing my information, and im now using types to store each kind of data
jimdempseyatthecove
榮譽貢獻者 III
1,293 檢視

There are several good database programs available. SQL is one. From your short description it sounds like SQL will fit your needs.

However, if you intend to use the data in various presentation utilities you might consider HDF5.

http://hdf.ncsa.uiuc.edu/downloads/index.html

SQL is oriented towards large numbers of similar data (e.g. inventory, purchase orders, insurance claims, ...) whereas HDF5 would be suitable for displaying your beam under load (from a utility not that which produced the data).

Jim Dempsey

garylscott1
初學者
1,293 檢視
This is one of the biggest deficiencies in the Fortran market. There isn't a proper SQL binding available (one designed to my liking (F90SQL was ok, but not cross platform portable and followed the ugly Win32 API designtoo closely). However, when you consider whether a database is appropriate for your particular application, please consider data access performance requirements in addition to data sharing requirements (and configuration management, etc.). General purpose databases CAN be orders of magnitude less efficient than a well designed file structure tailored to the particular data.
回覆