10gen, the company behind MongoDB, used this blog for product news, conference announcements, usage stories and technical posts on MongoDB internals.
HN commenters praise 10gen's documentation, screencasts and conference videos, and discuss its open source business model of training, consulting and support.
> Until you want some analytics.
I can actually respond to this specifically, as we recently had a project that needed us to build some decently-sized and complex analytics into their app. I spent about a month researching how most analytics solutions are structured and work, and became very familiar with the codebase for FnordMetric, which is one such open-source analytics solution.
You wouldn't initially think it (I certainly didn't), but Mongo is actually a great use-case for analytics data. Here's why...
Most analytics platforms don't query live-data and build reports on the fly. It's terribly inefficient and doesn't scale. If something like Google Analytics did this, it'd take forever for your Analytics dashboard to load, especially at their scale.
What most analytics platforms do, is they know before-hand what data you want to aggregate and at what granularity, and they perform calculations (such as incrementing a counter) and then store the result in a separate analytics database/table. In fact, there are several presentations and articles about doing things like this with Mongo:
http://blog.mongohq.com/first-steps-of-an-analytics-platform-with-mongodb/
http://www.10gen.com/presentations/mongodb-analytics
http://blog.tommoor.com/post/24059620728/realtime-analytics-at-buffer-with-mongodb
And then, this is an interesting article that discusses the difference between processing data into buckets on the way in, and creating an analytics platform that does more…
I love Ansible but I have a little bit of a complaint with the new website. The website used to be very focused on the product and how to get going fast. Now it seems more enterprisey with all of the major links on the frontpage linking to the solutions page which have way too much content for someone who isn't attached to the product yet. It seems almost more geared towards the business folks rather than the devops people like before. What I like about Ansible is that it gets you up running fast. Now, I have to spend a lot more time digging through the website to figure out what Ansible actually is. Even under Products, Ansible isn't there there. Instead, it lists Ansible AWX which makes very little sense w/o knowing Ansible first.
The documentation is still great and gets you going fast. I think the focus on the website with the Technology vs Solutions vs Products categories is uninviting to your core audience. Perhaps the reason for all of this is because Ansible != AnsibleWorks which makes sense. If that's the case though, I would recommend splitting up the two websites like 10gen did with Mongo ( http://www.10gen.com/ vs http://www.mongodb.org/ ). If you look at Mongo's site, it's very much straight to the point. However, 10gen's site is more focused on the business side of things.
Anyways, you guys are doing a great job with the actual project. See you around.
I'll probably write up a more substantive post on open source business models at some point. We follow a fairly traditional model with training, consulting, and support being primary offerrings. If you look under products and services at http://10gen.com you will see pricing, etc.
In terms of best-practices, the first hurdle is to get your product used and demonstrating value. To do this you have to listen to your users and help them out to demonstrate that value (which is why the whole team is on our mailing list and IRC channel all the time). Generally when it comes to someone purchasing services from us, they have already tried out the product and may even have it in production. This is vastly different from a lot of closed source software where you end up in a long sales cycle just trying to convince customers to use it.
For databases, the training-consulting-support model works well. For other products, some other model may be more appropriate. We've also talked (both internally and externally) about closed-source addons/tools/features. Additionally there are potential revenue streams from hosted /cloud offerrings.
It's inaccurate that there's no difference between the global lock and database level locking. Whilst it's true that locking is now down at the database level and you get benefits from splitting into multiple databases, the real benefit is from the new PageFaultException architecture. Even using a single database you will see significant performance improvements.
I benchmarked this at http://blog.serverdensity.com/goodbye-global-lock-mongodb-2-0-vs-2-2/ and there is a video explaining how this works at http://www.10gen.com/presentations/concurrency-internals-mongodb-2-2
Location: NYC & Palo Alto
10gen (MongoDB)
We're looking to hire for a large number of different openings from Engineers to Marketing to Sales. Please take a look at http://www.10gen.com/careers/positions
Happy to answer any questions at all at Rockman@10gen.com
10gen is the creator and primary developer of MongoDB, the open source, high performance, scalable, document-oriented database. 10gen delivers technical support, professional services, and training for MongoDB.
Lithium is a really great option. It forces you into a good set of rules to develop your app rapidly while not sacrificing quality. It integrates really well with both MongoDB and CouchDB out of the box and provides a solid set of testing and analysis tools. As frameworks go, it can do as much or as little as you want it to.
The CTO of Totsy gave a talk describing their no-nonsense usage of Lithium and MongoDB http://www.10gen.com/video/mongoboston2010/totsy