Skip to content

Releases: nahcrof-code/nahcrofDB

2.9.1

Choose a tag to compare

@scuzzles scuzzles released this 12 Feb 23:39
af1a082

Added postGetKeys to client and main.py, it functions the same way as getKeysList but uses a post request since get requests can only be so large before the server just says "nuh uh" and refuses the request. (WARNING: using postGetKeys can be very heavy on memory usage as all of the values must be loaded in memory in order to be sent, if the data you are requesting is large enough to need this, you should either avoid using it regularly or ensure the nahcrofDB server has enough ram to do this with plenty of overhead)

2.9.0

Choose a tag to compare

@scuzzles scuzzles released this 29 Oct 03:04
fddd1da

Improved UI to better match nahcrof hosting style

2.8.1

Choose a tag to compare

@scuzzles scuzzles released this 01 Oct 00:09
ccd142e
  • Updated main.py

tests using tests.py were not matching speeds seen when writing large numbers of keys at once. Loops were being ran twice causing O(n^2) speeds as opposed to O(n). v2 makeKeys will now roughly match the speeds seen in tests.py (with the main difference being the time it takes to iterate over a dictionary compared to iterating with range in python).

2.8

2.8

Choose a tag to compare

@scuzzles scuzzles released this 14 Aug 22:25
69e4360
  • Updated client to have early "enterprise" support, allowing for reduntant databases, currently only fully supports one active reduntant database but will eventually be able to switch the active database multiple times. This creates each write across all extra databases, which will cause slow down to the nth degree (where n is the total number of additional databases). Automatically will assume it only needs to read from the main database but will read from others in the event of primary database failure (meaning that the primary database will not be used even upon returning back online, under the assumption that it will no longer be properly synced with the backup database.

  • Fixed long lasting bug causing key deletion to occasionally be ignored as a result of not being properly found within the in-memory structure.

2.7

2.7

Choose a tag to compare

@scuzzles scuzzles released this 14 Apr 04:30
00908e8
  • Fixed Queueing bug
  • Complete UI rework (very pretty)

v2.6.2

Choose a tag to compare

@scuzzles scuzzles released this 19 Jan 18:19
7d125ce

Fixed nahcrofDB.convert_old_st.
If you have and old structure file, the database will automatically make a corresponding partitions.db file

v2.6.1: Update tools.py

Choose a tag to compare

@scuzzles scuzzles released this 19 Jan 06:21

Uhm, updated 2.6.0 to have proper tools.py program, should probably go there to see the important things

v2.6.0: Big updates and optimizations

Pre-release

Choose a tag to compare

@scuzzles scuzzles released this 19 Jan 06:14

General updates

  • Added optional in-memory structure (new default)
  • Added optinal in-memory writes queue (new default)
  • optimized writes queue (handles ~600,000 writes per second, only limitation is ram)
  • Added "kill_db" which flushes all queued writes into the database before killing the program.
  • Created tests.py to test various database functions and their speeds.
  • Structure format is now a Structure Write-Ahead Log (SWAL). This is extremely similar to a regular WAL, except this is not all database transactions, this is all transactions to the structure and it is the only way the structure can be interacted with. When nahcrofDB starts, the entire structure will be "built" in memory (if st_store_method is set to "memory")
  • Databases no longer track total writes or reads made.

v2.5.0

Choose a tag to compare

@scuzzles scuzzles released this 10 Jan 01:17
  • Updated search again to only search main database contents. Searching queued writes is ~200x slower
  • Created searchNames function. Allows for the db user to search for keys with names containing specific data. ~3.5x faster than searching key contents
  • Updated documentation
  • Version number displays in dashboard
  • Database name is displayed as the title of the page for /view_db/ route

v2.4.0: updated search

Choose a tag to compare

@scuzzles scuzzles released this 06 Jan 20:36

Write queues are now checked as opposed to causing a key to be ignored. This means, if a key is in the queue and a read is attempted, instead of waiting and retrying, the value will be read from the queue to quickly get the most current version of the key. This also applies for searches, when searching the database, after checking the written database, the search will check the queue, if for some reason the updated version contains a queued write that makes a key no longer accurate to the query, the key will be removed as it's most recent version does not apply. If there is a key in the queue that was not in the database that the query applies to, it will be added to the result. This is a pre-release because further testing should be done.