My customer has built a MVP for a full blown social network using SurrealDB - (URL Removed by Staff) but not happy with it's performance and asked me to consider between Spanner / GCP hosted AlloyDB / CloudSQL (Postgres) and I need some help on the same.
Every single back-end query will have to compute results based on various factors:
Blocking - whether the users or posts by users in a result have blocked the current user.
Privacy - there are 4 privacy levels at the moment aka Public / Followers / Close Friends / Private - whether the posts in the result allow the current user to view them depending upon the Privacy relationship with the current user.
Besides this, there is Twitter like real time Newsfeed with real time stats aka Like Count, Comment Count, etc which will be heavily personalized using AI in the near future. Users will also be able to filter their Newsfeed based on different parameters. Newsfeed table can grow to billions of rows very quickly depending upon how many users start using the app and posting stuff.
And then you have a global search (for users, posts, point of interests, etc) similar to Instagram.
Lastly, user profiles are pretty exhaustive like that of Facebook and data for the same will reside in about 20+ tables.
Cloud Spanner added support for Graph queries. Is the same expected with AlloyDB in the near future.
Cloud Spanner does not support Geospatial queries aka something like PostGIS at the moment. Is this expected in the near future? Does GCP hosted AlloyDB support the same?
Are temporary tables like in Postgres supported with Spanner / GCP hosted AlloyDB? If not then are they expected in the near future?
How good is Big Query integration with Spanner / GCP hosted AlloyDB / CloudSQL (Postgres)?
How good is NoSQL support (including querying) in Spanner and GCP hosted AlloyDB?
Which of these 3 databases is most futuristic aka AI ready?
What are the Pros and Cons between the 3 choices and which database would you recommend?
Many thanks in advance.
Hi @thoughtspeed7,
Welcome to the Google Cloud Community!
For these types of questions, I would recommend getting in touch with our Google Cloud sales specialists or find a Google Cloud partner. They should have the necessary expertise to help you evaluate and implement the right solution for your business needs.
Was this helpful? If so, please accept this answer as “Solution”. If you need additional assistance, reply here within 2 business days and I’ll be happy to help.