nosqlbench/devdocs/devguide
2023-12-06 14:26:53 -06:00
..
_tosort remainder of changes for scenario rework that need to be itemized 2023-12-06 14:26:53 -06:00
apis update wip devguide 2021-02-04 17:47:13 -06:00
drivers naming: use ParsedOp instead of ParsedCommand 2021-09-13 09:43:19 -05:00
nbui update wip devguide 2021-02-04 17:47:13 -06:00
adding_scenarios.md update wip devguide 2021-02-04 17:47:13 -06:00
design_principles.md update wip devguide 2021-02-04 17:47:13 -06:00
hybrid_ratelimiter.md docs updates 2020-12-02 14:18:39 -06:00
hybrid_ratelimiter.png update docs for hybrid ratelimiter 2020-12-04 10:24:37 -06:00
hybrid_ratelimiter.svg reorg stale docs 2021-02-04 17:46:58 -06:00
java_versions.md update wip devguide 2021-02-04 17:47:13 -06:00
nb_docs.md add sibling labels restriction and some docs 2023-10-23 16:45:10 -05:00
nbio_api.md update wip devguide 2021-02-04 17:47:13 -06:00
project_structure.md update wip devguide 2021-02-04 17:47:13 -06:00
README.md update wip devguide 2021-02-04 17:47:13 -06:00
scripting_extensions.md update wip devguide 2021-02-04 17:47:13 -06:00

Developing with NoSQLBench

This is an overview of how to develop within the NoSQLBench ecosystem. This guide

Welcome All

The NoSQLBench project welcomes all contributors, so long as you are willing to abide by the code of CODE OF CONDUCT. Further, you must be willing to license your contributions under the APLv2.

Basics

Herein, and in other docs, you may see NoSQLBench abbreviated as NB (the project) or nb (the command).

This dev guide covers detailed topics which can help you get bootstrapped as a contributor. It does not try to cover all the topics which are included in the main documentation. What you see in this guide wil assume you have some familiarity with NoSQLBench as a user.

Topics

  • Design Principles - This is a short treatise that explains the architectural principles behind NoSQLBench.
  • Project Structure - An explanation of the module naming and dependency structure.
  • Dynamic Endpoints - An introduction to the appserver mode and how to write new webservices for it.
  • Driver How-To - An introduction for new driver designers, including API guides and driver standards.
  • NBUI Development - An introduction to the UI subsystem (NBUI), and tricks for effective development.
  • Java versions - A map of where java versions are configured in the project.
  • Scripting Extensions - A guide on what scripting extensions are, how they are used, and how to build one.
  • Documentation Sources - Where docs are located
  • Adding Scenarios - How to add built-in scenarios

API Naming

In general, internal APIs which are suggested for use throughout NoSQLBench will start with the NB prefix, such as NBIO, or NBErrors. This makes these APIs easier to find and reference when building new drivers or core functionality.

New contributors should familiarize themselves with these APIs so that they can employ them when appropriate. These APIs should also have sufficient documenation here and in Javadoc to explain their usage.

API Guides