1. Installation

1.1. System Requirements

QuasarDB runs on several architectures, and requirements differ depending on which architecture you’re targeting.

As a general note, it is strongly advised to have a homogenous hardware configuration within a cluster.

1.1.1. x64 build

Our main build is optimized for modern CPUs.

  • An Intel Haswell or better microarchitecture (AMD Bulldozer or better)

  • End-to-end ECC memory highly recommended (motherboard, CPU and memory)

  • At least 512 MB of RAM

  • At least 1 GiB of disk

1.1.2. Core2 build

Our Core2 build is optimized for older CPUs, at a slight cost of performance, you will need it for architectures older than Haswell.

  • An Intel Core or better microarchitecture

  • End-to-end ECC memory highly recommended (motherboard, CPU and memory)

  • At least 512 MB of RAM

  • At least 1 GiB of disk

1.1.3. ARM64 build

Note

Our ARM builds may need special tuning to give you the best experience. Please contact your Solution Architect for configuration recommendations.

  • ARM64 architecture

  • At least 512 MB of RAM

  • At least 1 GiB of disk

1.2. Installation

The installation instruction may differ, depending on the operating system you are installing on.

Available images

QuasarDB hosts various Docker images on the official docker hub:

Image

Description

bureau14/qdb

QuasarDB daemon

bureau14/qdbsh

QuasarDB shell

bureau14/qdb-dashboard

QuasarDB dashboard

bureau14/qdb-replicate

QuasarDB replication tool

Example usage

You can use these images to launch a QuasarDB daemon as follows:

$ docker run -d  --name qdb-server bureau14/qdb
$ docker run -d -p 40000:40000 --link qdb-server:qdb-server -e QDB_URI=qdb://qdb-server:2836 bureau14/qdb-dashboard

You can now navigate with your browser to http://localhost:40000/#anonymous to open the dashboard.

You can also connect with the QuasarDB shell as follows:

$ docker run -ti --link qdb-server:qdb-server bureau14/qdbsh --cluster qdb://qdb-server:2836
quasardb shell version 3.4.3 build 3a2c17b 2019-10-15 07:56:15 +0000
Copyright (c) 2009-2019 quasardb. All rights reserved.

Need some help? Check out our documentation here:  https://doc.quasardb.net

qdbsh >

Environment variables

The QuasarDB docker containers provide several environment variables you can use to configure the most common settings. For more information, see the docker configuration manual.

  1. Download quasardb server installer for Windows from quasardb download site.

    Alternatively, you can directly download necessary files from https://download.quasardb.net/ (for experienced users).

  2. Run the setup executable.

Add repository

Add the https://repo.quasardb.net/apt/ repository to your apt sources:

$ echo "deb [trusted=yes] https://repo.quasardb.net/apt/ /" > /etc/apt/sources.list.d/quasardb.list
$ apt install apt-transport-https ca-certificates
$ apt update
...
Get:15 https://repo.quasardb.net/apt  Packages [1,068 B]
...

Tip

If you wish to subscribe to our beta release channel, you can add https://repo.beta.quasardb.net/apt/ as an additional source.

Install packages

$ apt search qdb
c   qdb-api
c   qdb-rest
c   qdb-server
c   qdb-utils
$ apt install qdb-server qdb-api qdb-rest qdb-utils

Lock versions (Optional)

apt will automatically upgrade your QuasarDB application when new updates arrive. As we recommend caution before upgrading, and as such we recommend locking the version you install as follows:

$ echo "qdb-server hold" | dpkg --set-selections
$ echo "qdb-rest hold" | dpkg --set-selections
$ echo "qdb-utils hold" | dpkg --set-selections
$ echo "qdb-api hold" | dpkg --set-selections

File locations

The Debian package for the QuasarDB server installs files as the qdb user and group in the following locations:

Files type

Location

Configuration files

/etc/qdb

Logs

/var/log/qdb

Database depot

/var/lib/qdb

Cluster public key (default)

/usr/share/qdb/cluster_public.key

Add repository

Add https://repo.quasardb.net/yum/ as one of your available yum repositories:

$ echo $'[quasardb]\nname=QuasarDB repo\nbaseurl=https://repo.quasardb.net/yum/\nenabled=1\ngpgcheck=0' > /etc/yum.repos.d/quasardb.repo
$ yum update

Tip

If you wish to subscribe to our beta release channel, you can add https://repo.beta.quasardb.net/yum/ as an additional source.

Install packages

$ yum --disablerepo=* --enablerepo=quasardb list available

Available Packages
qdb-api.x86_6          3.4.3-1    quasardb
qdb-rest.x86_6         3.4.3-1    quasardb
qdb-server.x86_6       3.4.3-1    quasardb
qdb-utils.x86_6        3.4.3-1    quasardb

$ yum install -y qdb-server qdb-api qdb-rest qdb-utils

File locations

The RPM package for the QuasarDB server installs files as the qdb user and group in the following locations:

Files type

Location

Configuration files

/etc/qdb

Logs

/var/log/qdb

Database depot

/var/lib/qdb

Cluster public key (default)

/usr/share/qdb/cluster_public.key

Lock versions (Optional)

Yum will automatically upgrade your QuasarDB application when new updates arrive. We recommend careful consideration before upgrading, and as such we recommend locking the version you install as follows:

$ yum install -y yum-plugin-versionlock
$ yum versionlock qdb-*

Download archives

Download quasardb tarballs for Linux from quasardb download site, or download them directly as follows:

$ curl -sO https://download.quasardb.net/quasardb/3.9/3.9.9/server/qdb-3.9.9-linux-64bit-server.tar.gz
$ curl -sO https://download.quasardb.net/quasardb/3.9/3.9.9/api/c/qdb-3.9.9-linux-64bit-c-api.tar.gz
$ curl -sO https://download.quasardb.net/quasardb/3.9/3.9.9/utils/qdb-3.9.9-linux-64bit-utils.tar.gz

Extract archives

Install libqdb_api (optional)

If you are planning on using the tools and/or any of the language APIs, you probably want to install the QuasarDB C API library and headers globally on your system. To do this, we will move some of the extracted assets to the correct locations:

$ sudo mv lib/libqdb_api.so /usr/lib
$ sudo mv lib/libqdb_api.so /usr/lib
$ sudo mv include/qdb /usr/include
$ sudo ldconfig
$ ldconfig -p | grep qdb
             libqdb_api.so (libc6,x86-64) => /usr/lib/libqdb_api.so

This tells us that we now have the libqdb_api.so shared library installed globally on the system.

1.3. Next steps

If everything went successfully, you now have a ready-to-use QuasarDB installation. You can continue reading with the following chapters, depending on what you’re trying to achieve: