https://github.com/rdbc-io/rdbc
Asynchronous database access for Scala and Java
https://github.com/rdbc-io/rdbc
asynchronous back-pressure database java reactive scala
Last synced: 15 days ago
JSON representation
Asynchronous database access for Scala and Java
- Host: GitHub
- URL: https://github.com/rdbc-io/rdbc
- Owner: rdbc-io
- License: apache-2.0
- Created: 2016-09-16T15:07:10.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-11-06T04:00:32.000Z (about 7 years ago)
- Last Synced: 2023-07-26T23:21:35.809Z (over 2 years ago)
- Topics: asynchronous, back-pressure, database, java, reactive, scala
- Language: Scala
- Homepage: http://rdbc.io
- Size: 542 KB
- Stars: 79
- Watchers: 8
- Forks: 3
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/rdbc-io/rdbc/branches)
[](https://codecov.io/gh/rdbc-io/rdbc/branch/master)
[](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.rdbc%22%20api)
[](https://gitter.im/rdbc-io/rdbc)
[](https://github.com/rdbc-io/rdbc/blob/master/LICENSE)
## What is rdbc?
rdbc is a SQL-level relational database connectivity API targeting Scala and
Java programming languages. The API is fully asynchronous and provides
a possibility to leverage [Reactive Streams'](http://www.reactive-streams.org/)
stream processing capabilities.
## Documentation
See the documentation at [http://rdbc.io](http://rdbc.io).
## Goals
Following list outlines the goals of the API:
1. **Provide vendor neutral access to most commonly used database features.**
The API is meant to be vendor neutral in a sense that if clients stick
to using only standard SQL features no vendor-specific code should be needed
and database backends can be switched with no client code changes.
2. **Be asynchronous and reactive.**
All methods that can potentially perform I/O actions don't block the executing
thread so the API fits well into non-blocking application design. rdbc
allows building applications according to the [Reactive Manifesto](http://www.reactivemanifesto.org/)
by using [Reactive Streams](http://www.reactive-streams.org/) for asynchronous
streaming results with a back-pressure.
3. **Provide a foundation for higher-level APIs.**
rdbc is a rather low-level API enabling clients to use plain SQL queries
and get results back. While it can be used directly it's also meant to
provide a foundation for higher-level APIs like functional or object
relational mapping libraries.