Hello. I am new to mongodb and mongoose and therefore I have some
performance/improvement questions. In the past I did some applications with
databases where performance was never an issue, but in my current project
it is. It is a real time analytics tool.There I need to make very often
updates (where I only insert small pieces of values to an array) and very
few read operations.
In my project I have the following schema for mongoose:
var datawrapperSchema = new mongoose.Schema({
name: {
type:String,
required: true
},
origin_id: {
type:String,
required: true,
unique: true
},
datasets : [{
key : { type:String },
type : { type:String },
values : [{
value: String,
timestamp: String,
level: String
}]
}]
});
As you can see an array of datasets is nested in my datawrapper and an
array of values is nested in my datasets. Is this good practice or should I
try to separate the schemas for performance?
Now I want to update very often the values in my datasets. I think for a
faster update performance I should use separated schemas to address the
datasets directly. I noticed that the roundtrip time (from client to
backend,write update in db, and back to frontend) increases in time. The
first roundtrip times are 40 ms and after 5 minutes they are around 200 ms.
Is can't imagine that this should be normal.
Another problem is that my read operations on datawrappers which get
updates are really slow. I heard of an global lock and write>read, but how
to solve this?
Thanks for your help!
--
You received this message because you are subscribed to the Google Groups
"mongoose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mongoose-users.
For more options, visit https://groups.google.com/d/optout.