Distributed DisVM Database
Go to file
Linux User aee91c4ed0 wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00
appl wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00
.gitignore wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00
LICENSE wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00
README wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00
mkconfig wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00
mkfile wip - main, config, ctlfs 2023-07-22 16:17:55 +03:00

README

dddb (Distributed DisVM Database) is a WIP RDBMS, aimed
to run on DisVM, hosted or native.

TODO Components and functionalities

* dddbctl fs -	authenticated 9p fs to control, request, and query
				operations related to the database instance; it
				is the main driver for grid database
* dddbclient fs -	the tcp port 'dddb' is used such that clients
					can have a fs in which queries can be opened;
					it will support ANSI SQL
* db registry -	each instance will, on startup, connect to
				other instances defined in an ndb configuration
				file, register itself in that instance, and
				will be able to use it for: duplicating data,
				sharding data, and mount further instances;
				(i.e if a cluster is behind a firewall, and
				only one instance exposed, the hidden ones
				can be mounted outside the fw)
* data structures (1) -	primitives, pages, sections, indices,
						tables, rows
* data structures (2) - B-trees, Bloom filters
* storage operations -	a mounted directory tree will be used
						for RDRW operations; memfs will be used
						for caching the data in RAM (performance?)
* venti/vac support	-	venti + vac + memfs should suffice for
						storing and persisting data (ramfossil-like);
						this means scripts will clean and archive it
* SQL parser -			obviously
* statement optimizer -	obviously
* wm/dddbmon -			a nice admin monitor would be nice
* dddbjdbc/dddbodbc -	JDBC and ODBC drivers are mandatory