Guest Post: Chartbeat, MongoDB and Me
What’s your story Dion?
My background is in software engineering, and in the past I’ve specifically done things in the pre-Android/iOS mobile space, worked on both the consulting and sales engineering sides of the fence and been a Solution Architect helping plan large technology deployments. Now I’m VP of Engineering at CreativeWorx where my days are spent architecting applications that put data and analytics about how our customers’ work in their hands. I’m also a volunteer for the Coalition for Queens where we are working hard to build a tech ecosystem in Queens that supports the growth of tech in my home borough.
Where did you first learn about Chartbeat?
I was at a MongoDB Meetup maybe two years ago when I first saw the work Chartbeat was doing. I had limited knowledge of MongoDB, so I started attending Meetups to learn more about how companies were using it. When I was first introduced to MongoDB in its earlier days, there was a lot of skepticism – a lot of my colleagues weren’t convinced it would survive.
Chartbeat stood out at this Meetup because you guys were pushing for real-time decision making based on large volumes of data. Seeing how you were helping companies conduct business around these large data sets, getting real-time feedback from a large audience, making in-the-moment data-based decisions was all very interesting to me.
How has the MongoDB work Chartbeat is doing influenced your own work?
More so than other companies, Chartbeat showed me that you can achieve goals in MongoDB that would normally take a lot of infrastructure and complex technical overhead to implement. What Chartbeat was doing with MongoDB destroyed a lot of the assumptions and skepticism I’d inherited from people who weren’t familiar with using MongoDB. After that Meetup, I just dove right in and started learning it.
Chartbeat’s MongoDB work led me to start building applications with it and test the tech’s true potential. In the end I really did enjoy switching from the world of traditional databases to a set of data where I can do anything I want.
With MongoDB, I have to accept responsibility for maintaining on the application level some of the rules that traditional databases have baked in but in return I have the control to use and alter that data to build more scalable and higher-performing applications. It creates a world where I feel you are truly constructing your data to best serve your application and not trying to have your application be driven by the database’s rules.
What advice would you give to people considering working with MongoDB?
First piece of advice I would give is download it, read the SQL to Mongo Query table and give it a try. Building a simple application that just queried and inserted data was enough for me to really understand how I could use it. And when I say use it I mean use it as its intended building a document instead of a traditional flat row. There are many videos online about MongoDB Schema Design which will help you understand the advantages and new ways of thinking when building applications with the freedom of a document database.
The second piece of advice is with all my praise MongoDB isn’t necessarily right for every application. While I love how easy it is to scale the tech and how fast it is, if you are building a system that relies heavily on transactions you will be challenged. By that I mean systems that require an all or nothing approach to updating several pieces of data will find that there currently isn’t a solution for grouping together a set of updates and only doing a commit if all of them can be done successfully. As you can imagine there are creative ways to get around this depending on your situation by using nested objects so the changes are in one document or building your own rollback into your application but these choices may not be realistic for your application.
Third is get involved in the community. Tech is in a pretty amazing place now as compared to where it was when I first started my career. Companies are so open and helpful today in the ways they share their success and failure. I recently attended MongoNYC and was shocked that I was sitting in a room listening to a presentation from Goldman Sachs about not only how they are using MongoDB in house but how they built their architecture to easily spin up dev and production environments for developers to build applications.
If you aren’t involved in the rising community of tech you are really missing out.
Chartbeat is just one of the many companies that are using MongoDB to solve the big data problem and I’m glad you and others are sharing your experiences with the tech community.