世の中には、RDBMS から NoSQL、グラフデータベースなど、様々なデータベースが存在します。データベースを技術選定する際に考慮すべき観点は多岐に渡ります。要件によって大きく異なりますが、どんな場合でも最低限押さえておきたい観点があります。
予算・インフラコストや現場のソフトウェアエンジニアの技術理解度などの制約条件を加味しながら、基本的には上記三つの Reliability / Scalability / Maintainability のトレードオフのバランスをみつつ選定していく形になります。
そして、それぞれのトレードオフのバランスをどうとっていくかがポイントになるわけです。
大抵のケースで、まずは Maintainability を最優先にすると良いでしょう。なぜなら、一番重要なのは「変更できること」「移行できること」「撤退できること」だからです。そして、要件の許す限り最低限のレベルでの Reliability / Scalability を担保するデータベースおよび設計を選定します。
そもそもサービスが成長するかどうかはわかりません。来るかどうかわからない将来に備えて必要以上に Reliability や Scalability を加味する必要はありません。選定したデータベースが、必要に応じて進化させていくことができれば、将来必要になってもそれら Reliability / Scalability を向上させる手掛かりになります。
具体的には、ツールがある程度枯れており、ソースコードが公開されていれば upstream に貢献したり fork したりすることで改善していけることができます。そこで必要とされるプログラミング言語に現場のソフトウェアエンジニアが習熟していればなおよいでしょう。普段のオペレーションコストも低ければ、アーキテクチャ改善やツール改善にエンジニアリングリソースを投下することもできるでしょう。
この三つの観点の最適なバランスを見極めてから初めて、以下の観点を考慮していくと良いです。
上記三つの観点は、私が好きな DDIA 本にも書いてあることです。かなり簡約したので本来はもう少し観点を加えるべきなのですが、まず初めの第一歩として押さえておきたい最低限のポイントを紹介しました。