NoSQL到底是干什么用的?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

NoSQL到底是干什么用的?

a123456678 2016-06-28 17:43:37 1595

求教。你们公司用了嘛?存数据,存什么样的数据呢?我的电脑也存数据,不过不用NoSQL;电影图片文档都不用NoSQL存吧?那么究竟什么场合才会用NoSQL呢?什么样的数据才需要用这玩意存呢?

NoSQL
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:48:33

    用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("名字") )
    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题