> Ничего что Монга и ПГ - это разные базы и разный принцип
> работы?Я работал с другими NoSQL базами в одной большой и известной компании, и с ними всё верно, вы правы -- совсем другой подход, чем к реляционным. Я их люблю и уважаю. Но после опыта с Монгой я считаю что это насмешка над СУБД.
Мы тоже думали сначала что монга это что-то другое. Но когда со временем начинаешь использовать 100% её возможностей, то понимаешь что по сути монга это key-value хранилище с syntactic sugar в виде JSON(BSON). То есть по сути работаешь со строками, то есть почти то же самое как если бы в ПГ создать таблицу с одним полем TEXT. Вот тебе и монга.
"Почти" -- потому что по TEXT не построишь индекс, зато по JSONB -- как раз. Плюс получаешь все вкусности SQL -- это и JOINs, и schema-full (когда говорят schema-less это на самом деле значит что теперь схему нужно менеджить самому, писать вручную скрипты foreach по всем строкам таблицы чтобы что-то поменять, вместо одного ALTER TABLE). И самое смешное, JSONB работает быстрее, чем монга (мерял по SELECT vs db.collection.find()).
Как один из примеров -- нам очень нужен был атомарный update, aka compareAndSet в нормальных NoSQL, или простой UPDATE в SQL. В монге единственный способ -- findAndModify, который suck balls и по перформансу, и по возможностям. То же самое с атомарным insert. И таких примеров у нас накопилась уйма. Шардинг у нас натурально ложился на наш бизнес -- one shard per customer, и поэтому никакой проблемы не было, тем более что в ПГ данные занимают меньше места на диске.