I am developing a completely new project in Scala. However, this is just an application for several CRUD operations, however, due to some eccentric requirements, Play2 or Lift are not suitable for counting, so I'm going to develop the application from scratch. This means that Anorm or ScalaQuery is becoming a less obvious choice for integration with the database and leaves me with the question: is it time to try something new?
My past technology stacks mainly included Java and PostgreSQL, and I have experience with ORM and plain SQL. Are NoSQL database management systems like MongoDB a good replacement for regular RDBMS, or are they special application data repositories? Also, how does database choice affect the higher Scala system design (if at all)? For example, the fact that you use a JSON-like interface to talk to the database and JSON between the network and the REST service does not mean that if everything in the middle becomes Scala objects or does it?
I basically ask someone to experience moving from relational databases like an object / document, in particular with Scala. I know that good integration with RDBMS is promised in the upcoming version of SLICK. So, if a company such as TypeSafe decides to do part of the RDBMS integration in the TypeSafe stack, then will I float upstream, integrating into MongoDB, for example, using Casbah?
Apologizes if this question seems a bit vague. I hope someone with the right knowledge or experience can help, though.
Update:
Sorry for not adding SLICK links (this is pretty new). Here:
Update 2:
My personal first victory for technology is usually the productivity of developers - it's easy and simple: learn fast, easy to maintain, not magic
Jack
source share