|
STOR
Server-less, Embeddable NoSQL Document Store
|
For a more complete Documentation, refer to http://esft-stor.readthedocs.io/en/latest/
Note: Pull requests not accepted until February 2018, as this is part of my MSc thesis project.
C++ serverless NoSQL document-store
Platforms:
Tool Dependencies:
Library Dependencies:
All dependencies licenses can be found on the links above or in the "license" folder in the respective folder under dependencies/.
Note:
All dependencies are already provided (for convenience and for self-contained testing) in the dependencies/ folder for the respective platforms. Building scripts called during CMake-builds automatically take care of building the respective 64-bit libraries for you. You are free to manage the dependencies the way you like, just make sure you modify the CmakeLists.txt accordingly.
Boost UUID dependencies, extracted with the bcp utility (http://www.boost.org/doc/libs/1_64_0/tools/bcp/doc/html/index.html) are also included. If you already have Boost headers on the PATH g++ looks into for headers, then you may remove it from the dependencies/build.py and remove boost_uuid_ROOT_DIR from CmakeLists.txt.
Tip: When linking libstor.a to your own executable, you may want to take note of the dependencies linked with the stor_test target for each platform and replicate the linking them in your own executable.
Install:
esft::stor uses Cmake. To build the library, make an out of source directory
mkdir stor_build
Then setup the project Cmake cache and relative files that will be used during the build
chdir stor_build cmake [OPT] ../stor
Note:
OPT refers to the various CMake options you can use, such as -G "Unix Makefiles. This is the place where to use -DSTOR_CRYPTO if you plan on using the encrypting facilities of the database.
Then build the desired target
cmake --build . --target stor
And run the tests:
cmake --build . --target stor_test ./stor_test
CSTOR is the C binding of esft::stor
The sources are located in bindings/c
CSTOR uses Cmake like esft::stor so installation follows the same guideline
The test target is cstor_test and the shared library target is cstor
Note: As with esft::stor, you can specify -DSTOR_CRYPTO if desired.
PYSTOR is the Python binding of esft::stor
The sources are located in bindings/python
Install:
Pystor uses CSTOR as the interface to esft::stor via ctypes (https://docs.python.org/2/library/ctypes.html) so the shared library libcstor has to be built.
To build libcstor, proceed with setting up cmake as noted above (again, -DSTOR_CRYPTO can be specified) and then invoke the cmake target pystor_setup Alternatively, the script bindinds/python/build.py may be invoked.
After having setup pystor, the shared library libcstor will be placed in the python package and you can proceed with invoking the following command
python setup.py install
to complete the installation.
1.8.13