
MongoDB has filed to go public - mfiguiere
https://techcrunch.com/2017/09/21/database-provider-mongodb-has-filed-to-go-public/
======
pulam
What we're all here for:

    
    
      2015 revenue: $41mm   net loss: $77mm
      2016 revenue: $65mm   net loss: $73mm
      2017 revenue: $101mm  net loss: $87mm

~~~
koolba
How the hell does this company spend $188M a year?!

Seriously I'm flabbergasted.

~~~
nrser
Trying to get big.

The conventional wisdom is that it works better to get big with an
unsustainable revenue model and convince people you can make it sustainable
than to stay small with a sustainable revenue model and convince people you
can make it big.

Spend whatever you can to capture the land, then charge rent.

Sometimes it turns out you can't hold the territory. Sometimes it turns out
it's not worth much. But the times it works out are the times that make funds.

~~~
seanwilson
If it's so obviously a bad idea, why do investors keep buying into it?

~~~
nrser
I don't really understand your question... this is the favored approach of
many Silicon Valley VC firms, and they are widely considered some the smartest
tech start-up investors in the world.

If it really is a bad idea, and those firms have been so successful for so
long not because of it but in spite of it, then it seems like a huge
opportunity for others to come along and displace them with a better model.
There's a _lot_ of money in many of these tech markets. But we don't see that
happening.

I guess the answer is that it's unintuitive... it seems like an obviously bad
idea to many people, but the people that have the most experience think it's a
great idea and continue to succeed with it.

There are other approaches: in China, for example, investors generally
considered profitability much more important and expect it very rapidly, like
in the first 6-18 months (though this has eased quite a bit towards a more SV-
style model in recent years).

The gripe then is that companies can't have any long term vision or go big
because they have to be making profit immediately and constantly.

Something about green grass...

~~~
watwut
I remember reading that they are loosing money on the aggregate. While there
are some successful investors, majority is not long term successful.

~~~
nrser
Yeah, I when I thought about it I realized when I say "SV VC" I mean probably
only the top 10-20 firms or so - the "top tier" or whatever, Sequoia, Accel,
KPCB, Benchmark, etc. (highly subjective but you get the idea) - and I think
those guys tend to do OK, and it has been mostly the same ones my whole time
in tech (~10 years), and I know many go back considerably before that.

I meant that a lot of those people are down with the land-grab now / rent
later model.

------
dguo
I'm asking this in good faith. What are the best use cases nowadays for Mongo?
I've read that it still makes sense when you are dealing with truly self-
contained documents. But even then, what is the advantage over just using
Postgres or MySQL and their native JSON types?

I've read plenty of negative comments on Mongo. I'd like to hear the other
side of the story, if possible.

~~~
jacquesc
I've been using and relying on MongoDB for years (since 2010). It's pleasant
to develop for, the query interface is awesome, and the library / ORM support
is top notch (Mongoid on ruby, and Mongoose on node).

I also use Postgres regularly so I can compare the 2. And in my experience, I
always enjoy working with Mongo more.

Many people don't care about the developer experience and rather focus on
Mongo's lack of features like joins and transactions. There's definitely
tradeoffs to choosing Mongo and I wouldn't criticize anyone for picking
Postgres over Mongo, however the amount of belly-aching about how Mongo is
"the worst" was always pretty ridiculous.

~~~
chx
> the query interface is awesome

Huh! We started with MongoDB in 2009 and went live with it in 2010 (though I
left that site in 2010) and as far as I am aware we were (one of?) the first
paying customers of 10gen. I remember my boss joking about how he needed to
press 10gen to actually accept money for support.

I even contracted wtih MongoDB Inc in 2012-2015 but gosh, the query interface
being awesome is not my experience for complex queries. Multiple $elemMatch
makes for nightmare queries. Note: $elemMatch got added because we asked for
the functionality but the syntax is not our making, that was Eliot.

In fact, out of all MongoDB criticism [https://www.linkedin.com/pulse/mongodb-
frankenstein-monster-...](https://www.linkedin.com/pulse/mongodb-frankenstein-
monster-nosql-databases-john-de-goes) this one is the one I sorta agree with
(even if the author is reprehensible but let's try not get caught up on that).

~~~
cervo
Agree and the other annoying thing is that the queries and most of the apis
are not the same, so you work and build the query you want in JSON and now you
need to go translate that to program code :( And vice versa, something is
wrong with the query so if you want to figure it out and not be in a debugger
you need to translate the code back to a query. There are libraries that
accept the JSON but the standard one has an api that does not use the json
queries directly.

------
virmundi
I don't get it. I don't get it. I don't get it.

1) Mongo is not better than Postgresql JSONB and other Postgresql features,
especially in 10. 2) There was NEVER a Mongo cluster management tool named
Sheriff Bart! It litterally sells itself: Mongo Loves Sheriff Bart. 3)
ArangoDB is able to provide many of the Mongo features with some ACID
compliance and a better graph solution. It even has joins. I get that people
use documents to avoid joins, but really. You still want them.

