通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

多数据表,大数据量,更新频率较高,以搜索为主的业务,推荐什么搜索服务/系统架构

每个月1000万数据量的增量并不大,主要是每个表里面的冗余字段太多,导致文件比较大,个人觉得针对业务分离列表数据调用和搜索数据调用,另外搜索使用sphinx和lucene做实时增量索引+定时合并不影响业务和性能。

一、多数据表,大数据量,更新频率较高,以搜索为主的业务,推荐什么搜索服务/系统架构

多数据表,大数据量,更新频率较高,以搜索为主的业务,每个月1000万数据量的增量并不大,主要是每个表里面的冗余字段太多,导致文件比较大,个人觉得针对业务分离列表数据调用和搜索数据调用,另外搜索使用sphinx和lucene做实时增量索引+定时合并不影响业务和性能。

这个是分布式时序数据库的典型场景。提供一个使用DolphinDB解决类似场景的案例。

(1) 客户几百个业务场景,每天产生200多亿条时序日志记录(每条记录10个字段左右,维度+指标),所有数据写入采用双副本,并提供强一致性保证。每天产生数据2个T,双副本大概4个T,压缩之后1个T。数据保留15天左右。

(2)写入的同时有并发的查询和计算。大概分三种。

根据业务场景和时间范围,读取原始数据,每次读取最近一个小时左右的数据,约几十万条数据

按设备或按业务场景等维度进行分类统计过去24小时内每分钟的统计量(均值)

按设备或按业务场景等维度进行分类统计过去24小时内各种指标的95百分位,供实时监控使用。

这三种query涉及的数据量都比较大,每分钟大概2000~3000个这样的query。单个查询和计算的延迟在几十毫秒到2秒之间。

(3)部署了6台(36核,256G内存的服务器)物理机的DolphinDB集群解决上面的场景。实际上内存和cpu的使用率都不是很高,可以使用更少的资源来完成。

你的场景数据量少很多,但是要保留更长的时间。一台16~24核,128~256G内存,6~12个hdd硬盘的物理机(售价6~10万),安装DolphinDB时序数据库就可以搞定。你的业务场景非常简单,数据在DolphinDB中按照日期和设备两个维度分区就可以了。日期采用值分区,每天一个,设备采用范围或哈希分区,分成100个。这样每个分区的数据量大概在100万条左右,非常好的平衡了查询延时和吞吐量。

延伸阅读:

二、SQL是什么

Structured Query Language

‘SQL’是结构化查询语言,是一种用来操作 RDBMS 的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库

  • SQL语句主要分为:
    DQL:数据查询语言,用于对数据进行查询,如select**
    DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete**
    TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
    DCL:数据控制语言,进行授权与权限回收,如grant、revoke
    DDL:数据定义语言,进行数据库、表的管理等,如create、drop
    CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
  • 对于web程序员来讲,重点是数据的crud(增删改查),必须熟练编写DQL、DML,能够编写DDL完成数据库、表的操作,其它语言如TPL、DCL、CCL了解即可
  • SQL 是一门特殊的语言,专门用来操作关系数据库
  • 不区分大小写
相关文章