求教。你们公司用了嘛?存数据,存什么样的数据呢?我的电脑也存数据,不过不用NoSQL;电影图片文档都不用NoSQL存吧?那么究竟什么场合才会用NoSQL呢?什么样的数据才需要用这玩意存呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
用sqlite与unqlite这两个类似的数据库对比一下( 下面使用AAuto代码 )
SQLite:
import console;
import sqlite;
// 连接数据库
var db = sqlite(":memory:")
// 建表, 存储的数据是结构化的
db.exec("CREATE TABLE [post](id,title);")
db.exec("CREATE TABLE [user](id,email,password);")
// 插入数据,必须都是固定的格式
var command = db.prepare("insert into [post] values (@id,@title);")
command.step( id = 1; title = "标题一" );
command.step( id = 1; title = "标题二" );
command.step( id = 2; title = "标题三" );
command.step( id = 2; title = "标题四" );
// 插入数据,每行记录必须是预设的字段结构
var command = db.prepare("insert into [user] values (@id,@email,@password);")
command.step( id = 1; email = "1000@qq.com";password="123" );
command.step( id = 2; email = "1002@qq.com";password="1234" );
command.step( id = 3; email = "1003@qq.com";password="12345" );
// 关系数据库可以建立表之间的关系、连接多个表查询、返回结构化的数据
for uid,title,id,email,password
in db.each("select * from post left join user on user.id = post.id") {
console.log( uid,title,id,email,password );
}
UnQLite - An Embeddable NoSQL Database Engine
?
import unqlite;
import console;
var udb = unqlite(":memory:");
// 不需要建立固定格式的表,就可以存储数据
udb.store("名字","123");
// 存储数据没有固定格式,随意性很强,例如存储json对象
udb.storeObject("jsonObject",{ name = "测试"} )
// 查询简单,不支持关联式结构化查询
// 因为使用哈希类算法检索速度极快,键值式检索在性能上优于关系数据库
console.log( udb.fetch("名字") )