R
R
recloudor2016-05-26 16:15:07
MySQL
recloudor, 2016-05-26 16:15:07

Who knows a replacement for MongoDB?

MongoDB has a two-tier data organization model: collections > JSON documents.
This is ok for small resources, say, for a blog where there are only posts.
What if each user has their own posts? All posts to push in one collection or in one array? If you need to implement something more or less normal, you have to write a crutch on a crutch.
We need at least a three-level model.
You can insert a document into a collection only at the end.
For example, I insert a post into a collection, and I need to take the posts by the date they were added.
Of course, you can do all this by searching, or write a crutch with skip, limit.
If it was possible to insert everything at the beginning of the collection, it would be much easier.
MySQL? potgresql? REDIS? Any other?
Подскажите, пожалуйста, кто знает лучшую альтернативу.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
Александр Аксентьев, 2016-05-26
@Sanasol

В чем проблема-то? Вы что-то не то делаете, и проблема не в монго, а как говорится в прокладке между стулом и монитором.
коллекция юзеры -> id, email, password
коллекция посты -> id, user_id, post_content

var user = users.find(1);
var posts_by_user = posts.find({ user_id: user._id });

Алексей Черемисин, 2016-05-26
@leahch

Ну могу посоветовать, как альтернативу, Elasticsearch. Но, боюсь, она вам еще больше не понравится, хотя на мой взгляд очень даже. По моему, у вас просто что-то не то с организацией данных, да и какие проблемы выбрать последние 10 по дате? Это же обыкновенный поиск по индексу, все должно очень быстро работать.
PS.
recloudor: И да, как альтернативу сортировке, предлагаю использовать для этого REDIS. При добавлении поста в монгу, добавлять id поста дополнительно и в list REDIS.
Из редиса доставать ОДНИМ запросом идентификаторы последних n-записей
lrange user_posts:id1234 10 -1

I
index0h, 2016-05-27
@index0h

What if each user has their own posts? All posts to push in one collection or in one array?

Why? Posts in one collection - it's quite ok. Yuzveri in another collection is also ok.
Do not write a crutch on a crutch, first design the database in such a way as to avoid this.
And what is the problem (I tell you a secret: this happens in almost every DBMS)? What do you care where it will be inserted? Make a selection with sorting.
Какой нехороший человек вам такую дичь сказал? Если у вас записей 10кк, у вас просто оперативки не хватит делать подобные выборки без skip/limit.
Вы пытаетесь вырвать гланды через анус, причем другого человека.
Еще раз, вы придумали проблему и пытаетесь ее героически решить, но проблема заключается в том, что вы не правильно используете средства предлагаемые mongo, и другая БД вам ни как не поможет

F
Fayozzhon Berdiev, 2016-05-26
@CybernatiC

Why don't you like MongoDB?
We somehow did a realtime service on nodejs loopback + mongoDB
Many users, millions of records, more than 6000 requests per second. And everything flies

S
sim3x, 2016-05-26
@sim3x

Potgresql

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question