Data insertion is a very fast operation, usually bounded by network latency and bandwidth. This means you will usually be able to insert data in less than
Once we receive your insertion request, it can take up to few seconds for your data to be available for querying due to eventual consistency.
You may notice that, after inserting some data, it takes a few seconds to your queries reflect these fresh data. Why does it happen?
It all comes from the concept of eventual consistency : if no new updates are made to one entity, eventually this entity will be updated to the correct value. Differently from ACID-compliant Relational Databases
, where data usually must be precise (imagine a banking system with unreliable account balances), Analytics Databases don't need to be so immediately precise after the data insertion. Usually, we are interested in general statistics instead of individual data.
We do this because, for analytics purposes, we often have millions or billions of insertions per day - something unthinkable in Relational Databases. It is mandatory to have large insertion throughput, but having a few out-of-date entities for few seconds usually don't hurt analytics jobs, so this can be relaxed.
Eventual consistency comes to help us when performance is more important than immediate precision. That's why, sometimes, your queries may present out-of-date information for a few seconds.
If you have any question on eventual consistency or have more strict requirements, please get in contact with us so we can define together what to do and have the best possible experience.