On Wed, Feb 26, 2014 at 7:59 AM, egon <
egon...@gmail.com> wrote:
> Generally you want to avoid those, they add large amount of complexity to
> the project.
> The questions is, what do you need it for?
If you're considering a column store approach like Cassandra, you
might consider the approach taken by cqlc.
cqlc generates Go code from your Cassandra schema so that you can
write type safe CQL statements in Go with a natural query syntax:
http://relops.com/cqlc/
>
http://www.codinghorror.com/blog/2006/06/object-relational-mapping-is-the-vietnam-of-computer-science.html
With cqlc I wanted to avoid building ORM because I didn't want to hide
the underlying storage layer from the app, I just wanted a way to
reduce boilerplate code and a way to get the Go compiler to tell me
when my app got of sync with the database schema.
Whilst cqlc library targets Cassandra CQL as a storage backend, I'm
sure that a similar paradigm could be applied to other types of
databases. To be clear, I'm not saying that cqlc will target multiple
databases, as this would break the simplicity of the library. I'm just
putting forward a "database first and leverage the Go compiler"
strategy as a generic approach.