GithubHelp home page GithubHelp logo

janchou / torodb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from torodb/stampede

0.0 2.0 0.0 1.13 MB

ToroDB database

License: GNU Affero General Public License v3.0

Java 99.88% PLpgSQL 0.12%

torodb's Introduction

ToroDB

ToroDB is an open source, document-oriented, JSON database that runs on top of PostgreSQL. JSON documents are stored relationally, not as a blob/jsonb. This leads to significant storage and I/O savings. It speaks natively the MongoDB protocol, meaning that it can be used with any mongo-compatible client.

ToroDB follows a RERO (Release Early, Release Often) policy. Current version is considered a "developer preview" and hence is not suitable for production use. However, any feedback, contributions, help and/or patches are very welcome. Please join the torodb-dev mailing list for further discussion.

For more information, please see ToroDB's website, this latest presentation or this video recording of a presentation about ToroDB.

Requisites

ToroDB is written in Java and requires:

  • A suitable JRE, version 6 or higher. It has been mainly tested with Oracle JRE 8.
  • A PostgreSQL database, version 9.4 or higher. Download.

Download/Installation

Download the compiled jar file

You may download the latest version (v. 0.22.1) of ToroDB from ToroDB's maven repository. See below for instructions on how to run it.

Compile and install from sources

You may compile ToroDB yourself. All the project is written in Java and managed with Maven, so you need a javac and maven.

ToroDB is based on the Mongo Wire Protocol library (mongowp), which is another library built by 8Kdata to help construct programs that speak the MongoDB protocol. You may also compile this library yourself, or let maven download it from the repository automatically.

Just run mvn package on the root directory and find the executable jar file in torodb/target/torodb-0.22.1-jar-with-dependencies.jar.

Running ToroDB

Execute with java -jar <path>/torodb.jar <arguments>. If you run with --help, you will see the required and optional arguments to run ToroDB:

--ask-for-password
   Force input of PostgreSQL's database user password.
   Default: false
-c, --connections
   Number of connections to establish to the PostgreSQL database
   Default: 10
-d, --dbname
   PostgreSQL's database name to connect to (must exist)
   Default: torod
-p, --dbport
   PostgreSQL's server port
   Default: 5432
--debug
   Change log level to DEBUG
   Default: false
-h, --host
   PostgreSQL's server host (hostname or IP address)
   Default: localhost
-P, --mongoport
   Port to listen on for Mongo wire protocol connections
   Default: 27017
--help, --usage
   Print this usage guide
   Default: false
-u, --username
   PostgreSQL's database user name. Must be a superuser
   Default: postgres
--verbose
   Change log level to INFO
   Default: false

The database must exist, and the username must have superuser privileges. This will be changed in the future.

Alternatively to the command line options, you may create a ~/.toropass file, which follows the syntax of PostgreSQL's pgpass files.

Are you a developer? Want to contribute? Questions about the source code?

Please see CONTRIBUTING.

torodb's People

Contributors

gortiz avatar ahachete avatar maxamel avatar ergo70 avatar

Watchers

James Cloos avatar JanChou 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.