zoukankan      html  css  js  c++  java
  • 2021-01-13:很多列的数据,任意一列组合查询,mysql能做到,但是上亿的数据量做不到了,查的时候非常慢。我们需要一个引擎来支持它。这个引擎你有了解过吗?

    福哥答案2021-01-13:
    [答案来自此链接:](https://www.zhihu.com/question/439121902)
    数据库存储设计一般分为行存储还有列存储。行存储一般每一行的数据通过主键聚簇索引存储在一起,列存储一般每一列的数据存储在一起。问题中说的任意一列组合查询,针对上亿的数据量,最好采用基于列存储的 OLAP 场景业务的解决方案。但是 MySQL 原生是不支持列存储引擎的,因为 MySQL 的各种接口抽象以及优化器基本都是基于行存储设计的,用列存储思路实现存储引擎会很别扭,一般不会这么做。
    大部分业务列存储基本会从 Hbase 或者 Hive 这样的基于 Hadoop 的存储中选择。Hbase 主要面对实时数据查询, Hive 主要面向离线 SQL 分析。
    导入数据一般可以通过原生工具拉取 binlog 同步,或者用 sqoop 这样的 ETL 工具进行导入。
    还有像 TIDB 这样的本身支持 OLTP + OLAP 业务的存储数据库,省去了用户需要用不同存储面对不同场景的麻烦。TiDB 是一款分布式 HTAP 数据库,它目前有两种存储节点,分别是 TiKV 和 TiFlash。TiKV 采用了行式存储,更适合 TP 类型的业务;而 TiFlash 采用列式存储,擅长 AP 类型的业务。

    你这个是即席查询,也就是列随意组合。建议看列存MPP数据库,比如GBase 8a, GP等。

    大数据量专注搜索可以考虑Elastic Search(ES)。
    ***
    [2021-01-13:很多列的数据,任意一列组合查询,mysql能做到,但是上亿的数...如何回答呢?](https://www.zhihu.com/question/439121902)
    [2021-01-13:很多列的数据,任意一列组合查询,mysql能做到,但是上亿的数据量做不到了,查的时候非常慢。我们需要一个引擎来支持它。这个引擎你有了解过吗?](https://bbs.csdn.net/topics/398844841)
    [评论](https://user.qzone.qq.com/3182319461/blog/1610492235)

  • 相关阅读:
    【独立开发人员er Cocos2d-x实战 001】csb文件导出和载入
    Best Time to Buy and Sell Stock I && II && III
    cocos2d-x项目101次相遇-安装和环境搭建 -xcode
    使用 C# 开发智能手机软件:推箱子(十二)
    javascript实现掉落弹出层------Day29
    Android中onTouch与onClick事件的关系
    CSDN编程挑战——《交替字符串》
    【NPR】非真实感渲染实验室
    CSS自己主动换行、强制不换行、强制断行、超出显示省略号
    在Ubuntu 14.04安装和使用Docker
  • 原文地址:https://www.cnblogs.com/waitmoon/p/14274799.html
Copyright © 2011-2022 走看看