中国统计网|和开发battle再也不虚了!数据产品经理都在看的「数据库」知识( 四 )

  • Metric: 度量 , 相当于关系型数据库中的table
  • Data point: 数据点 , 相当于关系型数据库中的row
  • Timestamp:时间戳 , 代表数据点产生的时间
  • Field:度量下的不同字段 。 比如位置这个度量具有经度和纬度两个field 。 一般情况下存放的是会随着时间戳的变化而变化的数据
  • Tag:标签 , 或者附加信息 。 一般存放的是并不随着时间戳变化的属性信息 。 timestamp加上所有的tags可以认为是table的主键
  • 中国统计网|和开发battle再也不虚了!数据产品经理都在看的「数据库」知识
    本文插图
    有的小伙伴可能会说 , 直接在一般的数据库中 , 加入一个代表时间的列 , 不就可以完成吗 。 在数据比较少 , 数据库操作不频繁的时候 , 这种方法还是可以的 。随着数据存储量的增多 , 如果想要达到跟时序数据库一样的效果 , 那就会频繁的操作数据库 , 这会造成极大的开销 , 从而极大的降低读写速度 。总的来说 , 时序数据库具有大规模数据支持 , 多精度数据存储 , 多标签数据查询等特点 。2. 图数据库非关系型数据库NoSQL大致可以分为四类:
    • 键值(key-value)数据库
    • 图数据库
    • 列存储数据库
    • 文档型数据库
    图数据库就是NoSQL其中的一种 , 它以图这种数据结构存储和查询数据 。图由两个主要元素组成:节点和关系 。节点代表一个实体(时间 , 地点 , 人或其他数据) , 关系则代表两个节点之间的关联方式 。中国统计网|和开发battle再也不虚了!数据产品经理都在看的「数据库」知识
    本文插图
    相比于NoSQL中的其他类型数据库而言 , 图数据库具有更加丰富的模型表现能力和更加高效的索引 。中国统计网|和开发battle再也不虚了!数据产品经理都在看的「数据库」知识
    本文插图
    在实际应用中 , 业务逻辑往往十分复杂 , 如果用关系型数据库来表示各个实体之间的潜在关系 , 则需要建立十分多的关联表 。 数据库需要通过关联表间接地维护实体间的关系 , 导致数据库的执行效能低下 , 同时也会引起关联表的数量急剧上升 。例如:在一个订单系统中 , 要清楚表现出用户、订单、商品之间的逻辑关系 , 需要建立四张关联表 , 这显得十分复杂 , 开发效率也很低 。中国统计网|和开发battle再也不虚了!数据产品经理都在看的「数据库」知识
    本文插图
    而在图数据库中 , 我们只需要建立四个节点 , 并用关系来表示节点之间的逻辑 , 最后用任意两个节点之间的关系去索引 , 即可提升效率 。 随着业务逻辑性愈发的复杂 , 数据量的增多 , 关联表数量会急剧上升 , 这时图数据库的优势愈发明显 。3.小结随着大数据 , AI智能的发展 , 为解决不同业务需求 , 越来越多的创新数据库随之出现 , 时序数据库和图数据库就是其中之一 。 时序数据库解决了时间序列数据存储 , 索引的问题;图数据库则解决了复杂逻辑下 , 各个实体之间相互表征 , 索引的问题 。5
    数据库攻击及防护
    对于每个应用而言 , 数据库为其提供了前后台数据交互的作用 。 对于企业而言 , 数据库存储了海量的用户数据 , 一旦数据库被攻击或被破坏 , 将会导致用户信息泄露 , 进而导致一系列无法弥补的损失 。 因而 , 数据库的保护工作极其重要 , 特别是一些涉及金融 , 政府层面的数据 。在云计算领域中 , 数据库还被作为一种资源进行出售 。 例如:亚马逊的AWS数据库、腾讯云数据库、阿里云数据库、百度云数据库等等 。 通过租用有实力公司的云数据库 , 不仅能免除小企业自身架设机房 , 采购物理硬件 , 招聘专业运维人员的成本 , 还能享受高性能云数据库服务以及高质量的防护措施 。常见的数据库攻击方式及其防护措施如下:1. 对弱口令或默认用户名/口令的破解在早期的数据库中 , 有些数据库在安装时会有一个默认的口令 , 有些管理人员偷懒 , 干脆就延用了默认口令 , 那么黑客就可能从这个口令出发去获取攻击数据库 。措施:采用安全程度高的口令 , 避免使用默认口令 。2. SQL注入SQL注入指通过任意SQL代码插入数据库查询 , 使攻击者能够绕过应用程序安全措施 , 完全控制Web应用程序后面的数据库服务器 , 对数据进行CRUD操作 。措施:尽量避免直接将用户的输入放到SQL语句中 , 使用准备好的语句和参数化查询 , 并且定期测试与数据库交互的Web应用程序 , 查看后台日志信息 。3. 特权提升数据库会被许多人共同使用 , 有测试人员、开发人员、产品经理等等 , 每个人员分配的权限是不一样的 。最高级的root权限一般只开放给高级别的Leader 。 如果在权限配置中 , 一个用户被误授予超过其实际需要的访问权限 。 那么攻击者只需要得到少许特权用户的口令 , 就可以毫无阻碍的进入数据库系统 。措施:定期审查每个用户的权限 , 通过后台日志分析及时更改误授人员的权限 。6


    推荐阅读