How Smartling and MongoDB Came to Be

How Smartling and MongoDB Came to Be

We use MySQL a lot at Smartling. However, MongoDB is quickly becoming the database of choice when designing our various translation platform components. I am often asked about our experience comparing both, then making the choice of MySQL vs. MongoDB (or any other nosql database).

How It Happened

We’ve started looking beyond MySQL because we started to hit some limits (and using the largest instances on Amazon AWS we could get). The way our software works leads to a ton of inserts/updates/deletes as well as a fair number of selects. So we can’t optimize for a single action without introducing penalties for another actions. The natural progression led to sharding. MySQL does not support sharding natively from the ground up – this alone was enough to start looking around. We’ve resisted sharding for as long as we could by optimizing our application, but the clock was ticking.

Choosing a New Database

A number of realizations led to our new database of choice:

1. We wanted native support for sharding to be able to scale horizontally.

2. We realized we did not need transactionality of relational databases for the most part (pure overhead without any benefits in our case).

3. Referential integrity was also not very high on our list even though it is engrained in developer’s minds and hearts since Databases 101 in school. Relational databases or not – once you run at scale – it is a lost cause anyway.

4. We still needed high availability and replication.

5. The ability to add fields to the tables with millions and millions of records without any downtime sounded super sexy to our development team (this is really a dream come true).

MongoDB Wins Out

After some consideration, we settled on MongoDB without spending too much time researching every single nosql database on the market. Our reasons:

  • MongoDB fits our requirements well
  • 10gen (creators of MongoDB) is our customer. Russian docs anyone? You can contributehere.
  • Many of our customers use mongoDB. Foursquare is an example. Their presentations about mongo learning done the hard way is very useful (look at “see also” materials on the bottom of this page).
  • 10gen office is very close to Smartling HQ in NYC – we can run there and scream on top of our lungs for help in case of emergencies (never happened so far!)
  • Dwight (@dmerr), 10gen CEO and co-founder, is an impressive dude and when you walk through 10gen office – it is unmistakably a database company. You just know.
  • 10gen is backed by first class investors – gives you a confidence they are here to stay

In future posts, I’ll talk more about MongoDB performance comparing to MySQL and a lot of gotchas we had to sort through that were not immediately apparent.

About Team Smartling

Smartling is a software company with the mission to make the world’s content multilingual.

Related


FB Campus

How to Move Fast, Break...

When agile companies first consider localizing digital content, an irresistible force often meets an immovable object. Their insistence on continuous...
Continue reading
SMB Localization

Why Today’s SMBs Are Exploring...

When small business owners first start dreaming of success, the global growth trajectory they imagine often looks something like this:...
Continue reading

Translation Proxy: An Unexpected Ally...

Translation proxy technology has earned its reputation as the fastest, most cost-efficient means of translating website content. It’s helped countless...
Continue reading
hotel concierge

How Can Travel Brands Beat...

Global travel brands have plenty to smile about these days. Discretionary incomes are on the rise, emerging markets are dreaming...
Continue reading