Reputation: 4129
Is Google Cloud Store suitable for storing & retrieving time series data (data that is stored sequentially)?
I looked online and couldnt find any details as to whether they index or fragment data that could affect read speed?
Specifically, I need to lookup a key => property value in O(1).
Upvotes: 2
Views: 683
Reputation: 2927
Google Cloud Datastore (note that this is different from Google Cloud Storage) supports O(1) lookup of entities and queries that are O(N) where N is the number of results.
Inequality filters are supported on at most one property, and you can specify both an upper and lower bound on that property. However, large numbers of sequential writes (such as bulk deletes or an index on write time) may slow down range queries.
Upvotes: 1
Reputation: 38399
You could store an arbitrarily large number of keys => value pairs in Google Cloud Storage in a bucket with the key being the object name and the value being the contents. If the object names were predictable, orderable timestamps, you could even list an arbitrary range of dates to get a list of keys and then look up their values. If you stored the values as metadata, you could even get the values in the list operation.
That said, cloud blob storage solutions like S3 or GCS are not the optimal way to store time series data. It will work, and individual lookups will be pretty close to constant time, but a specialized time series database or even a standard relational database will almost certainly be more performant for tables of data by orders of magnitude.
Upvotes: 0