I am starting a new project within GCP and I am trying to choose a right tool for storing bank transactions:

  1. I don't need transactions, these will be basically write-only, no updates
  2. I don't need joins and relations
  3. I need grouping and sums
  4. Ideally I would like to use a managed tool within GCP
  5. I need to be able to have unique records (identified by ID or by the uniqueness of the record)

GCP solutions:

  1. Firestore
    • I really like the way of authorisation via service accounts, no need for users/passwords
    • Fulfils 1, 2, 4, 5
    • Completely unsuitable to fulfil point 3
  2. CloudSQL
    • fulfils 3 and 5, but I find it too complex for my need
    • old-way authorisation of MySQL - one cannot use GCP authorisation
  3. Elasticsearch
    • fulfils 3 and 5 but also too complex
    • Not within GCP, not managed, cannot use GCP auth
  4. BigQuery
    • Seems to fulfil all 1, 2, 3, 4
    • Unfortunately it seems it cannot prevent having duplicate records
    • Data becomes available after long time
  5. BigTable
    • Seems too complex for such simple requirements

Could you think of another approach?

  • How much data - rows / GB? Commented Jul 26, 2020 at 9:06
  • not much, lower tens of megabytest per year
    – Vojtěch
    Commented Jul 27, 2020 at 7:22
  • it would be great to get some feedback for each downvote :/
    – Vojtěch
    Commented Jul 27, 2020 at 7:22
  • I think the problem with your question is that answer will be largely opinion based and preference biased. You seem to have done some research yourself about capability, so what conclusion have you come to? Spoiler: If there is more than 1 viable option (therefore the choice is not technical), then the best outcome for you is going to be specific to your preferences and and circumstance. Commented Aug 5, 2020 at 4:39


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.