On Mon, Jul 02, 2018 at 02:02:31PM -0500, David Wright wrote: > But the OPĀ¹ voraciously consults HOWTOs, and said: > > "Many presume a WEB-SERVER is involved." > > I don't know what others glean from this, but to me it sounds as if > the mention of "web" taints the software somehow, perhaps subconciously.
If it's the person I think it is, he lacks a fundamental understanding of the most basic concepts, and could probably benefit from a simplified explanation. Unfortunately, instead of asking for explanations, he assumes something which is incorrect, and then launches into a misplaced tirade against his imaginary strawman. Repeatedly. On every single topic. I don't know whether he can see this or not, but here are some basic computer concepts which seem to be unclear, based on snippets of text in this thread: data -- information stored in a computer-readable form database -- an organized collection of data, or the software which is designed to manage said collection server -- a process which responds to requests for data, or a computer which is running such a process client -- a process which sends requests to a server, and receives its responses So, these are pretty broad terms, yes? Let's get a bit more specific. "Database" covers a really wide range of things. Basically, any way that you can conceive to organize information storage and retrieval could be called a "database". Some people consider a directory full of files to be a "database", because you can store information in it, and retrieve information from it, and each piece of information has a "key" that lets you get that one piece of information and no other (that "key" is the file name). Another kind of database is a single file with "records" stored inside it, and a way to retrieve or write specific records without having to copy the entire file. A text file is NOT a database of this kind. In order to qualify, the file has to have some internal structures that allow fast retrieval and storage. SQLite3 IS a database of this kind. The database is stored in a single file, and programs using the SQLite3 libraries can store and retrieve information from it. (Other examples of this kind of database include the various Berkeley database libraries that have been used for things like NIS, as well as Daniel Bernstein's "cdb", and GNU's "gdbm".) But the kind of database that MOST people will first think of is the client/server kind, of which two common examples in the free software world are MySQL and PostgreSQL. With this kind of database, physical storage is typically in multiple files in multiple directories somewhere on disk, and this is managed by a server process. If you want to store or retrieve information from the database, you send a request to the server, and it sends back a response. The process making the request is a client, and may be written in any of several different languages, using the language-specific libraries or interfaces designed to talk to that database server. The server may be on the same machine as the client, or it may be on a different machine. Network-based communication between client and server may be optional, and may need to be configured on the server side by the adminstrator. There may be some authentication of the client required before the server will be willing to accept requests, or not. Now, integration between a database server and a web server is a wholly different step. In that configuration, the web server runs an application which contains the database client code, so the web application can store and retrieve information from the database, format it into pages, and present those pages to the web client (browser). But that's not a core part of the database at all. It's simply another application, albeit a very common one.