Why Datomic?

Cross-posted from Zololabs.

Many of you know we’re using Datomic for all our storage needs for Zolodeck. It’s an extremely new database (not even version 1.0 yet), and is not open-source. So why would we want to base our startup on something like it, especially when we have to pay for it? I’ve been asked this question a number of  times, so I figured I’d blog about my reasons:

  • I’m an unabashed fan of Clojure and Rich Hickey
  • I’ve always believed that databases (and the insane number of optimization options) could be simpler
  • We get basically unlimited read scalability (by upping read throughput in Amazon DynamoDB)
  • Automatic built-in caching (no more code to use memcached (makes DB effectively local))
  • Datalog-as-query language (declarative logic programming (and no explicit joins))
  • Datalog is extensible through user-defined functions
  • Full-text search (via Lucene) is built right in
  • Query engine on client-side, so no danger from long-running or computation-heavy queries
  • Immutable data – audits all versions everything automatically
  • “As of” queries and “time-window” queries are possible
  • Minimal schema (think RDF triples (except Datomic tuples also include the notion of time)
  • Supports cardinality out of the box (has-many or has-one)
  • These reference relationships are bi-directional, so you can traverse the relationship graph in either direction
  • Transactions are first-class (can be queried or “subscribed to” (for db-event-driven designs))
  • Transactions can be annotated (with custom meta-data) 
  • Elastic 
  • Write scaling without sharding (hundreds of thousands of facts (tuples) per second)
  • Supports “speculative” transactions that don’t actually persist to datastore
  • Out of the box support for in-memory version (great for unit-testing)
  • All this, and not even v1.0
  • It’s a particularly good fit with Clojure (and with Storm)

This is a long list, but perhaps begins to explain why Datomic is such an amazing step forward. Ping me with questions if you have ’em! And as far as the last point goes, I’ve talked about our technology choices and how they fit in with each other at the Strange Loop conference last year. Here’s a video of that talk.

Startup marketing and you

Cross-posted from Zolo Labs.

Marketing is defined as the act of promoting (and selling) your products or services. Folks in most industries consider it an important part of their business, especially in larger companies. For some reason, this seems less true in tech startups.

Instead, most founding teams concern themselves a lot with product and engineering. After all, if you don’t have a product, what are you going to market? While this may seem logical, I’ve come to realize this is a flawed view. I now believe that marketing is a critical function of all startup teams, right up there with product, engineering, recruiting, and, fund-raising.

To come to this realization, I first had to internalize that “marketing” wasn’t a bad word. While the above definition conjures up (at least in my mind) images of sleazy sales people, marketing is actually one of the most important ways of interacting with your customers. And really, are there any unimportant ways of interacting with customers?

As a startup, if there are even a few people out there who are actually willing to give you a few minutes (or seconds!) to listen to what you have to say, hallelujah! Marketing, then, is an opportunity for you to engage them in a dialogue, to explain to them why you exist at all. Most people filter out all forms of traditional marketing, not just because there are too many of them, but because they come across as insincere.

There was a time when running an ad would actually produce decent ROI. This isn’t true any more, of course, and in my mind, here lies the opportunity. Today’s connected world of blogs and social networks have presented us once again with a channel to actually connect with our customers and potential customers. To not just “market” to them, but to actually reach out and have a conversation.

While I filter out most forms of marketing as noise, what does catch my attention is authenticity. The new world of marketing then, is just this form of real and sincere social conversation. For tech startups, it’s the dialogue between the founding team, and their early customers, and their extended community. What an awesome chance to be yourself! It’s an outlet to express your philosophy, your beliefs, and your vision. And yes, perhaps to even talk about your products. It’s an opportunity to hear back from this audience, from those who actually care enough to respond! It’s an opportunity to help those who’re listening (or reading) in some small way, even if they don’t actually buy from you.

Do a search for “startup marketing” on your favorite search engine, and you’ll get thousands of results. But this is really it – this social conversation, where you can put yourself (and your company) out there. You can’t outsource this, this is you! As David Packard once said: marketing is too important to be left to the marketing department.

I’ve written before that of the two sides a startup (the product side, and the distribution side), it is the distribution side that’s the harder one. Marketing, defined the way we just talked about, is key in solving this distribution challenge. And, defined in this way, it doesn’t need to be looked down upon either… after all, you are the marketing 🙂

P.S. Check out what we’re building: Zolodeck.