Skip to main content

FAQ: bSQL Fundamentals

Is bSQL open-source?​

bSQL is not an open-source language, and is offered as a hosted service. In this format we can easily update database versions and more-easily improve our product.

How is a blockchain different from a table?​

Instead of tables, bSQL stores data in blockchains. Like a table, a bSQL blockchain is both relational and structured. Unlike a table, a blockchain's data pages are append-only and cryptographically linked. Different blockchain types can be used for different application patterns.

How do I create a database and a blockchain?​

Creating a database is easily done using the CREATE DATABASE. In order to create a database, a user must be connected to the Master Database and have permissions to do so.

-- Create the database
CREATE DATABASE my_new_db;

-- Use the newly created database.
USE my_new_db;

CREATE BLOCKCHAIN my_bc TRADIONAL (id UINT32 PRIMARY, name STRING PACKED, age UINT8);

Is MDB a distributed blockchain?​

bSQL allows you to export database hashes. Hashes can be safely distributed across various technologies allowing MDB to be adapted to a distributed system.

Is MDB peer-to-peer?​

Data is not distributed across machines and there is no voting mechanism for verifying transactions. Data is not distributed publicly and the administrator retains ownership of the asset.

Does MDB handle caching?​

Yes MDB keeps most recently used data in RAM. If data fits in memory, all queries will serve from memory. MDB does not cache query results to return when an identical query is run.

Database resources (indexes and blockchains) are chosen for eviction using a Least-Recently-Used strategy. Data pages within the resource are evicted using a modified CLOCK protocol.

Does MDB have a query optimizer?​

MDB has a built-in query optimizer that uses statistics collected on the blockchains to optimize queries.