3 results

Getting to know Geospatial Indexing on MongoDB with TST

With built-in geospatial indexing, MongoDB is an excellent option for storing and querying location data. But how are these capabilities being used in the real world? We decided to discuss how one of 10gen's partners, Thermopylae Sciences + Technology (TST), have been leveraging MongoDB for customers in the Federal and Commercial markets. Who is TST? TST is a 10gen partner that focuses on implementing MongoDB for customers in the Federal and Commercial sector. We are avid open source supporters and have contributed additional tools and capabilities to mongoDB and other OSS projects. How would you define Geospatial? Geospatial deals with a few different key areas. The underlying and foundational layer of geospatial is generally known as a map or an image. Managing large amounts of data in this foundational layer has the potential to reach multi-petabyte scale quite quickly. The second element of geospatial is data that helps define the foundational layer - generally this is terrain elevation data or 3D building (urban terrain). The data on top of the previous layers - the static information - is another component and includes information that does not change frequently such as activities, frequency of activities, reports on events at a certain place and time, etc. Static information includes historic data, such as how many robberies occurred in your neighborhood over the previous 5 years. /p> The final set of data is dynamic geo data , which deals with things that are moving such as tracking your friends on Google Latitude. The military has Common Operating Picture displays that show the position of all their troops in a region - another example of dynamic data. As geospatial data management capabilities continue to evolve, the dynamic geo data space is growing considerably. Why MongoDB for Geospatial? As a document oriented storage system , MongoDB allows you to store complex data types. In contrast to distributed hash tables, key value stores, or relational databases that only permit storage of simple types, MongoDB DOES allow for the complex data types. The real value for TST is the ability to support operations-focused customers. These folks, usually in our US Military or other Intelligence Community agencies, have geospatial data that number into the tens of millions of objects, including hyperspectral data and spatio-temporal data that changes rapidly. This volume of data requires the scale-out functionality that MongoDB provides. MongoDB is easy to extend and configure from a developer's perspective, which leads to rapid development. And the technology is schema flexible - with a query language retaining some of the properties of SQL Additionally, we have found the efficient memory management design that MongoDB provides complements our approach well. This enables the storage of the entire index directly within memory as opposed to extensive memory to disk swapping, which hampers write performance. Outside of customer application development, how else does TST use MongoDB for geo? TST has three primary capabilities that currently leverage MongoDB. iSpatial is a geospatial framework that uses MongoDB as one of its indexes for data. As improvements to MongoDB's geospatial management features are contributed, TST will continuously enhance iSpatial to take advantage of those features. iHarvest is a tool that uses MongoDB to monitor hundreds of millions of events on a network. Those events could be carried out by system users, sensors on network, or hardware devices on network. iHarvest creates an individual model for each actor and can then conduct a variety of analysis that helps protect against insider threat, promotes collaboration among individuals with common interests, provides organization heads a roll-up of what their organization is working on, and alerts the users within an organization to new data that they might be interested in reviewing. Ubiquity is TST's mobile software framework that leverages MongoDB through iSpatial. This software enables every day users to drag and drop widgets into a mobile application container to create their own unique mobile apps. TST has extended MongoDB core codebase with an initial update to allow an abstraction of the current indexing that now supports different indexing structures. This allows a variety of additional spatial capabilities. Specifically, the TST extensions now allow for MongoDB to support 3D and 4D searching on geospatial data. TST plans to continue contributing to the MongoDB core around spatial applications and will be working on indexing hyperspectral data and enhancing the geo sharding capabilities. TST will also be working internally to rotate our development staff through our open source contribution team in our Applied Sciences Group, so that a significant percentage of our top developer are smart on MongoDB and able to contribute updates to the core software. To learn more about TST, visit Also, check out Nicholas Knize presentation from mongoDC on Geospatial Indexing and MongoDB . Tagged with: geospatial indexing, mysql, software, foss, open source, government IT, MongoDB, Mongo, NoSQL, Polyglot persistence, 10gen

July 13, 2012

Xtify: Powered by MongoDB

Engaging audiences on mobile is a key strategy for advertisers in the age of apps. Xtify helps brand can easily engage with customers through hyper-local targeting on smartphones, and they do it all with MongoDB. What is Xtify Xtify is a mobile engagement platform focused on helping our customers reach their users with highly contextualized messages when and where they will be most effective. Create rich individualized promotions through our web console and REST APIs and specify their delivery profiles using custom geofences, application usage paramaters, and user tags. Our cutting edge complex event engine makes sure the right users get the right messages at the right time. You can also review promotion progress in real time with our analytics tool to increase message effectiveness and reach. Can you tell me a little bit about your technology stack? Here at Xtify we’ve implemented a highly distributed and scalable service oriented architecture on top of ActiveMQ, MongoDB, MySQL, and Enterprise Java. How do you use MongoDB for your location data store? One of the reasons we love MongoDB is for its geo-indexes. As location enabled devices send updates back to our system we dump their latitude and longitude to our location datastore which allows us to dynamically track user movement through time and space. MongoDB’s speed and scalability allows us to store and index well over 25,000 of these updates a minute. What were the driving factors in deciding to use MongoDB? Several persistence use cases in our system aligned well with MongoDB’s schemaless document based structure, including our location and user entities. We also liked the potential for scale we could get with mongos, which we have found to be intuitive and easy to manage. What recommendations would you make to companies deciding to use MongoDB for mobile solutions? As with any solution, the ability to quickly ramp up the performance of a database at a moment’s notice is critical to keeping your customers happy. By pre-sharding key collections, even if you only need one shard initially, you get horizontal scale and stable read/write latencies when you need it most. What are your future plans? Anything exciting happening on the horizon? We have several exciting things in the pipeline including updates to our configuration API, and the addition of an arbitrary event based API. Of course the coolest new products are still top secret so you’ll have to find out with everyone else! Tagged with: mobile, geolocation, applications, apis, api, solutions, software, MongoDB, Mongo, NoSQL, Polyglot persistence, 10gen

July 11, 2012