GithubHelp home page GithubHelp logo

kuguobing / sql-layer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aydinsakar/sql-layer

0.0 1.0 0.0 133.62 MB

Scalable, fault-tolerant SQL on FoundationDB

Home Page: https://foundationdb.com/layers/sql

License: GNU Affero General Public License v3.0

Shell 0.41% Java 99.57% Python 0.02%

sql-layer's Introduction

FoundationDB SQL Layer

Overview

The FoundationDB SQL layer is a full SQL implementation that builds on FoundationDB’s core features. It gets the same high performance, multi-node scalability, fault-tolerance, and true multi-key ACID transactions while also providing new capabilities, including a sophisticated SQL environment and direct object access.

It was written from the ground up in Java and utilizes the FoundationDB SQL Parser.

Check out https://foundationdb.com/layers/sql for the full documentation.

Prerequisites

The FoundationDB SQL Layer requires Java 7 Runtime Environment and FoundationDB.

JRE

The FoundationDB SQL Layer requires the Java 7 Runtime Environment (JRE). Both OpenJDK JRE and the official Oracle JRE are supported.

See the Oracle Java SE Downloads page for installation details.

FoundationDB

To install FoundationDB, follow the official Getting Started guides, being sure to check that the cluster is up and running (covered in Testing your FoundationDB installation).

Installing the SQL Layer

The SQL Layer can be installed from system packages (appropriate for most people) or directly from source (intended for developers).

a. Packages

Official packages for Windows, OS X, Ubuntu and CentOS/RedHat are available. See the installation section for more details.

A single instance of the SQL Layer is installed by default and is appropriate for local development. Consult the documentation for recommended multi-node configurations.

b. Source

Note: This section is intended only for developers.

To build the SQL Layer from source code several steps need to be taken in advance.

  • Have the FoundationDB key-value store installed and running.
  • Install Java Development Kit (JDK) version 7, either OpenJDK or Oracle JDK.
  • Set the environment variable JAVA_HOME to the directory in which the JDK is installed.
  • Install Maven version 3 to build the package.
  • Install Protobuf version 2.5.0. Installation instructions are in their README.txt, it may require installation of gpp. The Maven POM.xml file for building the SQL Layer assumes this directory is present in the parent directory of the SQL Layer.
  • Clone and build the FoundationDB SQL Parser
  • Clone and build the FoundationDB JDBC Driver

Not a prerequisite but recommended, you can install the SQL Layer Client Tools to interact with the SQL layer when it runs.

After installing the listed prerequisites, you can clone the project using git, and build the SQL Layer.

Move into the directory:

$ cd sql-layer

Use Maven to build the project:

$ mvn install

All unit and integration tests will be run by default, which could be lengthy. Test execution can be avoided with the skipTests option:

$ mvn install -DskipTests=true

An executable jar, and required dependencies, will be the target/ directory once packaging is complete.

The server can then be started with the fdbsqllayer script. The -f flag will run it in the foreground:

$ ./bin/fdbsqllayer -f

Or for Windows users:

$ ./bin/fdbsqllayer.cmd -f

A handful of informational messages will print and then the server will state it is ready:

2013-03-22 15:36:29,561 [main] INFO  ServiceManager - FoundationDB SQL Layer ready.

When installing from source, you'll also want the SQL Layer Client Tools.

5. Testing Your SQL Layer Installation

The SQL Layer can then be accessed using the SQL client on port 15432:

$ fdbsqlcli -c 'SELECT VERSION();'
        _SQL_COL_1         
--------------------------
 FoundationDB x.y.z +hash 
(1 row)

And using a RESTful API on port 8091:

$ curl http://localhost:8091/v1/version
[
{"server_name":"FoundationDB SQL Layer","server_version":"x.y.z+hash"}
]

Contact

sql-layer's People

Contributors

mmcm avatar nathanlws avatar akiban-build avatar fdb-build avatar scottdugas avatar yshavit avatar hchandl avatar posulliv avatar computerstaat avatar sytzeh avatar tjoneslo avatar geophile avatar oriherrnstadt avatar louisrli avatar

Watchers

库国兵 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.