294 karma · joined January 7, 2016
I'm trying to determine whether there's a place for Cockroach within what I think are the constraints in the database space.
* Traditional SQL Databases
- Go to solution for every project until proven otherwise.
- Battle tested and unmatched features.
- Hugely optimized with incredible single node performance.
- Good replication and failover solutions.
* Cassandra - Solved massive data insert and retention.
- Battle tested linear scalability to thousands of nodes.
- Good per node performance.
- Limited features.
It seems like many new databases tend to suffer from providing scale out but relatively poor per node performance so that a mid-size cluster still performs worse than a single node solution based on a traditional SQL database.And if you genuinely need huge insert volumes, because of the per node performance you'd need an enormous cluster whereas Cassandra would deal with it quite comfortably.
- Built in types (immutable persistent collections, Try, etc). You can get these in Java with http://www.javaslang.io/ but it's a relatively new library.
- A concise syntax for creating value types without using something like Lombok.
- Mature libraries (ScalaZ, Monocle, shapeless, etc) for people interested in more sophisticated functional patterns.
Here's the section of their manual related to this. http://www.axonframework.org/docs/2.4/repositories-and-event...
Akka Persistence is the other JVM ES framework that I'm familiar with. it supports upcasting as well.
http://doc.akka.io/docs/akka/2.4/java/persistence-schema-evo...
http://www.jooq.org/doc/3.8/manual/sql-building/sql-statemen...
I'd much rather stay on the well beaten path with a mature, less sexy, less efficient solution than hack my way through the jungle with something more contemporary and powerful but less mature and less well understood.
https://www.postgresql.org/docs/9.5/static/postgres-fdw.html
For example, Citus Data provides a column store for Postgres via the fdw api.
But does anyone really do this? Are there published examples of people doing this or talking about doing it? I can find plenty of examples of hedge funds betting on single mid or late stage startups but not doing what you're suggesting here.
What you're suggesting is incredibly interesting so I don't intend to be rude but the concept strikes me as ludicrous. The assumptions that would go into a financial model for something like this seem ridiculous to me. You'd be betting/guessing/hedging on countless company, industry and macro-economic variables over a long, long time frame.
What's the time frame you'd be willing to stake your career on for a startup (event a fairly mature one) to be meaningfully impacting the overall profitability of it's astronomically larger competitors? And you'd be simultaneously betting against overall bull markets and that the incumbents won't adapt, whether in the market directly against the startup or in any of the other markets they're in.
To my knowledge you can't even trade in stock futures with sufficiently distant expiration dates to do this.