posted time Created time: 2017-01-29 Last updated time:

Started to create SQL on remote nodes

Today, Jan 29th 2017, I've created the CREATE TABLE SQL statement. Before that, I have been creating main framework of the distributed database.

It takes a lot of time, but finally, I come to be able to implement actual SQL functions.

Building Distributed Database Framework

The software framework is very important, especially, on making distributed database.

That is because it has a lot of bottle neck in performance.

  • Network access to synchronize node's status
  • Locking for distributed transaction
  • The role of distributed database components, and when to work

MySQL's storage engine is like this database software, but mine has region manager to support TABLE LOCK between SQL Transaction Engine and Storage Nodes.

Following picture is one of distributed node mapping.
(Alinous Elastic DB can configure the scalability, so there are some patterns to map nodes in the network.)

Distributed Database Nodes setting example

The framework needs following functions.

  • Detect change of node structure & schema, by using the version.(Do not access monitor node every time)
  • Execute conditional queries on the storage node to filter unmatched records, before send them via network
  • Lock table on the Storage Region component, lock records on the storage engine
  • Report the change of nodes status to Trx Monitor by least network access

I'll write about how to make distribute database faster, in the near future.

Current Status of Development

Currently I've implemented "CREATE TABLE" DDL statement. This function is convenient in checking the framework's design.

After that, now I'm going to make "INSERT INTO" statement. After that, SELECT statment.



Go to Top