Stiamo sviluppando un'applicazione il cui dominio dei dati (o almeno il 90% di esso) può essere modellato efficacemente utilizzando un database relazionale. Abbiamo usato PostgreSQL sin dall'inizio e non ho avuto alcun problema. Tuttavia, ora sorge la necessità di memorizzare le relazioni (amicizie) tra gli utenti, proprio come Facebook o Snapchat, e iniziamo a chiederci quale dei seguenti due percorsi sia preferibile:
- Inizia memorizzando le amicizie in una tradizionale tabella delle relazioni in PostgreSQL e finiscila con i problemi di scalabilità (ovvero la crescita del numero di amicizie e delle infami "amichevoli").
- Avvia in anticipo con un database grafico ( TitanDB + Cassandra ) solo per essere pronto quando sorge la necessità di scalare, ma affrontare una startup più lenta nello sviluppo (che include informazioni su TitanDB e Cassandra ).
Il nostro obiettivo è ~ 75 milioni di utenti. Non abbiamo davvero un'idea su quali query avremo bisogno di eseguire su questo "grafico" - per ora, la nostra unica necessità è quella di memorizzare queste informazioni. PostgreSQL potrebbe scalare efficacemente tali numeri? È preferibile seguire l'approccio del grafico in anticipo?