BRS Commands
BRS stands for BangDB Resource Server. BRS is for dealing with large files or objects, where the file / object size could go from few KBs to several GBs. BRS allows users to create buckets and then put the files or objects in these buckets.
There are two default buckets that BangDB creates when it creates a db, namely "ml_bucket_info"
and"udf_bucket_info"
. These are for storing ML related files and user defined functions respectively.
We can interact with BRS using the commands from CLI as follows.
Create buckets
create bucket mybucket bucket [ mybucket ]
created
To see the buckets in the db
show buckets
+-----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|key |val |
+-----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|mybucket |{"bucket_name":"mybucket","access_key":"brs_access_key","secret_key":"secret_key", | | |"num_objects":" 0","create_time":1611991680677004,"ttl":0,"_pk":"mybucket","_v":1} |
+-----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|ml_bucket_info |{"bucket_name":"ml_bucket_info","access_key":"brs_access_key","secret_key":"brs_secret_key", | | |"ttl":604800,"num_objects":" 0","create_time":1611919352456474,"_pk":"ml_bucket_info","_v":1} |
+-----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|bangdb_udf_bucket |{"bucket_name":"bangdb_udf_bucket","access_key":"brs_access_key","secret_key": | | |"brs_secret_key","ttl":604800,"num_objects":" 0","create_time":1611919352512129,"_pk":"bangdb_udf_bucket","_v":1} |
+-----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
To put file in the buckets (Let's say we wish to upload a file name abc.txt, present at /home/sachin/Documents. Size of the file is around 17MB)
putfile /home/sachin/Documents/abc.txt into mybucket where filekey = "abc_file_key"
successfully put the file
Show the files in the bucket
show from mybucket {
"total_keys" : 1,
"key_list" : [ { "key" : "abc_file_key:0:17:17254154:1612102871582854" } ]
}
success
To get the file from the BRS (Here we call the getfile command for the given file key and store the retrieved file at "/home/sachin/Document/xyz.txt")
getfile /home/sachin/Documents/xyz.txt from mybucket where filekey = "abc_file_key"
success in getting the file
To count the number of items in the bucket
count from mybucket total num of files = 1
To delete the file
delfile from mybucket where filekey = "abc_file_key"
file deleted successfully
To drop the bucket
drop bucket mybucket
do you wish to delete the bucket and all its files? [ yes | no ]: yes
bucket [ mybucket ] successfully dropped