If you’re building an application for connected devices, sensors, or any other “Internet of Things” (IoT) project, you might want to take a closer look at Orchestrate’s Event API. Not only does it support thousands of writes per second with sub-timestamp ordering, but it just got a major update that now makes it ideal for advanced IoT use cases (or getting real fancy with audit histories and activity streams). Now, Orchestrate automatically indexes every event you write to Orchestrate, and allows you to take advantage of Orchestrate’s time series features and search capabilities with a single query.
Let’s say you have a teenager with her first car and you’ve installed some way to track speed, location, and other criteria a concerned parent wants to know. Your application could pipe this data to Orchestrate, writing events against an item that describes your daughter. You’ve always been able to read that report of events back in order, even requesting specific time slices. Now that the data also gets written to our search database, you can filter by specific criteria.
For example, how about all the times she drives faster than 60 miles per hour without wading through events with her slow poking along? That search might look like this:
@path.kind:event AND @path.type:driving AND @path.key:daughter AND value.speed:[60 TO *]
The first thing you may notice is the @path method of identifying the metadata for both events or items. When using @path.kind:event, you search every event indexed in your collection. You can further restrict by the type of event you noted when storing the events, the item key associated with the event, or by time with timestamps and ordinals. Our documentation has an entire list of path metadata.
Event searching becomes even more useful when searching across multiple keys, rather than a single event timeline. Previously Orchestrate required multiple requests to retrieve event lists and then you had to merge them manually. That’s easy enough when you have only two or three driving teenagers. What about when you have an entire fleet? In that case, they probably aren’t your children, but you still are interested in this data.
Here’s a sample search across any number of vehicles in a fleet that contain events above our speed threshold:
@path.kind:event AND @path.type:driving AND value.speed:[60 TO *]
The query, in fact, is identical to the previous one except that it does not restrict on the key. Since every event is indexed, that gives you access to the robust search-ability that’s already been stress-tested. You are now able to merge event timelines together, effectively giving your application access to Orchestrate’s multiple databases in a single call.
That means many of Orchestrate’s other features are now available within event searches, as well. You can pull out insights using statistical and other aggregations, you can sort by any field (including metadata), and you can query by location for regional or hyperlocal discoveries.
We can’t stop your teenagers from speeding, but our solid event API is ready for all your sensors and anything else producing time series data. Whether you have a fleet of vehicles, a connected coffee pot, or thousands of climate receptors, you can access your time-ordered data, as well as filter and aggregate what is returned. Look through the event search documentation to see how this small tweak in interface can make a big impact on your applications.