Skip to content

yooz-lang/yooz-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yooz Lang Database Engine


Overview

Yooz is a multi-layer database engine designed for efficient hierarchical data storage, management, and retrieval. It stores data in .yooz files, allowing flexible structured and nested layers for dynamic data organization. Yooz offers a command-line interface (CLI) with intuitive commands like CREATE, ADD, FIND, REMOVE, and CHANGE to interact with your data seamlessly.


Key Features

Hierarchical Data Management: Store, organize, and retrieve data in nested layers with flexible add, delete, and search operations.

Lightweight & Fast CLI: Optimized for developers who prefer working with efficient, minimalistic command-line tools.

Cross-Platform Support: Available for Linux (Debian/Ubuntu, Red Hat/CentOS) and Windows, with .deb, .rpm, and .msi installation packages.


Prerequisites

  • Supported Operating Systems:
    • Linux (Debian/Ubuntu and Red Hat/CentOS)
    • Windows
  • Required Tools:
    • Cargo and Rust for building the project
    • dpkg and rpm for package management (Linux)

Installation Guide

1. Debian/Ubuntu

  1. Download the ZIP package for Debian from the link below then extract it

  2. Run the installation script:

    ./install-debian.sh
  3. Verify the installation:

yooz --version

2. Red Hat/CentOS

  1. Download the ZIP package for Red Hat from the link below then extract it.
  2. Run the installation script:
    ./install-redhat.sh
  3. Verify the installation:
yooz --version

3. Windows

  1. Download the ZIP package for Windows from the link below then extract it.
  2. Execute the .msi installer file in the ZIP
  3. The yooz will be automatically added to your PATH.
  4. Verify the installation:
yooz --version

Database Structure

Yooz stores data in .yooz files using a hierarchical, multi-layered structure. Data can be organized in any order, mixing key-value pairs with nested layers at different levels.

Data Format:

  • Keys are marked with +

  • Values are marked with -

  • Each layer is enclosed in parentheses ()


Example Structure:

(
  +name
  -mohammad
  (
    +country
    -iran
  )
  +age
  -22
)

Queries

Yooz provides a set of queries for database management:

Query Description Example
CREATE Creates a new database. yooz CREATE dbname
ADD Adds data to the database. yooz "ADD TO dbname(key(layer)) value"
FIND Searches for data in the database. yooz "FIND IN dbname(key(layer))"
REMOVE Removes data from the database. yooz "REMOVE FROM dbname(key(layer))"
CHANGE Updates data in the database. yooz "CHANGE FROM dbname(key(layer)) new-value"
help Displays command help information. yooz help
--version Displays the installed version of yooz. yooz --version

Examples

1. Creating a Database:

yooz CREATE mydb

2. Adding Data:

yooz "ADD TO mydb(name(1)) mohammad"
yooz "ADD TO mydb(country(2)) iran"

3. Finding Data:

yooz "FIND IN mydb(name(1))"
  1. Updating Data:
yooz "CHANGE FROM mydb(age(1)) 23"

5. Removing Data:

yooz "REMOVE FROM mydb(name(1))"

Download Links

Debian RedHat Windows


Maintainer


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages