Recent Posts
Archives

Posts Tagged ‘DataModeling’

PostHeaderIcon [DevoxxBE2012] 10 Months of MongoDB at Nokia Entertainment Bristol

Tom Coupland, a senior engineer at Nokia Entertainment Bristol with expertise in data-centric applications, shared the journey of adopting MongoDB within his team. Tom, focused on backend services for Nokia’s music app, described how a small group of developers introduced MongoDB, overcoming organizational hurdles to integrate it successfully.

He set the context: a team of about 40 developers building a service-oriented architecture behind mobile clients. This created numerous fine-grained services with distinct persistence needs, prompting exploration beyond traditional relational databases like Oracle or MySQL.

The motivation stemmed from simplicity and speed. Dissatisfied with ORM complexities in Hibernate, they sought alternatives. MongoDB’s schema-less design and JSON-like documents aligned with their data models, reducing mapping overhead.

Tom recounted the adoption process: starting with self-education via books and conferences, then prototyping a service. Positive results—faster development, easier scaling—led to pitching it internally. They emphasized MongoDB’s fit for document-oriented data, like user profiles, over relational joins.

Gaining acceptance involved demonstrating benefits: quicker iterations, no schema migrations during development, and horizontal scaling via sharding. Administrators appreciated operational simplicity, despite initial concerns over maturity.

Initial Exploration and Justification

Tom detailed early experiments: evaluating against Postgres, appreciating MongoDB’s query language and aggregation framework. They addressed CAP theorem trade-offs, opting for consistency over availability for their use cases.

Prototypes showcased rapid schema evolution without downtime, crucial for agile environments.

Implementation and Lessons Learned

In production, they used Java drivers with Jackson for serialization, avoiding ORMs like Morphia for control. Tom discussed indexing strategies, ensuring queries hit indexes via explain plans.

Challenges included data modeling: denormalizing for read efficiency, managing large arrays. They learned to monitor operations, using MMS for insights.

Performance tuning involved sharding keys selection, balancing distribution.

Organizational Integration and Expansion

Convincing peers involved code reviews showing cleaner implementations. Managers saw productivity gains.

Tom noted opening doors to experimentation: JVM languages like Scala, other stores like Neo4j.

He advised evaluating tools holistically, considering added complexities.

In Q&A, Tom clarified validation at application level and dismissal of Morphia for direct control.

His narrative illustrated grassroots adoption driving technological shift, emphasizing simplicity in complex ecosystems.

Links: