前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Mongodb多键索引之嵌套文档

Mongodb多键索引之嵌套文档

作者头像
徐靖
发布于 2020-08-25 02:49:35
发布于 2020-08-25 02:49:35
3.1K00
代码可运行
举报
文章被收录于专栏:DB说DB说
运行总次数:0
代码可运行

接上上一篇文档 Mongodb多键索引之数组,本次继续多键索引,到目前为止还没有分析业务中具体使用方式以及需求,只知道需要使用多键索引来满足不同查询,通过一个多键索引来解决不同谓词过滤,具体能否实现以及到底使用数组、嵌套文档还是数组文档方式?目前都是未知数,所以通过学习官方资料以及实际验证来解决如上2个问题.【能不能以及怎么做问题】,同时引出关键问题性能问题,选择一个能做方式满足业务需求,到底性能如何?

【嵌套文档如何使用高效索引查询】

1、集合中随机一条文档信息

关注:item嵌套文档,包括2组key:value的字典格式,name&manufactured

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
备注:所有数据格式都是一致,查询随机一条用于显示;findOne类似关系型
数据库Oracle rownum<=1 or mysql limit 1
xiaoxu:PRIMARY> db.survey.findOne();
{
  "_id" : ObjectId("5f2ff576eb7de181ebe814f9"),
  "item" : {
    "name" : "Katie",
    "manufactured" : 16
  },
  "ratings" : [
    16,
    116
  ],
  "user_id" : 16,
  "boolean" : true,
  "added_at" : ISODate("2020-08-09T13:09:10.791Z"),
  "number" : 662
}
xiaoxu:PRIMARY>

2、通过item来完全匹配嵌套文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
【没有索引查询1条doc时间为453ms】
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie","manufactured" : 16}}).count();
1
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie","manufactured" : 16}}).pretty();
{
  "_id" : ObjectId("5f2ff576eb7de181ebe814f9"),
  "item" : {
    "name" : "Katie",
    "manufactured" : 16
  },
  "ratings" : [
    16,
    116
  ],
  "user_id" : 16,
  "boolean" : true,
  "added_at" : ISODate("2020-08-09T13:09:10.791Z"),
  "number" : 662
}
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie","manufactured" : 16}}).explain("executionStats").executionStats;
{
  "executionSuccess" : true,
  "nReturned" : 1,
  "executionTimeMillis" : 465,
  "totalKeysExamined" : 0,
  "totalDocsExamined" : 1000019,
  "executionStages" : {
    "stage" : "COLLSCAN",
    "filter" : {
      "item" : {
        "$eq" : {
          "name" : "Katie",
          "manufactured" : 16
        }
      }
    },
    "nReturned" : 1,
    "executionTimeMillisEstimate" : 430,
    "works" : 1000021,
    "advanced" : 1,
    "needTime" : 1000019,
    "needYield" : 0,
    "saveState" : 7812,
    "restoreState" : 7812,
    "isEOF" : 1,
    "invalidates" : 0,
    "direction" : "forward",
    "docsExamined" : 1000019
  }
}
【执行时间453ms】
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie","manufactured" : 16}}).explain("executionStats").executionStats.executionTimeMillis;
453

3、如何创建索引来完全匹配嵌套文档

  • item作为一个整体创建索引,类似数组创建索引,此时不是多键索引

整体匹配语句区别:

1、db.survey.find({item:{name:"Katie","manufactured" : 16}})--走item索引

2、db.survey.find({"item.name":"Katie","item.manufactured" : 16}})--不走索引

备注:2个语句都是查询name=Katie and manufactured=16.如果语句2走索引,需要item.name:1,item.manufactured:1这种匹配方式创建索引,而不是item整体创建索引.从这里发现想创建item作为索引来满足各种匹配查询,例如单列查询,设想计划泡汤

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
【创建item嵌套文档索引-作为整体,此时时间为0备注:从执行中发现:"isMultiKey" : false,说明不是多键索引
xiaoxu:PRIMARY> db.survey.createIndex({item:1})
{
  "createdCollectionAutomatically" : false,
  "numIndexesBefore" : 7,
  "numIndexesAfter" : 8,
  "ok" : 1
}
xiaoxu:PRIMARY>
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie","manufactured" : 16}}).explain("executionStats").executionStats;
{
  "executionSuccess" : true,
  "nReturned" : 1,
  "executionTimeMillis" : 0,
  "totalKeysExamined" : 1,
  "totalDocsExamined" : 1,
  "executionStages" : {
    "stage" : "FETCH",
    "nReturned" : 1,
    "executionTimeMillisEstimate" : 0,
    "works" : 2,
    "advanced" : 1,
    "needTime" : 0,
    "needYield" : 0,
    "saveState" : 0,
    "restoreState" : 0,
    "isEOF" : 1,
    "invalidates" : 0,
    "docsExamined" : 1,
    "alreadyHasObj" : 0,
    "inputStage" : {
      "stage" : "IXSCAN",
      "nReturned" : 1,
      "executionTimeMillisEstimate" : 0,
      "works" : 2,
      "advanced" : 1,
      "needTime" : 0,
      "needYield" : 0,
      "saveState" : 0,
      "restoreState" : 0,
      "isEOF" : 1,
      "invalidates" : 0,
      "keyPattern" : {
        "item" : 1
      },
      "indexName" : "item_1",
      "isMultiKey" : false,
      "multiKeyPaths" : {
        "item" : [ ]
      },
      "isUnique" : false,
      "isSparse" : false,
      "isPartial" : false,
      "indexVersion" : 2,
      "direction" : "forward",
      "indexBounds" : {
        "item" : [
          "[{ name: \"Katie\", manufactured: 16.0 }, { name: \"Katie\", manufactured: 16.0 }]"
        ]
      },
      "keysExamined" : 1,
      "seeks" : 1,
      "dupsTested" : 0,
      "dupsDropped" : 0,
      "seenInvalidated" : 0
    }
  }
}
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie","manufactured" : 16}}).explain("executionStats").executionStats.executionTimeMillis;
0
【第二种格式无法使用索引】
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie","item.manufactured" : 16}).explain("executionStats").executionStats;

{
  "executionSuccess" : true,
  "nReturned" : 1,
  "executionTimeMillis" : 451,
  "totalKeysExamined" : 0,
  "totalDocsExamined" : 1000019,
  "executionStages" : {
    "stage" : "COLLSCAN",
    "filter" : {
      "item" : {
        "$eq" : {
          "name" : "Katie",
          "manufactured" : 16
        }
      }
    },
    "nReturned" : 1,
    "executionTimeMillisEstimate" : 390,
    "works" : 1000021,
    "advanced" : 1,
    "needTime" : 1000019,
    "needYield" : 0,
    "saveState" : 7812,
    "restoreState" : 7812,
    "isEOF" : 1,
    "invalidates" : 0,
    "direction" : "forward",
    "docsExamined" : 1000019
  }
}

【创建与查询匹配索引】
db.survey.createIndex({"item.name":1,"item:manufactured":1})
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie","item.manufactured" : 16}).explain("executionStats").executionStats;
{
  "executionSuccess" : true,
  "nReturned" : 1,
  "executionTimeMillis" : 405,
  "totalKeysExamined" : 0,
  "totalDocsExamined" : 1000019,
  "executionStages" : {
    "stage" : "COLLSCAN",
    "filter" : {
      "$and" : [
        {
          "item.manufactured" : {
            "$eq" : 16
          }
        },
        {
          "item.name" : {
            "$eq" : "Katie"
          }
        }
      ]
    },
    "nReturned" : 1,
    "executionTimeMillisEstimate" : 330,
    "works" : 1000021,
    "advanced" : 1,
    "needTime" : 1000019,
    "needYield" : 0,
    "saveState" : 7812,
    "restoreState" : 7812,
    "isEOF" : 1,
    "invalidates" : 0,
    "direction" : "forward",
    "docsExamined" : 1000019
  }
}
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie","item.manufactured" : 16}).pretty();
{
  "_id" : ObjectId("5f2ff576eb7de181ebe814f9"),
  "item" : {
    "name" : "Katie",
    "manufactured" : 16
  },
  "ratings" : [
    16,
    116
  ],
  "user_id" : 16,
  "boolean" : true,
  "added_at" : ISODate("2020-08-09T13:09:10.791Z"),
  "number" : 662
}
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie","item.manufactured" : 16}).count();
1

4、如何创建索引来匹配嵌套文档部分值

匹配单个字段区别:

1、db.survey.find({item:{name:"Katie"}})

2、db.survey.find({"item.name":"Katie"}})

第一个逻辑是匹配1个完整嵌套文档只包括name=“Katie“,只有1组key:value字典.

第二个逻辑是匹配item这个嵌套文档值name等于Katie,是否有其他key:value则不关心.

这个逻辑有类似数组:item:[3]与 item:3意义.

1、第一SQL查询没有结果且用到item:1这个索引

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie"}}).count();
0
xiaoxu:PRIMARY> db.survey.find({item:{name:"Katie"}}).explain("executionStats").executionStats;
{
  "executionSuccess" : true,
  "nReturned" : 0,
  "executionTimeMillis" : 0,
  "totalKeysExamined" : 0,
  "totalDocsExamined" : 0,
  "executionStages" : {
    "stage" : "FETCH",
    "nReturned" : 0,
    "executionTimeMillisEstimate" : 0,
    "works" : 1,
    "advanced" : 0,
    "needTime" : 0,
    "needYield" : 0,
    "saveState" : 0,
    "restoreState" : 0,
    "isEOF" : 1,
    "invalidates" : 0,
    "docsExamined" : 0,
    "alreadyHasObj" : 0,
    "inputStage" : {
      "stage" : "IXSCAN",
      "nReturned" : 0,
      "executionTimeMillisEstimate" : 0,
      "works" : 1,
      "advanced" : 0,
      "needTime" : 0,
      "needYield" : 0,
      "saveState" : 0,
      "restoreState" : 0,
      "isEOF" : 1,
      "invalidates" : 0,
      "keyPattern" : {
        "item" : 1
      },
      "indexName" : "item_1",
      "isMultiKey" : false,
      "multiKeyPaths" : {
        "item" : [ ]
      },
      "isUnique" : false,
      "isSparse" : false,
      "isPartial" : false,
      "indexVersion" : 2,
      "direction" : "forward",
      "indexBounds" : {
        "item" : [
          "[{ name: \"Katie\" }, { name: \"Katie\" }]"
        ]
      },
      "keysExamined" : 0,
      "seeks" : 1,
      "dupsTested" : 0,
      "dupsDropped" : 0,
      "seenInvalidated" : 0
    }
  }
}
xiaoxu:PRIMARY>

2、第2SQL查询返回8万多激励且没有用到item:1这个索引

备注:只有创建createIndex({"item.name":1})索引或者

createIndex({"item.name" : 1,"item.manufactured":1})索引.

createIndex({"item.name" : 1,"item.manufactured":1})这个是多键索引,

