1

We are a IoT company that provide services for transportation and logistics companies. As a infrastructure service provider we offer GPS tracking devices to our client.

Although the format of GPS tracking data is very neat (gpsId, longitude, latitude, speed, direction, reportTime, etc), but amount of it is very big. Every device report GPS tracking information per 10 seconds, and we have 100k devices, thus 60*60*24*100000/10 = 864M rows of new data generated every day.

Using the data collected by GPS tracking device of a particular vehicle, client can review the traces of this vehicle within a given time period (for example, last 10 days, will need 60*60*24*10/10 = 86.4K rows of data).

Currently we use MySQL as storage medium, and take advantage of sharding and table partitioning(based on gpsId) of it. But since the data is so big and query on it is so frequent, so I wonder if we can use a NoSQL storage to fit this scenario better?

Historical data is also useful for data analysis.

Appreciated.

Community
  • 1
  • 1
Wuaner
  • 929
  • 2
  • 14
  • 31
  • I would definitely recommend getting in touch with [Cloudant](https://cloudant.com/about-us/contact-us/) to discuss your requirements in more detail. DISCLAIMER: I work for Cloudant. – Chris Snow Oct 28 '14 at 18:07
  • Hi @Wuaner, I am facing the same issue, but only for 500 devices. Did you find a nice solution? – IgorAlves Jul 08 '17 at 22:03

2 Answers2

1

It sounds like you want a time series database. These are databases optimized for large arrays of numbers indexed by time. Wikipedia lists several open source and proprietary databases for time series, including several built on top of Cassandra.

wikipedia entry for Time Series Database

Josh Marinacci
  • 1,715
  • 1
  • 14
  • 15
0

Why do you want to choose NoSQL? You can efficiently store geolocation data in MySQL - read this.

For other database options, read this.

Community
  • 1
  • 1
niutech
  • 28,923
  • 15
  • 96
  • 106