loveddb
Why a new database.
-
Partial Schemaless database (uniqueness of field(s) and table relationships need to be explicitly created).
-
Supports its own query language.
-
Every data stored in this database is automatically indexed unless it is large.
-
Table Expansion (a more comfortable form of joins)
Regular Features
- Query Cache that can be turned "on" or "off". It improves the speed but comes at a cost of needing more RAM.
Technologies Used.
Data and Query Considerations
Every data is representable as string. This database only supports the string data type.
List Data Type.
It could be stored as comma separated like "James,Jamer,Jaker" and be splitted from a program to get it
in list form.
No Date Functions
Dates could be splitted to enable more query options. Such as searching by month or year.
JOIN Queries
Join queries here are in the form of table expansion. Check the sample in the
documentation for details.
Building the Program
-
Clone this program and switch to the imported directory.
-
Run go run build.go
to compile the program.
On Launching
The main database process is the ldb_storer
program.
By default it would launch without asking for access keys.
Production
-
Set the LDB_PRODUCTION
environment variable to true
.
-
Set the LDB_DATA_PATH
environment variable to the path you want your data stored. This is to support
mounted disks.
-
Run the ldb_mkpass
program to get your key. This key is to be included in every call to the database.
-
Then you can now launch the database by running the ldb_storer
program.
Documentation of Loveddb Library
Can be found here
Configuration Options
The configuration options are all set as environment variables.
-
LDB_DATA_PATH
: set to the directory that you want to save the database files
-
LDB_DEBUG
: prints out more details after an error.
-
LDB_ENABLE_CACHE
: set to either "true" or "false".
-
LDB_PORT
: set to a number. Used to change the port
-
LDB_PRODUCTION
: set to either "true" or "false". Enables the use of access codes (key string)
License
Released with the MIT License