其他的不是.数组索引是多键索引,嵌套文档索引不是。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie"}).count();
83106
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie"}).explain("executionStats").executionStats;
{
  "executionSuccess" : true,
  "nReturned" : 83106,
  "executionTimeMillis" : 403,
  "totalKeysExamined" : 0,
  "totalDocsExamined" : 1000019,
  "executionStages" : {
    "stage" : "COLLSCAN",
    "filter" : {
      "item.name" : {
        "$eq" : "Katie"
      }
    },
    "nReturned" : 83106,
    "executionTimeMillisEstimate" : 300,
    "works" : 1000021,
    "advanced" : 83106,
    "needTime" : 916914,
    "needYield" : 0,
    "saveState" : 7812,
    "restoreState" : 7812,
    "isEOF" : 1,
    "invalidates" : 0,
    "direction" : "forward",
    "docsExamined" : 1000019
  }
}
xiaoxu:PRIMARY> db.survey.createIndex({"item.name":1})
{
  "createdCollectionAutomatically" : false,
  "numIndexesBefore" : 5,
  "numIndexesAfter" : 6,
  "ok" : 1
}
xiaoxu:PRIMARY> db.survey.find({"item.name":"Katie"}).explain("executionStats").executionStats;
{
  "executionSuccess" : true,
  "nReturned" : 83106,
  "executionTimeMillis" : 86,
  "totalKeysExamined" : 83106,
  "totalDocsExamined" : 83106,
  "executionStages" : {
    "stage" : "FETCH",
    "nReturned" : 83106,
    "executionTimeMillisEstimate" : 70,
    "works" : 83107,
    "advanced" : 83106,
    "needTime" : 0,
    "needYield" : 0,
    "saveState" : 649,
    "restoreState" : 649,
    "isEOF" : 1,
    "invalidates" : 0,
    "docsExamined" : 83106,
    "alreadyHasObj" : 0,
    "inputStage" : {
      "stage" : "IXSCAN",
      "nReturned" : 83106,
      "executionTimeMillisEstimate" : 30,
      "works" : 83107,
      "advanced" : 83106,
      "needTime" : 0,
      "needYield" : 0,
      "saveState" : 649,
      "restoreState" : 649,
      "isEOF" : 1,
      "invalidates" : 0,
      "keyPattern" : {
        "item.name" : 1
      },
      "indexName" : "item.name_1",
      "isMultiKey" : false,
      "multiKeyPaths" : {
        "item.name" : [ ]
      },
      "isUnique" : false,
      "isSparse" : false,
      "isPartial" : false,
      "indexVersion" : 2,
      "direction" : "forward",
      "indexBounds" : {
        "item.name" : [
          "[\"Katie\", \"Katie\"]"
        ]
      },
      "keysExamined" : 83106,
      "seeks" : 1,
      "dupsTested" : 0,
      "dupsDropped" : 0,
      "seenInvalidated" : 0
    }
  }
}
xiaoxu:PRIMARY>

【总结】

嵌套文档与数组对比:

  • 数组索引是多键索引,嵌套文档索引不是,除非拆分多个创建组合索引则是
  • 完整匹配整个数组与嵌套文档写法类似,数组支持元素顺序不一致匹配 嵌套文档不支持
  • 数组支持点索引顺序创建索引,例如item.0:1,嵌套文档也支持item.name

一个基于位置创建索引,一个基于名称

文章开头提到,项目中一个字段中包括多个类型或者状态,创建一个索引来实现,

貌似数组可能更满足需求,嵌套文档需要创建对每个嵌套字段创建索引,违背创建

