- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
a document-oriented database in Scala
Fri, 2011-07-29, 18:35
Hi all,
if you use Apache CouchDB or if you wish to learn functional programming you may find this interesting.
I would like to introduce an attempt to re-write CouchDB into the Scala programming language. Since Erlang is a pure functional programming language and Scala is damn powerful the exercise seems to be possible.
Please note that the goal is not to copy ! The goal is to deliver a document-oriented database for JVM. Instead of creating something from scratch it is better to take a powerful idea which has proved to be successful.
The project is here: www.trophydb.org (Apache License, Version 2.0)
The project is at the very early stage.
Some information about the development process is here:
https://docs.google.com/document/pub?id=1QNSC-bwm_yklhYfRClQeFnruKOJdFD8...
At the moment (29-July-2011), the database cannot be launched. There are many tests which show the progress. Some core modules (including the B-Tree implementation) have been already ported to Scala. See the source.
If you wish to learn functional programming and you can help to port a few Erlang modules to Scala feel free to join and experiment !
If you are a Scala enthusiast you are welcome to contribute any improvements for the Scala code base.
Why to write CouchDB in Scala ?
1) It is fun !!!
2) CouchDB depends on a number of platform-specific components. It can be a challenge to install (http://wiki.apache.org/couchdb/Installation). Since JavaScript is included in Java 6, the pure Scala database will not depend on anything except Java 6.
3) because TrophyDB should not depend on a platform-specific libraries it can be used as an embedded database (or for tests)
4) sometimes there are non-technical reasons why only JVM applications may be used (especially for the enterprise environment)
5) Java is wide-spread
Feel free to ask questions !
Hope to see you soon :)
-
Andrey
if you use Apache CouchDB or if you wish to learn functional programming you may find this interesting.
I would like to introduce an attempt to re-write CouchDB into the Scala programming language. Since Erlang is a pure functional programming language and Scala is damn powerful the exercise seems to be possible.
Please note that the goal is not to copy ! The goal is to deliver a document-oriented database for JVM. Instead of creating something from scratch it is better to take a powerful idea which has proved to be successful.
The project is here: www.trophydb.org (Apache License, Version 2.0)
The project is at the very early stage.
Some information about the development process is here:
https://docs.google.com/document/pub?id=1QNSC-bwm_yklhYfRClQeFnruKOJdFD8...
At the moment (29-July-2011), the database cannot be launched. There are many tests which show the progress. Some core modules (including the B-Tree implementation) have been already ported to Scala. See the source.
If you wish to learn functional programming and you can help to port a few Erlang modules to Scala feel free to join and experiment !
If you are a Scala enthusiast you are welcome to contribute any improvements for the Scala code base.
Why to write CouchDB in Scala ?
1) It is fun !!!
2) CouchDB depends on a number of platform-specific components. It can be a challenge to install (http://wiki.apache.org/couchdb/Installation). Since JavaScript is included in Java 6, the pure Scala database will not depend on anything except Java 6.
3) because TrophyDB should not depend on a platform-specific libraries it can be used as an embedded database (or for tests)
4) sometimes there are non-technical reasons why only JVM applications may be used (especially for the enterprise environment)
5) Java is wide-spread
Feel free to ask questions !
Hope to see you soon :)
-
Andrey
but in the case of a JVM based DB, I'll suggest you take a look at OrientDB which is written in pure Java and is unique in that as it is an Hybrid DB implementing GraphDB and DocumentDB.http://www.orientechnologies.com/orient-db.htm
Regards,Rohit
On Fri, Jul 29, 2011 at 9:40 PM, Andrey Somov <trophybase@googlemail.com> wrote: