Matt DeBergalis has announced Meteor's acquisition of FathomDB, the database-as-a-service platform.
FathomDB's creator, Justin Santa Barbara, joins the Meteor core team, and says Meteor shares FathomDB's goals of simplifying working with data and databases "but takes the vision much further."
Expanding on this idea, DeBergalis told InfoQ that one of the key areas of innovation in Meteor has been how it interacts with the database. DeBergalis says FathomDB tackles many of the same challenges that the team are solving in Meteor around the notion of a realtime database as a service.
He said:
A key layer of the Meteor stack is Livequery, a set of packages that implement reactive queries on a database server. This is the piece of Meteor that turns traditional databases like MongoDB into realtime databases.
Livequery lets you call observe on any database query and be notified in real time whenever the results change. It's the foundation of Meteor's whole reactive system for synchronizing a server's data into every open browser tab and mobile device.
Asked how FathomDB fits in with the tools that the Meteor team has been working on for mobile devices, DeBergalis explained:
Mobile is all about real time data. Unlike the page-based web, where users get a fresh screen every time they click a link, servers have to push new data into mobile apps to keep them up to date. Any modern platform like Meteor that's designed for mobile must support this new kind of database.
On Hacker News, in the discussion Meteor Acquires YC Alum FathomDB for Its Development Platform, user hawkice asked "Does this mean that Meteor will support SQL databases for the 1.0 release?"
User saadshamim replied:
At the moment, Meteor polls the database every 10 seconds to see the changes, which isn't very efficient, or does oplog tailing if your MongoDB has replica sets enabled, which can be much better for scaling.
However, oplog doesn't really work for other databases, i.e mysql, so I'm guessing FathomDB has been working on a better implementation than simply polling.
My guess is that they will try to abstract out the database layer, which is really tightly baked into Meteor, so more databases can be supported. I think that will probably take quite a bit of time since its not in the 1.0 release plan, they will most likely need to change how their packaging system works, and some of their core system.
Asked directly by InfoQ about how the FathomDB acquisition fits in with the anticipated Meteor 1.0 release, DeBergalis would only say there was nothing further he could share about any other significant or related announcements to come.
Meteor is released via an MIT licence. InfoQ readers can contribute to Meteor in a variety of ways, including by publishing new Atmosphere Packages, and are encouraged to read the Contributing to Meteor guidelines for more information on how to contribute code to the project.
The price and terms of FathomDB's acquisition were not available at time of press.