一切源于一次失眠

2019年10月份,当时一直在考虑公司的软件产品中的实时库部分目前存在的问题。目前公司的产品能够达到10万点秒级记录的水品,瓶颈在历史记录的存储使用的是第三方关系型数据库,在大量历史数据需要存储时,记录存储跟不上;即使后来优化也就能达到20万的水平,离主流单机100万的水平差距较大,距离业界翘楚PI据说达到了千万级别更是一个天上,一个地下。能否设计一种合理的文件存储结构,能达到快速存储以及快速检索就成了要考虑的内容。快速存储的问题不大,目前固态硬盘写入速度那是刚刚的,即使机械硬盘写入速度也能够胜任百万点历史记录存储。在长时间大量数据写入后,快速检索是问题的关键。检索的时间不会随着数据量的增大有明显的衰减,是文件结构设计是否合理的关键。 一次失眠,在辗转反侧之际,考虑下快速检索的问题。突然想到,如果我们想要在全中国14亿怎么找到一个人和在北京2000人口中找到一个人所需的步骤几乎差不多,这里的关键是,每个人都一个按照行政进行编码的地址。如果对一个点数据的所有历史数据进行编码,检索时按照这个编码进行检索,可以非常快的检索到数据。在自动化系统中,大部分数据都是时序型数据(即数据随着时间变化着),结合操作系统存储数据是以文件为单位的,同时在文件中不同的位置使用指针来表示;所以时间,文件,指针就是我们的编码参考依据。

一切源于执着

把整体构想和公司反馈后,没有被采用,原因是和目前的方案相比,变动较大。但是内心里不想放弃,这偶尔的灵感,怕时间长了,一切都忘了。所以下定决心,把想法变成现实,也就是现在的Mars 实时物联数据库 。 从构想到发布第一个版本,我打算用时1年的时间,同时将其整体开源。

Mars 数据库的由来相关推荐

  1. 数据库基础(数据库的由来 + 第一、二、三范式)

    一.数据库的产生原理 1.1 无纸化办公 将数据存在文件中. 1.2 李氏查询-SQL 所有计算机的问题都可以通过增加一个中间层来解决. 中间层上要有逻辑的数据结构. 学生信息:[学号,姓名,性别,入 ...

  2. ODX诊断数据库的由来

    文章目录 前言 一.ODX具体是什么? 二.跨车型平台ECU诊断开发 总结 前言 ODX的全称是Open diagnostic data exchange , 首先由ASAM该数据格式标准,用于标准架 ...

  3. mysql数据库建仓范式_存mysql个数

    MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...

  4. Redis 为什么默认 16 个数据库?

    来源:SapphireCoder https://www.toutiao.com/a6752317753866060299 导读:在实际项目中Redis常被应用于做缓存,分布式锁.消息队列等.但是在搭 ...

  5. 看完后,我才明白 Redis 为什么默认 16 个数据库?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 来源:t ...

  6. 93.7%的程序员!竟然都不知道Redis为什么默认16个数据库?

    背景 在实际项目中redis常被应用于做缓存,分布式锁/消息队列等.但是在搭建配置好redis服务器后很多朋友应该会发现和有这样的疑问,为什么redis默认建立了16个数据库, 16个数据库的由来 r ...

  7. spring数据字典_Redis为什么默认16个数据库?

    点击上方"Java之间",选择"置顶或者星标" 你关注的就是我关心的! 来源:www.toutiao.com/a6752317753866060299 上一篇: ...

  8. 常用数据库排名及分类介绍

    DB-Engines:2019年6月全球数据库排行 DB-Engines 数据库流行度排行榜 6 月更新已发布,排名前二十如下:总体排名和上个月相比基本一致,其中排名前三的 Oracle.MySQL ...

  9. 最新常用数据库排名及分类介绍

    更多内容关注微信公众号:fullstack888 DB-Engines:2021年9月Top 20的排名 DB-Engines 数据库流行度排行榜 9 月更新已发布,排名前二十如下:总体排名和上个月相 ...

最新文章

  1. SQL Server 中各个系统表的作用
  2. linux快捷键 赋值,2_Shell语言———bash的快捷键、变量声明、引用变量及变量替换...
  3. 使用Skywalking实现全链路监
  4. VTK:圆锥用法实战
  5. Android官方开发文档Training系列课程中文版:管理音频播放之控制APP的音量与播放
  6. 核函数的充要条件-Mercer定理的证明
  7. php core模块,module.php
  8. 手动配置 iis php环境,iis上手动配置php
  9. 【转】PHP的执行原理/执行流程
  10. java实验报告实验思路_20145307第一周JAVA实验报告
  11. GBase 8s 常用管理员命令汇总-onstat(下)
  12. Android之仿小米便签程序
  13. 计算几何(一) by 邓俊辉老师
  14. 中国流动人口动态监测调查数据(CMDS)2010-2018年
  15. 6-8 Percolate Up and Down (20 分)【堆结点的插入与删除】
  16. Python3 基础语法知识1
  17. 正交采样 matlab,MATLAB数值积分(正交)
  18. 分享本电子书Sql Server 20008 internals
  19. Neat算法讲解(遗传拓扑神经网络)
  20. PS/聚苯乙烯微球的制备方法

热门文章

  1. 川大2019计算机硕土论文盲审,关于对2019年上半年申请答辩研究生学位论文进行抽查盲审的通知...
  2. 飞书搜索初步分析-以移动端为例
  3. 连续小波变换应用于密集模态参数识别
  4. 云梦四时歌服务器维护,云梦四时歌 - 服务退换中心 - 腾讯游戏
  5. 【DotA2玩家心得】激活显示FPS/PING 开启国服 开启右键反补
  6. 个人手写字库(钢笔字库,钢笔字的制作,毛笔字库)的制作流程?
  7. 心理应激微反应刑事侦查应用,社交行为、情绪行为、生物行为,说谎掩饰,单向表达不分析,情绪反应管理机制,惊讶,厌恶,愤怒,恐惧,悲伤,愉悦
  8. 将Excel中一个表格的数据关联到另一个表格
  9. 证件照排版功能代码-python版本
  10. Android Studio 使用技巧:修改默认build.gradle