All Projects → gsvigruha → Cosyan

gsvigruha / Cosyan

Licence: apache-2.0
Transactional SQL based RDBMS with sophisticated multi table constraint logic.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cosyan

Nano Sql
Universal database layer for the client, server & mobile devices. It's like Lego for databases.
Stars: ✭ 717 (+1493.33%)
Mutual labels:  sql, database, nosql, rdbms
Sql Boot
Advanced REST-wrapper for your SQL-queries (actually not only SQL)
Stars: ✭ 51 (+13.33%)
Mutual labels:  sql, nosql, rdbms
Fluent
Vapor ORM (queries, models, and relations) for NoSQL and SQL databases
Stars: ✭ 1,071 (+2280%)
Mutual labels:  sql, database, nosql
Griddb
GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy.
Stars: ✭ 1,587 (+3426.67%)
Mutual labels:  sql, database, nosql
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+6193.33%)
Mutual labels:  sql, database, nosql
Db Tutorial
💾 db-tutorial 是一个数据库教程。
Stars: ✭ 128 (+184.44%)
Mutual labels:  sql, database, nosql
Electrocrud
Database CRUD Application Built on Electron | MySQL, Postgres, SQLite
Stars: ✭ 1,267 (+2715.56%)
Mutual labels:  sql, database, rdbms
Reactive record
Generate ActiveRecord models for a pre-existing Postgres db
Stars: ✭ 132 (+193.33%)
Mutual labels:  sql, database, constraints
Cubrid
CUBRID is a comprehensive open source relational database management system highly optimized for Web Applications.
Stars: ✭ 184 (+308.89%)
Mutual labels:  sql, database, rdbms
Bedquilt Core
A JSON document store on PostgreSQL
Stars: ✭ 256 (+468.89%)
Mutual labels:  sql, database, nosql
Orientdb
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. OrientDB Community Edition is Open Source using a liberal Apache 2 license.
Stars: ✭ 4,394 (+9664.44%)
Mutual labels:  sql, database, nosql
Redix
a persistent real-time key-value store, with the same redis protocol with powerful features
Stars: ✭ 907 (+1915.56%)
Mutual labels:  database, nosql
Databases workshop
RCS Intro to Databases workshop materials
Stars: ✭ 25 (-44.44%)
Mutual labels:  sql, database
Declarativesql
Attribute-based database access
Stars: ✭ 41 (-8.89%)
Mutual labels:  sql, database
Xodus
Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.
Stars: ✭ 864 (+1820%)
Mutual labels:  database, nosql
Reiner
萊納 - A MySQL wrapper which might be better than the ORMs and written in Golang
Stars: ✭ 19 (-57.78%)
Mutual labels:  sql, database
Node Pg Migrate
Node.js database migration management for Postgresql
Stars: ✭ 838 (+1762.22%)
Mutual labels:  sql, database
Rdbms To Graphql
A Java CLI program that generates a GraphQL schema from a JDBC data source.
Stars: ✭ 44 (-2.22%)
Mutual labels:  sql, rdbms
Express Knex Objection
A simple API system on a pg database, using knex and objection to simplify connection and management
Stars: ✭ 20 (-55.56%)
Mutual labels:  sql, database
Nextjs Sequelize
Next.js With Sequelize Web Application, a Full-Stack Web App Development Boilerplate. https://medium.com/@defrian.yarfi/next-js-with-sequelize-web-application-a-full-stack-web-development-a0051074e998
Stars: ✭ 21 (-53.33%)
Mutual labels:  database, rdbms

Cosyan DB

Cosyan DB is an SQL based transactional RDBMS with sophisticated multi table constraint logic and language enhancements building heavily on foreign keys.

Users, contributors and constructive feedback is welcome! Please don't forget to hit a star if you like the project.

The long term goal of the project is to substitute the business logic layer (like what you would do in Java EE). This approach comes with some immediate benefits:

  • Faster development cycle: no need for coding in Java EE, wait for releases, new deployment, just submit the logic as an SQL statement.
  • Dependency tracking: no need to think about which constraint can be broken by a particular insert, update or delete on a certain table. This is something triggers usually do not cover.
  • Performance: no need for multiple queries to check constraints. More, this integrated can optimize constraint evaluation by caching.

Setup

Cosyan DB can be used as a standalone database server, or it can be embedded in a JVM app.

Standalone database server

  • Install Java 8 or later.
  • Download a release from here, or clone this repo and compile from source with Gradle.
  • Unpack the JAR and web files into a destDir.
  • Configure cosyan.db.properties under the destDir/conf dir.
  • Start and stop the database with start.sh and stop.sh.
  • Use the built in Web UI or use the HTTP API to submit queries or edit the data directly.

Embed in your JVM project

Alternatively you can embed it into a Java project and submit queries through the Java API.

Config config = new Config("destDir/conf");
DBApi dbApi = new DBApi(config);
Session session = dbApi.newAdminSession();
JSONObject result = session.execute("select * from table;").toJSON();

Usage

In addition to SQL, extra features are introduced to help with multi-table constraints:

  • Columns in other tables can be directly referred to via chains of foreign keys.
  • Aggregated views can be defined on one to many relationships - i.e. reverse foreign keys - and used in constraints.

Cosyan DB supports the following SQL DML features:

  • Select
  • Distinct
  • Where
  • Group by
  • Having
  • Order by
  • Inner, left and right join
  • Arithmetic and logical expressions
  • Insert
  • Delete
  • Update

DDL features:

  • Create/drop table
  • Create/drop index (on one attribute)
  • Alter table add/drop column
  • Alter table add/drop constraint
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].