NoSQL to nie jest tylko kwestia skalowania. Miejsce, gdzie IMHO NoSQLe rozkładają RDBMSy na łopatki całkowicie jest zapewnienie wysokiej dostępności. W RDBMSie padnie Ci dysk/pamięć/procesor/karta sieciowa i co? I masz downtime. Nawet jak masz slave'a z hot-standby lub jakąś inną replikację, zanim zdiagnozujesz i przełączysz [1], użytkownicy będą się wkurzać, że serwis nie działa.
Kolejna rzecz: czy fakt, że nie przewidujecie dużo danych, nie wynika przypadkiem z tego, że na starcie założyliście, że po prostu nie będziecie zbierać wielu danych, bo by było ich za dużo? Trend jest obecnie taki, żeby zbierać jak najwięcej surowych danych (bo w końcu można), a później je masowo analizować np. Hadoopem. I tu znowu NoSQLe są znacznie lepsze.
A brakiem transakcji bym się nie przejmował. Banki przedkładają dostępność nad spójność (transakcje)... Większość ludzi nie zdaje sobie sprawy, że nie potrzebuje transakcji, a przynajmniej nie w sensie ACID.
[1] Tak, wiem, że teoretycznie można to zautomatyzować. I nigdy w życiu nie widziałem, żeby takie coś poprawnie zadziałało. Fail-over ma taką wadę, że jest jak backup, którego się nie testuje. W krytycznej sytuacji zawodzi.
Edit:
Głównie to będą inserty, ale też zbieranie danych statystycznych tak jak już wcześnie wspomniałem, czyli faktury opłacone, nie opłacone itd...
Jeśli głównie inserty + zbieranie danych na potrzeby statystyczne, to chyba nie ma nic mocniejszego obecnie niż Apache Cassandra.
http://www.quora.com/Why-are-the-writes-of-Cassandra-executed-faster-than-MySQLs
Jeszcze tak mi przychodzi do głowy jedna kwestia. Czy bazy mają coś takiego jak samouzupełnianie? Dokładnie chodzi o to aby po jakichś danych sprawdzać dwie bazy (wybrane tabele) czy są zgodne jeśli w jednej bazie brakuje tych danych to się same uzupełniają i są zgodne.
Cassandra (OSS) i Amazon DynamoDB (komercyjne) mają replikację zapisów + read-repair + anti-entropy. W praktyce działa właśnie tak, że jak jakiś danych na jednym węźle nie ma, to się dociągną tylko brakujące, nie cała baza.
Coś jak replikacja np. w mongodb, tylko, że nie całej bazy.
Akurat wzorować się w kwestii replikacji na MongoDB to jest bardzo, bardzo zły pomysł. MongoDB jest cudowne na jednym serwerze i mieszczą się całe w RAM. Zaprojektowane przez projektantów ładnego API, speców od marketingu i pisania ładnych blogów. Jak masz więcej niż jeden serwer, zaczynają się schody. To jest chyba najbardziej poryta architektura replikacji jaką widziałem. No i jest oparta o fail-over. Nie idź tą drogą.
Z innych rzeczy, MongoDB nie jest w pełni OpenSource, przynajmniej nie w tym sensie co inne bazy otwartoźródłowe jak np. PostgreSQL, HBase czy Cassandra. Cały kod jest własnością 10gen i jest licencjonowany na AGPL, która jest dosyć restrykcyjną licencją (złośliwi twierdzą, że "The stated purpose of the original GPL was to protect users from vendors. The AGPL is designed to protect vendors from users").