Skip to main content

Storage

The Storage Service provides you with different tools to store information.

Storage Engines

  1. KevinDB (Key Value Identity-Integrated DB)
  2. KevsimDB (Key Value Simple DB)
  3. File Storage

1. Key Value Identity-Integrated DB

Official docs

This non-relational database engine allows data to be stored as key-value tuples.

The advantage of this engine is that it allows managing multiple users, and it has a solid route structure that allows you to play with access, reading and writing permissions, depending on the type of user.

Route structure

The routes are integrated with Identity Service. Examples of keys for user ID ABC123:

Private routes:

ABC123/Private/Settings/fullscreen
ABC123/Private/Settings/in-game-name
ABC123/Private/Settings/language

Shared routes:

ABC123/Shared/$global/user-status
ABC123/Shared/$admin/user-location
ABC123/Shared/XYZ456/chat

Temporal routes:

ABC123/(Connection ID)/$me/message-draft
ABC123/(Connection ID)/$me/match-start-date

Structure:

Note: You will find this updated structure in the official KevinDB documentation

  • Private: only the user can write and read. Useful for storing user settings.
  • ReadOnly: the admin can write and read. The user can only read. Useful for configuring game variables, for example, factors that affect the calculation of RPG game formulas through multiplication, to achieve a better balance.
  • Shared/[Target]: user can write and read. Other users can read.
    • $global: all users can read.
    • $admin: all admins can read.
    • [User ID]: only the specific User ID can read.
  • Temp/[Connection ID]/[Target]: only the user can write and read. All the data is deleted when connection closes. This folder don't accept big keys.
    • $me: only the creator can read and write.
    • $global: all users can read.
    • $admin: all admins can read.
    • [User ID]: only the specific User ID can read.

2. Key Value Simple DB

This engine will be developed soon.

3. File Storage

File Storage is an object storage solution for the cloud. File Storage is optimized for storing massive amounts of unstructured data. Unstructured data is data that doesn't adhere to a particular data model or definition, such as text or binary data. This storage engine is designed for:

  • Writing and reading files.
  • Storing files for distributed access.
  • Writing to log files.
  • Storing data for backup and restore, disaster recovery, and archiving.

Features

  • Create, write, list, read, download and delete files of any format.
  • Directory system to organize your files inside folders.
  • Customizable access control system.
  • Restrict access based on credentials or users.

Dashboard

Sections

  • Back button (top-left): Returns to the project page.
  • Help icon (top-right): Opens this documentation.

Overview Area

It shows four boxes with useful information.

  • The first indicates the total number of databases in the project.
  • The second shows the number of rows or values currently stored in the databases.
  • The third shows the occupied size in Megabytes.
  • The last one shows a summary of the last requests.

Storage Engines Area

KevinDB Tab

The engines are divided into three tabs with their own names. In the image we appreciate the view when choosing the first tab, that is, the KevinDB tab. Inside it we can see an action bar, and a table with the existing databases for this engine.

  • Action bar: Allows you to create a new database and manage backups.

Sections

The new database name must be a slug. A URL slug is the part of the URL after the last backslash. For example, the article you’re reading now has a URL that looks like this: https://forjagames.github.io/fg-api/docs/dashboard/new-database. the slug would be new-database.

  • DBs Table: Shows the metadata of the databases. By clicking on each row, a menu is displayed that will allow us to perform a series of actions.

Sections

  • Menu items
    1. Explore (new window): Opens the Explorer in a new window.
    2. Explore: Opens the Explorer.
    3. Edit: Allows you to rename the database.
    4. Copy UUID: Copies the UUID of the database to the clipboard.
    5. Delete: Deletes the database permanently.
    6. Cancel: Close the menu without performing any action.

Files Tab

The files tab is for create/edit drives, and explore them to manage their files.

FilesTab

  • Menu items
    1. Explore (new window): Opens the Explorer in a new window.
    2. Explore: Opens the Explorer.
    3. Edit: Allows you to rename and/or expand the drive.
    4. Copy UUID: Copies the UUID of the drive to the clipboard.
    5. Delete: Deletes the drive permanently.
    6. Cancel: Close the menu without performing any action.

Explorer

  • DB Explorer is a tool for browsing the service's databases, query rows, view and modify data, manage users, groups, and backups.
  • Files Explorer is a tool for browsing the service's drives, manage files and backups.

Storage Servers

We provide you multiple servers for data storage. Each server can be selected when adding a new drive or a new database.

In addition to our servers, you also have the option to add your own servers (for private use). For this functionality, please get in touch with our technical support, and we will assist you in adding and enabling them.