Node.js实现的嵌入式数据存储,可以部分或全部替代sqlite数据库。可以当内存数据库使用也可本地存储。
NEDB采用非常灵活的查询方式,让你几乎可以忘记他是非关系数据库:
(1) 可以使用正则查询
(2) and or where 大于 小于 排序等
(3) 索引
数据存储采用JSON新式,可以深度查询。
eg:
// Let's say our datastore contains the following collection{ _id: 'id5', completeData: { planets: [ { name: 'Earth', number: 3 }, { name: 'Mars', number: 2 }, { name: 'Pluton', number: 9 } ] } }db.find({ "completeData.planets.0.name": "Earth" }, function (err, docs) { // docs contains document 5 // If we had tested against "Mars" docs would be empty because we are matching against a specific array element });
语法和MongoDB非常相似.
SpeedInsert:5,950ops/s
Find:25,440ops/s
Update:4,490ops/s
Remove:6,620ops/s
MemoryfootprintAcopyofthewholedatabaseiskeptinmemory.Thisisnotmuchontheexpectedkindofdatasets(20MBfor10,0002KBdocuments).Ifrequested,I'llintroduceanoptiontonotusethiscachetodecreasememoryfootprint(atthecostofalowerspeed).
缺点:数据加载在内存中进行操作,不适合内存非常紧张的应用。目前作者没有给出细腻度的内存控制方法。
评论