Preferred database

Which database do you prefer to work with if you have the choice?


  • Total voters
    51
I'm not much of a DB guy but it could be to do with storage engines?
For example MySQL is the DBMS, whereas InnoDB is an example of the DB.
Likewise Oracle's BerkelyDB is the DB whereas SQLite3 can be used as its "DBMS" (more of a frontend API) since 11g R2.

This may be heresy to say to an actual DBA but I feel that for 99% of use-cases these days, on such powerful machines, SQLite is probably enough ;)
I.e back in the day, running a forums on an embedded DB would not be ideal but now it is possibly quite feasible? Or I am just exposing my lack of knowledge here XD
Ah, with MySQL you're making a distinction between the MySQL package and the data storage mechanism, which is part of the (R)DBMS. InnoDB is basically a table format specification that got its start with MySQL, but got forked together with MariaDB.

BDB is another table format spec (I thought that one was from BSD, rather than Oracle). SQLite3 is basically a C API to flat-file DB2 table format that was developed by IBM (IIRC). BTW, storage engines are not the same thing as storage formats. A storage format can be expressed as an XML file, while a storage engine is not amenable to such expression.
 
... there was a full-blown database called MDBS III. In a 64K address space! I kept trying to get a copy of it, and never managed.
I have a copy of Titanium for Windows NT - 24 floppy disks (1.44") 😆 :
[lanin@freebsd ~/tmp/titanium7g]$ ls -lR -D %F .
...
./01:
total 76
-rw-r--r-- 1 lanin wheel 209 1997-09-30 files.lst
-rw-r--r-- 1 lanin wheel 63488 1998-08-12 INSTALL.EXE
-rw-r--r-- 1 lanin wheel 64 1998-03-16 LEVEL.NO
-rw-r--r-- 1 lanin wheel 9 1998-08-12 SERIAL.NO

./02:
total 1368
-rw-r--r-- 1 lanin wheel 723 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 23687 1998-03-16 tape.c
-rw-r--r-- 1 lanin wheel 28672 1998-03-16 tbmflp.dll
-rw-r--r-- 1 lanin wheel 26112 1998-03-16 tbmtap.dll
-rw-r--r-- 1 lanin wheel 235008 1998-03-16 tdbmtr.exe
-rw-r--r-- 1 lanin wheel 420 1998-03-16 tdebkapi.def
-rw-r--r-- 1 lanin wheel 28672 1998-03-16 tdebkapi.dll
-rw-r--r-- 1 lanin wheel 9834 1998-03-16 tdebkapi.h
-rw-r--r-- 1 lanin wheel 300288 1998-03-16 tdesrv.exe
-rw-r--r-- 1 lanin wheel 22842 1998-03-16 tdesrv.hlp
-rw-r--r-- 1 lanin wheel 238592 1998-03-16 tdesvc.exe
-rw-r--r-- 1 lanin wheel 402432 1998-03-16 tsvcadm.exe

./03:
total 984
-rw-r--r-- 1 lanin wheel 1148 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 223 1998-03-16 libentry.obj
-rw-r--r-- 1 lanin wheel 1627 1998-03-16 libmain.obj
-rw-r--r-- 1 lanin wheel 38544 1998-03-16 nwipxspx.dll
-rw-r--r-- 1 lanin wheel 24576 1998-03-16 tde_i.lib
-rw-r--r-- 1 lanin wheel 7022 1998-03-16 tde.def
-rw-r--r-- 1 lanin wheel 143442 1998-03-16 tden_nb.dll
-rw-r--r-- 1 lanin wheel 131202 1998-03-16 tden_np.dll
-rw-r--r-- 1 lanin wheel 142354 1998-03-16 tden_px.dll
-rw-r--r-- 1 lanin wheel 134178 1998-03-16 tden_tp.dll
-rw-r--r-- 1 lanin wheel 105325 1998-03-16 tden_w.lib
-rw-r--r-- 1 lanin wheel 173495 1998-03-16 tdl_w.lib
-rw-r--r-- 1 lanin wheel 25141 1998-03-16 tdn_wnb.lib
-rw-r--r-- 1 lanin wheel 6685 1998-03-16 tdn_wnp.lib
-rw-r--r-- 1 lanin wheel 20023 1998-03-16 tdn_wpx.lib
-rw-r--r-- 1 lanin wheel 10791 1998-03-16 tdn_wtp.lib
-rw-r--r-- 1 lanin wheel 543 1998-03-16 wsocksup.obj

./04:
total 876
-rw-r--r-- 1 lanin wheel 280 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 100864 1998-03-16 tddl2tdf.exe
-rw-r--r-- 1 lanin wheel 743936 1998-03-16 tdfcomp.exe

./05:
total 1168
-rw-r--r-- 1 lanin wheel 5165 1998-03-16 _bootstp.exe
-rw-r--r-- 1 lanin wheel 7543 1998-03-16 _mssetup.ex_
-rw-r--r-- 1 lanin wheel 26112 1998-03-16 ctl3d95.dll
-rw-r--r-- 1 lanin wheel 26624 1998-03-16 ctl3dnt.dll
-rw-r--r-- 1 lanin wheel 71168 1998-03-16 drvstp32.exe
-rw-r--r-- 1 lanin wheel 3827 1998-03-16 ds16gt.dl_
-rw-r--r-- 1 lanin wheel 4608 1998-03-16 ds32gt.dl_
-rw-r--r-- 1 lanin wheel 1381 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 199976 1998-03-16 mfc30.dl_
-rw-r--r-- 1 lanin wheel 144994 1998-03-16 msvcrt20.dl_
-rw-r--r-- 1 lanin wheel 1655 1998-03-16 odbc.inf
-rw-r--r-- 1 lanin wheel 13163 1998-03-16 odbc16gt.dl_
-rw-r--r-- 1 lanin wheel 30962 1998-03-16 odbc32.dl_
-rw-r--r-- 1 lanin wheel 2699 1998-03-16 odbc32gt.dl_
-rw-r--r-- 1 lanin wheel 3214 1998-03-16 odbcad32.ex_
-rw-r--r-- 1 lanin wheel 3105 1998-03-16 odbccp32.cp_
-rw-r--r-- 1 lanin wheel 52172 1998-03-16 odbccp32.dl_
-rw-r--r-- 1 lanin wheel 96975 1998-03-16 odbccr32.dl_
-rw-r--r-- 1 lanin wheel 12517 1998-03-16 odbcinst.hl_
-rw-r--r-- 1 lanin wheel 24624 1998-03-16 setup.exe
-rw-r--r-- 1 lanin wheel 413 1998-03-16 setup.lst
-rw-r--r-- 1 lanin wheel 19860 1998-03-16 tdesqism.dl_
-rw-r--r-- 1 lanin wheel 40925 1998-03-16 tdesqlc.hl_
-rw-r--r-- 1 lanin wheel 350930 1998-03-16 tdesqlsm.dl_

./06:
total 656
-rw-r--r-- 1 lanin wheel 5165 1998-03-16 _bootstp.exe
-rw-r--r-- 1 lanin wheel 7543 1998-03-16 _mssetup.ex_
-rw-r--r-- 1 lanin wheel 2356 1998-03-16 cpn16ut.dl_
-rw-r--r-- 1 lanin wheel 14710 1998-03-16 ctl3dv2.dl_
-rw-r--r-- 1 lanin wheel 72624 1998-03-16 drvsetup.exe
-rw-r--r-- 1 lanin wheel 1401 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 4122 1998-03-16 nwbind.dl_
-rw-r--r-- 1 lanin wheel 2618 1998-03-16 nwcore.dl_
-rw-r--r-- 1 lanin wheel 17715 1998-03-16 nwipxspx.dl_
-rw-r--r-- 1 lanin wheel 8776 1998-03-16 nwmisc.dl_
-rw-r--r-- 1 lanin wheel 31737 1998-03-16 odbc.dl_
-rw-r--r-- 1 lanin wheel 3000 1998-03-16 odbc.inf
-rw-r--r-- 1 lanin wheel 3221 1998-03-16 odbc16ut.dl_
-rw-r--r-- 1 lanin wheel 3964 1998-03-16 odbcadm.ex_
-rw-r--r-- 1 lanin wheel 54903 1998-03-16 odbccurs.dl_
-rw-r--r-- 1 lanin wheel 56626 1998-03-16 odbcinst.dl_
-rw-r--r-- 1 lanin wheel 12517 1998-03-16 odbcinst.hl_
-rw-r--r-- 1 lanin wheel 24624 1998-03-16 setup.exe
-rw-r--r-- 1 lanin wheel 399 1998-03-16 setup.lst
-rw-r--r-- 1 lanin wheel 9649 1998-03-16 tdesqimu.dl_
-rw-r--r-- 1 lanin wheel 40925 1998-03-16 tdesqlc.hl_
-rw-r--r-- 1 lanin wheel 60794 1998-03-16 tdesqlnb.dl_
-rw-r--r-- 1 lanin wheel 59318 1998-03-16 tdesqlnp.dl_
-rw-r--r-- 1 lanin wheel 61045 1998-03-16 tdesqlpx.dl_
-rw-r--r-- 1 lanin wheel 60821 1998-03-16 tdesqlws.dl_

./07:
total 124
-rw-r--r-- 1 lanin wheel 102400 1998-03-16 etdemo.db
-rw-r--r-- 1 lanin wheel 7176 1998-03-16 etdemo.ddl
-rw-r--r-- 1 lanin wheel 7179 1998-03-16 etdemo.tdf
-rw-r--r-- 1 lanin wheel 309 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no

./08:
total 1040
-rw-r--r-- 1 lanin wheel 5165 1998-03-16 _bootstp.exe
-rw-r--r-- 1 lanin wheel 7543 1998-03-16 _mssetup.ex_
-rw-r--r-- 1 lanin wheel 26112 1998-03-16 ctl3d95.dll
-rw-r--r-- 1 lanin wheel 26624 1998-03-16 ctl3dnt.dll
-rw-r--r-- 1 lanin wheel 71168 1998-03-16 DRVSTP32.EXE
-rw-r--r-- 1 lanin wheel 3827 1998-03-16 ds16gt.dl_
-rw-r--r-- 1 lanin wheel 4608 1998-03-16 ds32gt.dl_
-rw-r--r-- 1 lanin wheel 1475 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 199976 1998-03-16 mfc30.dl_
-rw-r--r-- 1 lanin wheel 144994 1998-03-16 msvcrt20.dl_
-rw-r--r-- 1 lanin wheel 2560 1998-03-16 odbc.inf
-rw-r--r-- 1 lanin wheel 13163 1998-03-16 odbc16gt.dl_
-rw-r--r-- 1 lanin wheel 30962 1998-03-16 odbc32.dl_
-rw-r--r-- 1 lanin wheel 2699 1998-03-16 odbc32gt.dl_
-rw-r--r-- 1 lanin wheel 3214 1998-03-16 odbcad32.ex_
-rw-r--r-- 1 lanin wheel 3105 1998-03-16 odbccp32.cp_
-rw-r--r-- 1 lanin wheel 52172 1998-03-16 odbccp32.dl_
-rw-r--r-- 1 lanin wheel 96975 1998-03-16 odbccr32.dl_
-rw-r--r-- 1 lanin wheel 12517 1998-03-16 odbcinst.hl_
-rw-r--r-- 1 lanin wheel 24624 1998-03-16 setup.exe
-rw-r--r-- 1 lanin wheel 413 1998-03-16 setup.lst
-rw-r--r-- 1 lanin wheel 19864 1998-03-16 tdesqimu.dl_
-rw-r--r-- 1 lanin wheel 40925 1998-03-16 tdesqlc.hl_
-rw-r--r-- 1 lanin wheel 75170 1998-03-16 tdesqlnb.dl_
-rw-r--r-- 1 lanin wheel 73220 1998-03-16 tdesqlnp.dl_
-rw-r--r-- 1 lanin wheel 68096 1998-03-16 tdesqltp.dl_

./09:
total 1232
-rw-r--r-- 1 lanin wheel 601 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 825088 1998-03-16 tdesql.exe
-rw-r--r-- 1 lanin wheel 16490 1998-03-16 tdesql.hlp
-rw-r--r-- 1 lanin wheel 39936 1998-03-16 tdnsqlnb.dll
-rw-r--r-- 1 lanin wheel 36352 1998-03-16 tdnsqlnp.dll
-rw-r--r-- 1 lanin wheel 37888 1998-03-16 tdnsqltp.dll
-rw-r--r-- 1 lanin wheel 79360 1998-03-16 tsqmtrnb.exe
-rw-r--r-- 1 lanin wheel 74752 1998-03-16 tsqmtrnp.exe
-rw-r--r-- 1 lanin wheel 67072 1998-03-16 tsqmtrtp.exe

./10:
total 228
-rw-r--r-- 1 lanin wheel 497 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 83346 1998-03-16 tdbmtr.exe
-rw-r--r-- 1 lanin wheel 21417 1998-03-16 tdnetclm.exe
-rw-r--r-- 1 lanin wheel 20967 1998-03-16 tdnetcnb.exe
-rw-r--r-- 1 lanin wheel 30495 1998-03-16 tdnetcnp.exe
-rw-r--r-- 1 lanin wheel 33417 1998-03-16 tdnetcnw.exe
-rw-r--r-- 1 lanin wheel 19475 1998-03-16 tdnetcpx.exe

./11:
total 980
-rw-r--r-- 1 lanin wheel 503 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 142848 1998-03-16 tdbmtrnb.exe
-rw-r--r-- 1 lanin wheel 127488 1998-03-16 tdbmtrnp.exe
-rw-r--r-- 1 lanin wheel 132096 1998-03-16 tdbmtrtp.exe
-rw-r--r-- 1 lanin wheel 203264 1998-03-16 tden_nb.dll
-rw-r--r-- 1 lanin wheel 188416 1998-03-16 tden_np.dll
-rw-r--r-- 1 lanin wheel 189440 1998-03-16 tden_tp.dll

./12:
total 80
-rw-r--r-- 1 lanin wheel 3249 1998-03-16 cspcode.h
-rw-r--r-- 1 lanin wheel 608 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 506 1998-03-16 makefile.sam
-rw-r--r-- 1 lanin wheel 9976 1998-03-16 ops.c
-rw-r--r-- 1 lanin wheel 22419 1998-03-16 sampcsp.c
-rw-r--r-- 1 lanin wheel 8705 1998-03-16 sampcsp.dat
-rw-r--r-- 1 lanin wheel 1493 1998-03-16 sampcsp.h
-rw-r--r-- 1 lanin wheel 8627 1998-03-16 tdefcn.h

./13:
total 144
-rw-r--r-- 1 lanin wheel 6740 1998-03-16 cspcode.c
-rw-r--r-- 1 lanin wheel 3249 1998-03-16 cspcode.h
-rw-r--r-- 1 lanin wheel 26999 1998-03-16 cspsql.c
-rw-r--r-- 1 lanin wheel 428 1998-03-16 cspsql.mak
-rw-r--r-- 1 lanin wheel 723 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 544 1998-03-16 makefile.csp
-rw-r--r-- 1 lanin wheel 9976 1998-03-16 ops.c
-rw-r--r-- 1 lanin wheel 1493 1998-03-16 sampcsp.h
-rw-r--r-- 1 lanin wheel 19427 1998-03-16 tdcspinf.obj
-rw-r--r-- 1 lanin wheel 51107 1998-03-16 tde_csp.h

./14:
total 80
-rw-r--r-- 1 lanin wheel 3249 1998-03-16 cspcode.h
-rw-r--r-- 1 lanin wheel 652 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 573 1998-03-16 makefile.sam
-rw-r--r-- 1 lanin wheel 9976 1998-03-16 ops.c
-rw-r--r-- 1 lanin wheel 22419 1998-03-16 sampcsp.c
-rw-r--r-- 1 lanin wheel 8705 1998-03-16 sampcsp.dat
-rw-r--r-- 1 lanin wheel 1493 1998-03-16 sampcsp.h
-rw-r--r-- 1 lanin wheel 8627 1998-03-16 tdefcn.h

./15:
total 528
-rw-r--r-- 1 lanin wheel 492 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 683 1998-03-16 nlibmain.obj
-rw-r--r-- 1 lanin wheel 7028 1998-03-16 tde.def
-rw-r--r-- 1 lanin wheel 30352 1998-03-16 tden_nb.lib
-rw-r--r-- 1 lanin wheel 10056 1998-03-16 tden_np.lib
-rw-r--r-- 1 lanin wheel 12702 1998-03-16 tden_tp.lib
-rw-r--r-- 1 lanin wheel 413118 1998-03-16 tdenc.lib

./16:
total 608
-rw-r--r-- 1 lanin wheel 341 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 519936 1998-03-16 tdenet.exe
-rw-r--r-- 1 lanin wheel 14050 1998-03-16 tdenet.hlp
-rw-r--r-- 1 lanin wheel 39936 1998-03-16 tdenettp.dll

./17:
total 476
-rw-r--r-- 1 lanin wheel 7176 1998-03-16 etdemo.ddl
-rw-r--r-- 1 lanin wheel 501 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 1114 1998-03-16 sample.ddl
-rw-r--r-- 1 lanin wheel 383232 1998-03-16 tddl.exe
-rw-r--r-- 1 lanin wheel 13838 1998-03-16 tde.err
-rw-r--r-- 1 lanin wheel 42496 1998-03-16 tderr.exe
-rw-r--r-- 1 lanin wheel 19337 1998-03-16 tdutil.err

./18:
total 412
-rw-r--r-- 1 lanin wheel 325 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 13838 1998-03-16 tde.err
-rw-r--r-- 1 lanin wheel 372992 1998-03-16 tdrcv.exe
-rw-r--r-- 1 lanin wheel 19337 1998-03-16 tdutil.err

./19:
total 1312
-rw-r--r-- 1 lanin wheel 841 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 23687 1998-03-16 tape.c
-rw-r--r-- 1 lanin wheel 28672 1998-03-16 tbmflp.dll
-rw-r--r-- 1 lanin wheel 26112 1998-03-16 tbmtap.dll
-rw-r--r-- 1 lanin wheel 10032 1998-03-16 tdaddsu.err
-rw-r--r-- 1 lanin wheel 15372 1998-03-16 tdaddsu.ert
-rw-r--r-- 1 lanin wheel 371456 1998-03-16 tdaddsu.exe
-rw-r--r-- 1 lanin wheel 40500 1998-03-16 tdbadm.err
-rw-r--r-- 1 lanin wheel 50876 1998-03-16 tdbadm.ert
-rw-r--r-- 1 lanin wheel 617216 1998-03-16 tdbadm.exe
-rw-r--r-- 1 lanin wheel 13838 1998-03-16 tde.err
-rw-r--r-- 1 lanin wheel 420 1998-03-16 tdebkapi.def
-rw-r--r-- 1 lanin wheel 28672 1998-03-16 tdebkapi.dll
-rw-r--r-- 1 lanin wheel 9834 1998-03-16 tdebkapi.h
-rw-r--r-- 1 lanin wheel 37376 1998-03-16 tdgenerr.exe

./20:
total 1084
-rw-r--r-- 1 lanin wheel 378 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 9007 1998-03-16 tdbrs.err
-rw-r--r-- 1 lanin wheel 387840 1998-03-16 tdbrs.exe
-rw-r--r-- 1 lanin wheel 344320 1998-03-16 tdecomp.exe
-rw-r--r-- 1 lanin wheel 349440 1998-03-16 tdregen.exe

./21:
total 196
-rw-r--r-- 1 lanin wheel 381 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 13838 1998-03-16 tde.err
-rw-r--r-- 1 lanin wheel 153600 1998-03-16 tdimln.exe
-rw-r--r-- 1 lanin wheel 19337 1998-03-16 tdutil.err

./22:
total 184
-rw-r--r-- 1 lanin wheel 270 1998-03-16 books
-rw-r--r-- 1 lanin wheel 20553 1998-03-16 books.c
-rw-r--r-- 1 lanin wheel 395 1998-03-16 books.def
-rw-r--r-- 1 lanin wheel 918 1998-03-16 books.h
-rw-r--r-- 1 lanin wheel 3638 1998-03-16 books.rc
-rw-r--r-- 1 lanin wheel 418 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 413 1998-03-16 sample.h
-rw-r--r-- 1 lanin wheel 91146 1998-03-16 tddl2c.exe
-rw-r--r-- 1 lanin wheel 37649 1998-03-16 tde_api.h

./23:
total 1200
-rw-r--r-- 1 lanin wheel 5604 1998-03-16 about.frm
-rw-r--r-- 1 lanin wheel 5168 1998-03-16 aboutbox.frm
-rw-r--r-- 1 lanin wheel 9534 1998-03-16 addbook.frm
-rw-r--r-- 1 lanin wheel 10205 1998-03-16 addkey2.frm
-rw-r--r-- 1 lanin wheel 11120 1998-03-16 biograph.frm
-rw-r--r-- 1 lanin wheel 9556 1998-03-16 bookinfo.frm
-rw-r--r-- 1 lanin wheel 19496 1998-03-16 books.frm
-rw-r--r-- 1 lanin wheel 570 1998-03-16 books.mak
-rw-r--r-- 1 lanin wheel 13874 1998-03-16 dbkey.frm
-rw-r--r-- 1 lanin wheel 11851 1998-03-16 dbstats.frm
-rw-r--r-- 1 lanin wheel 3409 1998-03-16 ddltbox.frm
-rw-r--r-- 1 lanin wheel 3515 1998-03-16 ddltext.frm
-rw-r--r-- 1 lanin wheel 6810 1998-03-16 deptfind.frm
-rw-r--r-- 1 lanin wheel 24053 1998-03-16 empadd.frm
-rw-r--r-- 1 lanin wheel 6093 1998-03-16 empfind.frm
-rw-r--r-- 1 lanin wheel 24063 1998-03-16 empview.frm
-rw-r--r-- 1 lanin wheel 52584 1998-03-16 epbase.frm
-rw-r--r-- 1 lanin wheel 1859 1998-03-16 etdemo.bas
-rw-r--r-- 1 lanin wheel 7176 1998-03-16 etdemo.ddl
-rw-r--r-- 1 lanin wheel 677 1998-03-16 etdemo.mak
-rw-r--r-- 1 lanin wheel 5355 1998-03-16 exempt.frm
-rw-r--r-- 1 lanin wheel 2441 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 3026 1998-03-16 global.bas
-rw-r--r-- 1 lanin wheel 1477 1998-03-16 globals.bas
-rw-r--r-- 1 lanin wheel 7051 1998-03-16 keywordi.frm
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 67202 1998-03-16 load.frm
-rw-r--r-- 1 lanin wheel 6266 1998-03-16 loadcsp.frm
-rw-r--r-- 1 lanin wheel 6653 1998-03-16 nonexemp.frm
-rw-r--r-- 1 lanin wheel 5844 1998-03-16 sales.frm
-rw-r--r-- 1 lanin wheel 12348 1998-03-16 samphlp2.hlp
-rw-r--r-- 1 lanin wheel 4968 1998-03-16 sample.bas
-rw-r--r-- 1 lanin wheel 25600 1998-03-16 sample.db
-rw-r--r-- 1 lanin wheel 1114 1998-03-16 sample.ddl
-rw-r--r-- 1 lanin wheel 8101 1998-03-16 stats.frm
-rw-r--r-- 1 lanin wheel 11368 1998-03-16 taskadd.frm
-rw-r--r-- 1 lanin wheel 6011 1998-03-16 taskfind.frm
-rw-r--r-- 1 lanin wheel 102400 1998-03-16 tddl2vb.exe
-rw-r--r-- 1 lanin wheel 42618 1998-03-16 tde_api.txt
-rw-r--r-- 1 lanin wheel 203264 1998-03-16 tden_nb.dll
-rw-r--r-- 1 lanin wheel 188416 1998-03-16 tden_np.dll
-rw-r--r-- 1 lanin wheel 189440 1998-03-16 tden_tp.dll
-rw-r--r-- 1 lanin wheel 17459 1998-03-16 tidbopn.frm

./24:
total 908
-rw-r--r-- 1 lanin wheel 651 1998-03-16 files.lst
-rw-r--r-- 1 lanin wheel 64 1998-03-16 level.no
-rw-r--r-- 1 lanin wheel 12326 1998-03-16 sam2db.c
-rw-r--r-- 1 lanin wheel 11536 1998-03-16 sample.c
-rw-r--r-- 1 lanin wheel 6832 1998-03-16 samplein.dat
-rw-r--r-- 1 lanin wheel 99840 1998-03-16 tddl2c.exe
-rw-r--r-- 1 lanin wheel 39867 1998-03-16 tde_api.h
-rw-r--r-- 1 lanin wheel 153616 1998-03-16 tde_i.lib
-rw-r--r-- 1 lanin wheel 203264 1998-03-16 tden_nb.dll
-rw-r--r-- 1 lanin wheel 188416 1998-03-16 tden_np.dll
-rw-r--r-- 1 lanin wheel 189440 1998-03-16 tden_tp.dll

I worked with it from Windows NT 4.0 using VC 5.0.
In general, Titanium supported various OS and languages:
tit_srv.png
tit_cli.png
tit_lang.png
 
Wikipedia covers it well.
Sorry, I'd like to challenge you for the links here. If you read Wikipedia for the definition, you will discover that terms 'Database' and 'Relational Database Management System' are normally used interchangeably. And I frankly think it's on you to get my attention to information to the contrary. It's not my job to go dig it up. That being said, I'll be happy to read the information you dig up for me.
 
terms 'Database' and 'Relational Database Management System'
While I'm not going to bother commenting on the Wikipedia stuff - one thing I'd like to point out is that not every database is a Relational Database. There are plenty of non-relational databases out there.
 
While I'm not going to bother commenting on the Wikipedia stuff - one thing I'd like to point out is that not every database is a Relational Database. There are plenty of non-relational databases out there.
Non-relational databases are just another data storage format. You can still set up query engines and define data relationships even if you use MongoDB. 😮‍💨 Nothing wrong with non-relational databases, they have their place at the table, it's good to know about them, and to use them where appropriate. If they solve the puzzle for you, great. My point is, it's important to recognize them for what they are, and where they fit in the computing stack.
 
the definition, you will discover that terms 'Database' and 'Relational Database Management System' are normally used interchangeably
There is increasing sloppiness in how people use words but what you write here is not true. If you don't like wikipedia there are other more authoritative sources such as database textbooks that you can look up.
 
You can still set up query engines and define data relationships
This would strongly defy the purpose of using a non-relational database in the first place.
A few years ago I was handed over a customer project "to fix some problems" where they did exactly that. I still feel the pain to this day.
 
😮‍💨 I tried reading up on 'Non-relational databases'. A good explanation is found here: https://www.pluralsight.com/blog/software-development/relational-vs-non-relational-databases .
Instead of the Structure Query Language (SQL) used by relational databases, the NoSQL database uses Object-relational-mapping (ORM). The concept of ORM is the ability to write queries using your preferred programming language. Some of the more popular ORMs are Java, Javascript, .NET and PHP.

You can treat NoSQL queries as something that is de-coupled from the storage and everything else. In traditional RDBMS packages, query engines and storage formats are part of the same package. NoSQL simply removes the requirement that they be part of the same package. You can mix and match components, as long as you have usable API.

This would strongly defy the purpose of using a non-relational database in the first place.
A few years ago I was handed over a customer project "to fix some problems" where they did exactly that. I still feel the pain to this day.
To me, this sounds like the problem was not framed very well in the first place. For example, where in the computing stack do you even decide to set up the query engine? The query engine can be implemented as something on the client laptop that works with downloaded data. Or it can be on the server, eating up the processor cycles (and slow the data download in the first place).
 
There is increasing sloppiness in how people use words but what you write here is not true. If you don't like wikipedia there are other more authoritative sources such as database textbooks that you can look up.
Still no links or other info coming from you to the contrary. I still have my college textbooks about databases. I did quite well in those classes, BTW. 😮‍💨
 
You can treat NoSQL queries as something that is de-coupled from the storage and everything else.
Or treat as nothing defined. Just data structures that can be saved, and access to them with a programming language. It is sure very wise to do that. We do it continuously, we open, seek, read, write and close files. What else can a nosql db be? But typical from computer scientists is to make big stories with pretty names for nothing special.

Indeed, sql as a language to query tables, is something very special and powerful. Big dbms cannot be easily embedded in a small program, but sqlite3 is fantastic, then you have two languages, the one of the program and sql. Why not if tables are adequate?
 
Or treat as nothing defined. Just data structures that can be saved, and access to them with a programming language. It is sure very wise to do that
To me, that means extra programming efforts to define all the needed details yourself. Kinda reminds me of C, where every variable/data structure needs to be declared, defined, and initialized before you can use it.
Quote from Wikipedia's entry on B-trees: (https://en.wikipedia.org/wiki/B-tree)
The B-tree remains the standard index implementation in almost all relational databases, and many nonrelational databases use them too.
😮‍💨
 
Or treat as nothing defined. Just data structures that can be saved, and access to them with a programming language. It is sure very wise to do that. We do it continuously, we open, seek, read, write and close files. What else can a nosql db be? But typical from computer scientists is to make big stories with pretty names for nothing special.

Indeed, sql as a language to query tables, is something very special and powerful. Big dbms cannot be easily embedded in a small program, but sqlite3 is fantastic, then you have two languages, the one of the program and sql. Why not if tables are adequate?
SQLite handles SQL95 queries just fine, thank you.
 
Non-relational databases are just another data storage format.
No, non-relational databases are both a storage format, and a whole data management product. They are actually significantly older than relational databases. Two examples: First, IBM IMS (a hierarchical, non-relational database) started shipping in 1966; the first relational database prototype (System R) was created in the mid- to late- 1970s. Another type of database that came before relational was network (and by that I don't mean that it has anything to do with networking in the TCP/IP sense, but that it uses a network of links between data items to describe the data). You could say that this is old-fashioned and irrelevant today, except for the fact that pre-relational databases still make their vendors billions of $. I'm going to bet that the revenue of IBM IMS alone is at least 10x larger than the revenue of all companies providing FreeBSD services.

Today, there is a whole lot of non-relational databases, they are typically called NoSQL. It's quite the hip thing. Lots of money going into it, and lots of talks about them at conferences. They typically power the backend of web workloads, and big data applications.

And now the anecdote: I started programming commercial solutions in COBOL and RPB-II in the late 70s, and I used "databases" (which in those days were mostly key-value indexed files, cunningly stitched together). Then when I started studying in 1980, I signed up for a database class (it was sort of an advanced computer class). The professor started by pointing out that there is this new thing called "relational" databases, but it isn't clear whether it will ever succeed, so he was going to teach only hierarchical databases. It was a theory class (without programming homework), and I dropped it after a few lectures, since it didn't seem relevant to what I wanted to do.
 
No, non-relational databases are both a storage format, and a whole data management product. They are actually significantly older than relational databases. Two examples: First, IBM IMS (a hierarchical, non-relational database) started shipping in 1966; the first relational database prototype (System R) was created in the mid- to late- 1970s. Another type of database that came before relational was network (and by that I don't mean that it has anything to do with networking in the TCP/IP sense, but that it uses a network of links between data items to describe the data). You could say that this is old-fashioned and irrelevant today, except for the fact that pre-relational databases still make their vendors billions of $. I'm going to bet that the revenue of IBM IMS alone is at least 10x larger than the revenue of all companies providing FreeBSD services.

Today, there is a whole lot of non-relational databases, they are typically called NoSQL. It's quite the hip thing. Lots of money going into it, and lots of talks about them at conferences. They typically power the backend of web workloads, and big data applications.

And now the anecdote: I started programming commercial solutions in COBOL and RPB-II in the late 70s, and I used "databases" (which in those days were mostly key-value indexed files, cunningly stitched together). Then when I started studying in 1980, I signed up for a database class (it was sort of an advanced computer class). The professor started by pointing out that there is this new thing called "relational" databases, but it isn't clear whether it will ever succeed, so he was going to teach only hierarchical databases. It was a theory class (without programming homework), and I dropped it after a few lectures, since it didn't seem relevant to what I wanted to do.
What IBM had back then is easy to see as a storage format that had everything else developed around it, including queries and data relations.
I still find your essays interesting, Professor ralphbsz . ;)
 
Do you mean database or database management system (DBMS)?
what's the difference?
'Database' may mean several slightly different things. Usually, when tech people talk about databases they mean DBMSes. But 'database management system' is a bit long for use in conversation, so personally I prefer just 'database system' as I feel the 'management' bit is implied and superfluous to spell out.

There are two other common meanings of 'database' besides DBMS:
  1. The collection of tables, columns, the data inside these, as well as other objects such as views and stored procedures that reside inside a particular instance of an DBMS. Typically, the things that can be backed up with programs such as mysqldump, mariadb_dump, mydumper, pg_dump and so on.
  2. 'Database' can sometimes also just mean a collection of data, e.g. text files or image files, maybe stored in a directory structure, maybe curated by a researcher or software developer. There is no 'management system' here, just data, as the management is done manually by the curator. Such "databases" can be used e.g. for software testing or to show how a particular software changes/improves with newer versions.

Disclaimer: This is based on personal experience and opinion so mileage may vary!
 
'Database' may mean several slightly different things. Usually, when tech people talk about databases they mean DBMSes. But 'database management system' is a bit long for use in conversation, so personally I prefer just 'database system' as I feel the 'management' bit is implied and superfluous to spell out.

There are two other common meanings of 'database' besides DBMS:
  1. The collection of tables, columns, the data inside these, as well as other objects such as views and stored procedures that reside inside a particular instance of an DBMS. Typically, the things that can be backed up with programs such as mysqldump, mariadb_dump, mydumper, pg_dump and so on.
  2. 'Database' can sometimes also just mean a collection of data, e.g. text files or image files, maybe stored in a directory structure, maybe curated by a researcher or software developer. There is no 'management system' here, just data, as the management is done manually by the curator. Such "databases" can be used e.g. for software testing or to show how a particular software changes/improves with newer versions.

Disclaimer: This is based on personal experience and opinion so mileage may vary!
Ummmm... in your post, #1 can be described as a database instance (https://en.wikipedia.org/wiki/Instance_(computer_science)) on a server. Actual tables, and related programs to make use of contents. #2 can be described as a dataset. (https://en.wikipedia.org/wiki/Data_set) These are actual terms with a formal definition.
 
A database doesn't need to be computerized. Phone books, general ledgers, recipe boxes, and Rolodex organizers are all examples of databases. The data doesn't even need to be organized although it certainly is very convenient when it is.

Sorry, but I'd quibble with that. I think that digitizing and organizing data are the very essence of a database. Even if you have a 'Divide and Conquer' approach to looking through a Rolodex organizer - it's still not a digital thing, so therefore not a 'database'.

Even if Rolodex functionality were replicated in a computer, it would amount to browsing scanned images of the same cards using Gwenview or Dolphin without a search feature. Nobody would call that a database, I'd think. Just a directory where files are dumped, like /etc.
 
Back
Top