~~~
arrty88
Mongo is quick and dirty. If you're writing NodeJS, chances are you don't care
about `what's best`.

~~~
rawnlq
For fast prototyping, it's pretty hard to beat a NodeJS stack. A lot of modern
web dev are one-man-shows. When you're just one developer doing frontend and
backend, you don't really have time to care about database migrations or
designing schemas. You really just want to duct tape enough pieces together to
get your app out the door.

Caring about schema design, database migration, or even code correctness
doesn't really help with this. Mongo in comparison has no learning curve,
crazy number of pre-integrated libraries, and works well enough at low scale.
This might sound like cancer to corporate devs but the tradeoff does make
sense for individuals/demos/startups.

A illustrative case study: [https://medium.com/unboxd/how-i-built-an-app-
with-500-000-us...](https://medium.com/unboxd/how-i-built-an-app-
with-500-000-users-in-5-days-on-a-100-server-77deeb238e83)

~~~
nikcub
I've always suspected that MongoDB is largely driven by nodejs - i'd be
curious what portion of Mongo connections are nodejs

There is no real good nodejs RDBMS ORM in the class of what other environments
provide. I recently had a company rip out nodejs => sequelize => pgsql and
replace it with nodejs => protobufs => sqlalchemy => pgsql

------
nathancahill
Filed, but no guarantees it will be underwritten (to disk).

~~~
jacobkg
Made me laugh =)

------
nl
This refers to publicly listing on the stock exchange, as opposed to last time
Mongo DBs went public: [https://nakedsecurity.sophos.com/2017/01/11/thousands-
of-mon...](https://nakedsecurity.sophos.com/2017/01/11/thousands-of-mongodb-
databases-compromised-and-held-to-ransom/)

~~~
johnvonneumann
Had a good laugh at this.

~~~
nl
Thanks....

I know jokes on HN are risky, but this was both kinda funny and somewhat
accurate.

------
gamad
I like MongoDB! It's web-scale:

[https://www.youtube.com/watch?v=b2F-DItXtZs](https://www.youtube.com/watch?v=b2F-DItXtZs)

~~~
SilasX
I miss XtraNormal, the videos have a special deadpan quality to them.

------
octix
From personal experience.

1) MongoDB allows me to be more agile. I don't have to deal with database
migrations (No locks when adding new column for example), which allows
deployments at any time.

2) Indexed arrays. Allows to add "tags" to any entity which are useful in
production (A/B testing, force specific behavior).

3) Easier to manage. I don't need an expensive PostgreSQL consultant to setup
and hope for the best.

Your mileage can vary.

~~~
drodgers
> I don't have to deal with database migrations

We've actually just started having the pain of Mongo migrations; adding
indexes to large collections. If you just create the index on the primary and
let it propagate throughout the cluster, then it will block further oplog
replication on the secondaries and the whole cluster will go down for majority
writes. The proper way is to take each secondary out of the cluster in turn,
add the index, then step-down the primary and migrate it.

It's just as much of a pain as migrating your favourite SQL database, although
at least you don't need to do it for small collections and for adding columns
(which is a big bonus).

~~~
octix
Thanks for sharing. "adding indexes to large collections" \- how many records
are we talking here?

Thanks.

~~~
drodgers
Collections with tens of Gigabytes and hundreds of millions of records can
take a few hours per-node to build an index. You'll need to think about index
migration strategies before that point though. I'd guess that once you have
gigabytes of data in a collection you'll probably have less downtime with an
election than you will waiting for the index to build.

------
djrobstep
Obligatory reminder that Mongo is shit and you should never use it for data
you care about.

~~~
meowface
Reliability-wise, it sucks. Maybe it's gotten better recently, but I still
probably wouldn't trust it.

But is there a document store out there that's faster than MongoDB?

~~~
judah
I'm biased (I work part-time for the company), but RavenDB[0] 4.0 is damn
fast, cross platform, and has beautiful tooling.

It's built on .NET Core, and our current performance is 140k writes/sec. We
also bend over backwards to optimize read speeds: we generated indexes
automatically based on your query patterns, discarding unused indexes and
throwing server resources behind the hot ones. Also, unlike many other NoSQL
databases, we support transactions and atomic writes.

