# Addepar's Migration from Mongo 2.4 to Mongo 3.4

DevFeed: [Addepar's Migration from Mongo 2.4 to Mongo 3.4](<https://devfeed.tech/articles/migrating-mountains-of-mongo-data-30546.md>)

Original publisher: [Read original article](<https://medium.com/build-addepar/migrating-mountains-of-mongo-data-63e530539952?source=rss----596e43e5e150---4>)

Author: Elan Kugelmass

Published: 2017-10-24T13:11:15Z

Content type: article

Language: en

Sources: [Addepar](<https://devfeed.tech/sources/addepar.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [etl](<https://devfeed.tech/topics/etl.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Replication](<https://devfeed.tech/topics/replication.md>)

Tags: [data-pipelines](<https://devfeed.tech/tags/data-pipelines.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [replication](<https://devfeed.tech/tags/replication.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

## AI overview

Addepar describes upgrading its database from Mongo 2.4 (TokuMX 2.0) to Mongo 3.4 as its dataset and stability and performance requirements grew. The article explains Mongo's role in the company's data ingestion and ETL pipelines and why database upgrades are risky because database guarantees and behavior can change between versions.

## Source excerpt

At Addepar, we're building the world's most versatile financial analytics engine. To feed the calculations that give our clients an unprecedented view into their portfolios, we need data -- from as many sources, vendors, and intermediaries as possible. Our market and portfolio data pipelines ingest benchmarks, security terms, accounting, and performance data from hundreds of integration partners. Behind this data pipeline is a database. And like every database, ours requires maintenance and care. Maintaining an obsolete database instance is challenging due to lack of support, inferior performance, and a dwindling developer community. As our dataset grew and we faced increased stability and performance requirements, the engineering group at Addepar decided it was time to upgrade our venerable Mongo 2.4 (TokuMX 2.0) database to the latest and greatest Mongo 3.4. Every organization has at least one database saga, and we're excited to share one of ours. Dependency management extends to databases Upgrading a database is a tricky business. Like other dependencies that support a product, databases have a tendency to fall out of date. Upgrades are deferred until that imagined future where everything is stable, clients have exhausted their feature request lists, and there's not much to do in the office other than play foosball and exchange memes. It's an understandable decision! Databases are complicated, leaky abstractions that inevitably form an implicit extension of our application logic. Their data types, atomicity guarantees, and transactionality semantics define the constraints we place on data and drive how we store application state. And because these guarantees (or lack thereof) tend to change (in ways that are sometimes undocumented!) between database versions, moving to the latest release is a risky proposition. Motivated by our need for an extremely reliable datastore that could handle complex and evolving schemas, we chose Mongo as the sole database for Addepar's