一个索引初衷,也可能设计本身就不合理 。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 udapp 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
数据猿对话丨聚合数据郭劼:数据只有在流通过程中被充分应用,价值才能最大化
作数据流通的中转站,聚合数据以API形式为互联网和移动互联网(企业和个人)开发人员提供了最好、最便捷的服务。有了聚合数据,开发者再也不用担心对各种类型数据的采集和程序编写工作了。 上图为:聚合数据技术
数据猿
2018/04/19
8610
数据猿对话丨聚合数据郭劼:数据只有在流通过程中被充分应用,价值才能最大化
数据的六大经济特性
节选自国务院发展研究中心企业研究所《数字平台的发展与治理》(中国发展出版社,2023年),有删减修改。
小腾资讯君
2024/01/08
1980
数据的六大经济特性
中国已到数字化革命阶段-其他城市还在迷茫,苏州已成为大数据商业创新发源地城市
中国已到数字化革命阶段-苏州太牛!其他城市还在迷茫时候,苏州已成为大数据商业创新发源地城市。
孔雀
2019/08/27
7370
中国已到数字化革命阶段-其他城市还在迷茫,苏州已成为大数据商业创新发源地城市
消除数据孤岛,摆脱企业大数据困境
在2013年大数据全球技术峰会上电子科技大学教授周涛教授提出了大数据发展的三个阶段。
IT阅读排行榜
2018/08/13
1.2K0
为什么数据基础设施如此重要,这篇白皮书讲透了!
某家商业银行为准备国庆长假计划策划大型营销活动,以此来带动老用户消费和挖掘潜客。通常,业务部门通常会与电商、OTA、出行、O2O等平台,甚至保险公司、线下餐饮、影院、购物中心等进行权益合作,为了让营销效果最优,数据分析部门和技术部门需要与业务部门反复沟通需求,去对数据做采集、处理、清洗、打通与匹配,最后通过聚类和统计分析,将客户群进行划分,并给业务部门出相应的数据分析报告,但折腾一个月,业务部门最后发现报告内容可执行性并不强,营销效果差强人意。
大数据在线
2019/12/11
5390
坐拥海量数据的运营商大佬,如何走出商业变现之路?
10月26日,第一财经旗下DT财经发起的数据社群——数据侠联手复旦大学大数据研究院人文社科数据研究所,共同举办了以“大数据商业应用解析与未来展望”为主题的公开课。课上,数据侠联盟成员、中国电信大数据产品经理、2016年SODA大赛(上海开放数据创新应用大赛)冠军汪科科,以中国电信的海量数据为例,向复旦大学的同学们与数据侠社群的数据爱好者们介绍了大数据商业化的方法论。
DT数据侠
2018/12/06
1.3K0
坐拥海量数据的运营商大佬,如何走出商业变现之路?
腾讯隐私计算白皮书发布,区块链为重要组成
白皮书主要分为五个部分。第一部分阐述了隐私计算的发展背景、基本概念和主要作用。第二部分主要分析了隐私计算的技术体系,重点对联邦学习、可信计算、安全多方计算以及区块链和隐私计算融合发展进行了探讨。第三部分主要描述了隐私计算当前应用的重点行业和场景。第四部分重点探讨了在法律视角下隐私计算在数据安全合规方面的作用和痛点。第五部分重点从技术、应用、法律等视角对隐私计算的发展进行了展望。
bengbengsu
2022/04/26
1.1K0
腾讯隐私计算白皮书发布,区块链为重要组成
关于房价,房产大数据能告诉你真相吗?
如果买卖或者租过房,你一定会对市场上五花八门的房产交易App有了解。市面上还有另一类和房产买卖有关的App,它们本身也许不是交易平台,却可以提供基于大数据的购房辅助指导,房产领域里什么数据最有价值?如何才能科学地预测房价?9月21日,房产服务App“兔博士”首席战略科研项目负责人谢明,在数据侠实验室的线上活动中分享了兔博士的实践干货,本文是其演讲实录。
DT数据侠
2018/08/08
5850
关于房价,房产大数据能告诉你真相吗?
数据湖泊里游一游?智能工厂里逛一逛?
在中国智能制造2025的变革中,数据湖不会是数据仓库和BI平台的终结者,但数据湖一定是未来企业数据技术(DT)的核心纽带,成为引导中国制造2025变革的数字宠儿。 实现工业4.0或中国制造2025的前
钱塘数据
2018/02/28
9470
数据湖泊里游一游?智能工厂里逛一逛?
9个亿的5位数QQ号用户中出现了神秘人物 三分钟挖掘出QQ大数据
几天前,一个朋友来聊天,表示很羡慕我的6位QQ号,我说有啥好羡慕的,还有那么多5位号呢! 他感叹道:“一个5位号现在值好几万,早知道当初注册个百八十个的话,现在不就发财了… ”! 自我介绍下。传说中的“网络抓取铁手追命”,就是本人了。 主要擅长各种互联网数据抓取挖掘,通晓各种数据源采集规则,互联网江湖人士也,现和你分享一下如何一夜间挖价值9个亿的5位数QQ号用户! 9万条5位数QQ用户的详细数据 QQ号,昵称,空间名称,性别,年龄,生日,所在国家,省份,城市,感情状况,职业(其中QQ空间公开的一共有232
灯塔大数据
2018/04/10
1.5K0
9个亿的5位数QQ号用户中出现了神秘人物 三分钟挖掘出QQ大数据
数据价值如何在企业实战中落地(33PPT)
本文整理自时趣首席科学家王绪刚博士的演讲 回复“时趣”可下载完整版PPT 我今天跟大家分享的,是如何通过数据的技术来去发现数据背后的价值。这是我进入时趣这么多年以来,与著名的合作伙伴一起进行数据方面的
大数据文摘
2018/05/21
5350
每日互动“D-M-P”三步走, 打造数据中台-每日治数平台,助力行业数字化升级
在大数据、人工智能技术迅猛发展和企业数字化转型加速的双重驱动下,“数据中台”脱颖而出,成为行业焦点,驱动数据智能新时代的到来。如今,很多企业正在探索和建设数据中台,希望通过中台更好地服务前台业务的规模化创新。企业建设数据中台不仅需要丰富的数据源作为基础,还需要强大的数据治理和数据运用能力做依托。尤其是成熟的方法论和专业的数据中台建设方案,对于数据中台的落地至关重要。
个推
2021/05/24
3570
实时数仓架构的演进与对比
1991年,比尔·恩门(Bill Inmon)出版了他的第一本关于数据仓库的书《Building the Data Warehouse》,标志着数据仓库概念的确立。
大数据学习与分享
2023/02/26
1.2K0
实时数仓架构的演进与对比
【BDTC 2015】互联网大数据分论坛:滴滴、百度、京东等大数据实践
2015年12月10-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,以“数据安全、深度分析、行业应用”为主题的 2015中国大数据技术大会(Big Data Technology Conference 2015,BDTC 2015)在北京新云南皇冠假日酒店盛大开幕。 12日下午的互联网大数据分论坛,滴滴机器学习研究院研发总监刘威、百度主任架构师、机器翻译技术负责人何中军、京东商城大数据研发部负责人刘彦伟、中国人民大学
CSDN技术头条
2018/02/11
9050
【BDTC 2015】互联网大数据分论坛:滴滴、百度、京东等大数据实践
DT时代如何挖掘商业数据的公共价值
目前,各领域互联网平台把很多老百姓生活中吃穿住行的数据都存储下来,但如何挖掘商业数据的公共价值?又如何保证数据安全与隐私?是大数据时代不可回避的重要问题。 4月13日,“2016新媒体创新峰会·DT财
灯塔大数据
2018/04/09
7760
漫谈“数据湖”
数据湖这一概念,最早是在2011年由CITO Research网站的CTO和作家Dan Woods首次提出。其比喻是:如果我们把数据比作大自然的水,那么各个江川河流的水未经加工,源源不断地汇聚到数据湖中。业界便对数据湖一直有着广泛而不同的理解和定义。“数据湖是一个集中化存储海量的、多个来源,多种类型数据,并可以对数据进行快速加工,分析的平台,本质上是一套先进的企业数据架构。” 
宜信技术学院
2019/07/04
1.7K0
聚焦技术发展及开源生态 腾讯全面揭秘大数据平台演进之路
11月7日,腾讯Techo开发者大会的“腾讯大数据”分论坛上,围绕大数据的新技术进展及开源生态,腾讯大数据团队进行了详细解读,包括由集群规模化与异构化挑战所引发的漂移计算等新技术创新,越来越普遍的实时计算需求以及新架构的实践,能够无限弹性扩展的、面向未来的数据湖体系结构,大数据技术发展的新趋势与新挑战等。
Techo
2019/11/13
1.1K0
交通大数据为啥总是治不了堵?
光有大数据,却没有足够的数据分析能力和人才储备,交通大数据要想真正应用到实处,只能靠“大海捞针”?‍‍‍‍
DT数据侠
2018/08/08
6280
交通大数据为啥总是治不了堵?
数据中台知识体系
数据中台是一套可持续“让企业的数据用起来”的机制,是一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论支撑,构建的一套持续不断把数据变成资产并服务于业务的机制
大数据学习与分享
2024/05/18
4670
数据中台知识体系
袋鼠云思枢:数栈DTinsight,创新升级,全新出发,驶入数智转型新赛道
在 7 月 28 日的袋鼠云 2022 产品发布会上,基于对现在与未来的畅想,袋鼠云产研负责人思枢正式发布了全新的四大产品体系。
袋鼠云数栈
2022/08/24
5930
推荐阅读
相关推荐
数据猿对话丨聚合数据郭劼:数据只有在流通过程中被充分应用,价值才能最大化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档