[0]: [https://ravendb.net](https://ravendb.net)

~~~
strayamaaate
We use ArangoDB currently and are pretty happy with it. Installs and upgrades
could be better though.

Very curious about RavenDB as I’m writing a lot of .NET Core these days. How
would you say it stacks up against ArangoDB?

Edit: Ok, just saw the pricing. Ouch.

~~~
judah
Actually, the pricing for the new version (4.0, .NET Core):

\- Free, with a max of 3 cores and 3 distributed nodes

The paid version will be an Enterprise license without these limits.

------
tejasmanohar
For all the people asking "why don't people just use DynamoDB, BigTable, etc.
if they need NoSQL", there are a few incorrect assumptions here--

1) People _need_ NoSQL. This is rarely the case. That said, Mongo often lets
you model structures how you think so it's nice for prototyping. I'm very
comfortable with SQL so I wouldn't do this anymore, but I could see value in
it once upon a time, especially if you're already using JS across the stack.

2) DynamoDB is not the same at all. Its query and sharding models are entirely
different. In most cases, it does NOT allow you to model something usable how
you think. Don't get me wrong-- it's a great technology, and we get a lot of
value out of it at work, but if you're directly comparing the two, you
probably haven't actually used it enough.

------
kureikain
I have great succesful with MongoDB and at this point, I think it's the best
database out there.

If you can live without transaction, then think about utilizing MongoDB.

\- Add index without blocking anything \- Array index is transaprent from you.
Same query for both of array or a single field. \- Partial index allow you to
query on index while keep index size small to a certain amount of document \-
TTL index help you avoid deleting document manually such as session data \-
Spatial index avoid you to not index document missing field \- GEO spatial
index is just awesome. Super easy to use \- Good enough full text search \-
Data compression, out of the box \- Data compression for replication as wel \-
Super easy to manage cluster: add, remove, hide node

------
opendomain
There seems to be some high level execs that just left. I wonder why they left
before the IPO - maybe their options were forced to expire? Matt Kroll was
their head of sales and he just went to google - how is Mongo going to grow
without a good sales team?

~~~
Titan799
Hi Ric Johnson. This post is extremely inaccurate and false. Please remove it.
Thank you.

Matt Kroll

~~~
opendomain
Matt, I would remove my comment because I respect what you did for Mongo but I
hesitate because my statements are not false. I will correct that you were not
"Head isms sales" \- it looks like your title was Enterprise Account Executive
and you were responsible for the Fintech sales? You did you leave Mongo for
Google right before the IpO?

~~~
Titan799
Your statement that I was "Head of Sales" is completely false. My job title
has had nothing to do with Fintech sales since 2014. I did leave MongoDB in
2017, as did plenty of other people, and just as plenty of other people leave
companies they work for every year. MongoDB, in fact, is a great company with
a great product, and the reasons I left are completely personal and private.
No inference can be drawn from my departure as to the state of the company-
doing so would be completely unfounded and reckless.

------
thisisit
For what it's worth, they are at least not trying to sell non-voting shares
like Snapchat (a company with much bigger losses). The offering is for Class A
shares with 1 vote per share. Though the voting rights between Class A and
Class B is still not clear:

"Outstanding shares of Class B common stock will represent approximately % of
the voting power of our outstanding capital stock immediately following the
closing of this offering, with our directors and executive officers and their
affiliates holding approximately %, assuming in each case no exercise of the
underwriters' over-allotment option."

------
terrabytes
MongoDB has is a pretty good example of building a business around open source
software.

~~~
smt88
Not based on how much money they're losing. It's not a viable business yet,
and it probably never will be.

~~~
DevinTheDude
How can you say it's not a viable business because they're losing money if you
don't know their expenses? Uber & Lyft, (and for many years Amazon) were/are
losing money. So that means nothing unless you know why they're blowing
through cash.

~~~
smt88
Top post of this thread has their net loss:
[https://news.ycombinator.com/item?id=15308202](https://news.ycombinator.com/item?id=15308202)

They also had to report some more detailed financials when they filed to go
public: [https://www.cnbc.com/2017/09/21/mongodb-ipo-seeks-to-
raise-1...](https://www.cnbc.com/2017/09/21/mongodb-ipo-seeks-to-
raise-100-million.html)

------
aerialcombat
I would rather want to see Redis go public

~~~
smt88
I don't want to see any of my favorite software go public. It creates
incentives that don't do me any good, like marketing instead of improving the
product.

------
bertolo1988
The MongoDB Atlas service is really good. You guys should try it.

------
mazatta
Now they can lose your money, along with your data!

~~~
biocomputation
This made me laugh!

------
_Codemonkeyism
Sill love

{field:{$exists:true}}}

vs

{$set:{field:value}}

have to google every time.

------
gaius
Mongo is the boo.com of the database industry

~~~
DevinTheDude
Never heard of the website. Care to explain what you mean?

~~~
gaius
The poster child for hype over substance. Those who forget history are doomed
to repeat it...

------
mxschumacher
nice short target

------
dustingetz
i think 50% of comments in this thread are Mongo's PR team trying to head off
criticism with fud!

