Drago, William @ CSG - NARDA-MITEQ wrote: > All, > > I'm not sure how to ask this question. > > When using SQLite the application program accesses the SQLite DBMS > via its .dll file. When using something like Oracle Express (a local DBMS) the application program is communicating with Oracle Express via some sort of network protocol even though there's no network involved. What is that called? > > My reason for asking is, I'm writing a short white paper describing > my use of SQLite (to encourage other engineers where I work to use it too) and I'm trying to explain the differences between SQLite and other local database systems. So, SQLite databases are accessed via .dll where as other local databases run a server that is accessed via ???
The generic term is interprocess communication, IPC. You should be able to search on those keywords to find out anything else you want to know. SQLite is in the class known as "embedded databases" because its code is embedded in the application code, instead of running in a separate process. There are many other DBs of this class but most of them are lower level (key value stores) instead of offering the SQL data model. Berkeley DB is another well-known example of this type, as is LMDB. Many embedded DBs not only run within a single process, but also can only support read-write access to a database's files from a single process (i.e., no support for multi-process concurrency). Berkeley DB and LMDB are somewhat rare since they support transactional multi-process concurrency. > > Can anyone help me fill in those question marks? > Thanks, > > -- > Bill Drago > Senior Engineer > L3 Narda-MITEQ<http://www.nardamicrowave.com/> > 435 Moreland Road > Hauppauge, NY 11788 > 631-272-5947 / William.Drago at L-3COM.com<mailto:William.Drago at L-3COM.com> -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/