Earlier quoted context omitted.
(Clouderan here) How are you liking Impala? We just dropped 0.5 release yesterday which includes the JDBC driver :D! Edit: Awesome job on the Ruby client, it's great!
It's been great -- setup was a bit of work (we're on Ubuntu, so had to build from source), but once up and running it's allowed us to do lots of ad-hoc analysis that would have been too hard otherwise. I've been meaning to write a MoSQL equivalent for our Impala data, but at the moment we're doing a more traditional ETL.
Announcing MoSQL
71–80 of 118 posts
Re: Announcing MoSQL
#72Re: Announcing MoSQL
#73Earlier quoted context omitted.
We've been pretty happy so far. There have been a few rough edges getting it up and keeping it running, but we've been very impressed with the performance so far. I've passed your comment on to Colin, who wrote the Ruby client -- I'm sure he'll appreciate it!
I got myself a little Impala Herd server setup, pointed it at my Impala cluster and it's working great ;).
Thanks for the kind words!
Re: Announcing MoSQL
#74Earlier quoted context omitted.
> So knock one more reason to use MongoDB instead of PostgreSQL off your list. One of the reasons MongoDB is so popular is because it is an fantastic database for developers. As a Java developer I can deal in my code with sets, hashmaps, embedded structures and have it effectively map 1-1 in the database. It's akin to an object database meaning you can focus higher up in the stack. With the SQL ORMs you can't avoid h…
Please don't confuse problems with SQL ORMs with SQL itself. SQL stores are powerful, flexible, and quite easily queryable. MongoDB is only a good database for developers if it solves the problems that you need to solve in a way that causes no impedance mismatch. And for the record, we use both a SQL store, Redis and MongoDB where the use case suits it where I work.
And your whole "use the right tool for the right job" goes without saying. It's others who seem to be obsessed with this "SQL is perfect for everything" delusion.
Re: Announcing MoSQL
#75Earlier quoted context omitted.
The only advantage MongoDB has over Postgres is built-in sharding, and even that is of dubious value.
To pick one, we like the fact that MongoDB lets you change your schema and add new fields to your documents without having to worry about migrations or keeping track of schema versions, or any of that. You could build something like that on top of SQL, but it's nice to have a tool where you don't have.
Re: Announcing MoSQL
#76Earlier quoted context omitted.
Of course, the problem with that approach is you don't have anything enforcing any sort of data integrity below the application. In my experience most of the time you actually can put down on paper a schema and a set of rules the data should obey without too much fear of it changing dramatically. The nice thing about hstore is it allows you the flexibility to introduce unstructured data in just the places where a sch…
> MongoDB et all basically are built around the assumption that a schema is never worth the complexity. It's a bold claim that contradicts many decades worth of database research. Unless MongoDB et al are saying "always use MongoDB et al and never an RDBMS", then I'm not sure how you arrived at the conclusion that "the schema is never worth the complexity." If anything, the appropriate assumption is, "schemas aren't…
The bottom line is if you drop in a second data store because you have a few fields in your database that are a pain to model with a schema, you are doing yourself a disservice compared to just doing ALTER COLUMN foo hstore.
My colleague mcfunley wrote an article about this blind spot when people talk about these issues:
Re: Announcing MoSQL
#77Re: Announcing MoSQL
#78Re: Announcing MoSQL
#79Earlier quoted context omitted.
There is a JSON type but it just validates content. HSTORE can be fully indexed (gIST and GIN). Just have to roll your own object graphs for nesting if that's what you need to do. I swear I have typed this exact same comment previously. Deja vu, maybe
JSON type gives you some typed values within the doc, multi-level nesting, etc. You can add functional indexes ( http://www.postgresql.org/docs/9.1/static/indexes-expression... ) to index specific attributes within the JSON, do legit sorts over values, reasonable array queries, etc. It seems much, much closer to what Mongo does than anything you can do with hstore.
I consider both HSTORE (key/value) and the current JSON type and record functions are just intermediate steps to a fuller API [0].
[0]: http://www.postgresql.org/message-id/50EC971C.3040003@dunsla...
Re: Announcing MoSQL
#80Earlier quoted context omitted.
> MongoDB et all basically are built around the assumption that a schema is never worth the complexity. It's a bold claim that contradicts many decades worth of database research. Unless MongoDB et al are saying "always use MongoDB et al and never an RDBMS", then I'm not sure how you arrived at the conclusion that "the schema is never worth the complexity." If anything, the appropriate assumption is, "schemas aren't…
The "right tool for the job" mantra often cited whereby you run N different data stores for different use cases heavily discounts the true implication of running multiple data stores: you have to run multiple data stores. You have more ways to get burned by your lack of expertise. You need more eyeballs for the same amount of confidence in your system since those will probably need to be different types of experts. Y…
> MongoDB et all basically are built around the assumption that a schema is never worth the complexity. It's a bold claim that contradicts many decades worth of database research.
You may well argue that if you have N-1 applications using PostgreSQL, and the Nth application could---on its own---justifiably use MongoDB, then it is still appropriate to use PostgreSQL in favor of not adding Yet Another DB Engine.
But that is nothing more than a specific case that is often ignored in the "best tool for the job mantra". It does not mean that schemas are never worth the complexity of an RDBMS.
All I'm saying is that you can't claim that a recommendation of MongoDB assumes schemas are never worth the complexity; you can only claim that the assumption is that they are sometimes not worth the complexity.
More generally, MongoDB makes no assumption that contradicts "years of DB research."