大数据的通识

ooowl
  • 大数据🐘
  • 大数据🐘
About 4 min

大数据的通识

OLAP和OLTP

数据处理大致可以分成两大类:

  • 联机事务处理OLTP(On-line transaction processing),OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLTP型数据库的典型代表是关系型数据库(mysql)
  • 联机分析处理OLAP(On-Line Analytical Processing),OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP型数据库的典型代表是分布式文件系统(hive),它的数据存储在hdfs集群的文件里

IOPS(Input/Output Operations Per Second)一个用于电脑存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为每秒的读写次数。 和其他性能测试一様,存储设备制造商提出的IOPS不保证就是实际应用下的性能。[1]
所以OLAP和OLTP之间的关系可以认为OLAP是依赖于OLTP的,因为OLAP分析的数据都是由OLTP所产生的,也可以看作OLAP是OLTP的一种延展
ODBCOpen Database Connectivity,开放数据库互连)提供了一种标准的APIopen in new window应用程序编程接口open in new window)方法来访问数据库管理系统open in new window(DBMS)。这些API利用SQLopen in new window来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的设计者们努力使它具有最大的独立性和开放性。

特点/系统OLTP System Online Transaction ProcessingOLAP System Online Analytical Processing
业务目的处理业务,如订单、合同等业务支持决策
面向对象业务处理人员分析决策人员
主要工作负载增、删、改查询
主要衡量指标事务吞吐量查询响应速度(QPS)
数据库设计3NF 或 BCNF星型/雪花模型

分布式DB

分布式数据库集中式数据库
由位于不同站点的多个数据文件组成由单个中央数据库文件组成
允许多个用户访问和操作数据多个用户同时访问同一文件时发生瓶颈问题
从离用户最近的位置快速传送文件文件传递给用户可能需要更长时间
如果其中一个站点发生故障,数据可以恢复单站点意味着系统发生故障时停机
来自分散数据库的多个文件必须同步在单一的中央系统中更简单地更新和管理数据

核心:数据分片+数据同步 数据分片:

  • 突破单机硬件限制数据分散到多个节点
  • 水平分片,按照行数分割分到不同的节点
  • 垂直分片,按照列分到不同的节点,一个模式被分到小的模式 数据同步:
  • 用起来和单机DB无异
  • 保持数据的一致性

共享存储架构:商业化的 ORACLE RAC做到了数据的分片和同步,每层离散化使用ASM镜像存储技术,让client在使用上没有明显的区别,ASM在每层之间提供了完整的磁盘功能,对应用透明平衡拓展性与性能 无共享存储架构:Hadoop,真正的无共享磁盘,面向商业分析场景,OLAP;MPP架构的数据库,通过网络让多个节点互联 去IOE运动将OLTP从关系型数据库中分离出来,Spanner,NuoDB,TiDB,Oceanbase HATP(融合交易分析处理)数据库,一般存在于云上多

一些资源

DB-Engines 数据库排名网站open in new window
Fetching Title#604ropen in new window

一些无用的话

Julia社区出了很多数据分析的包,你可以去看看。rust本身不是用做数据分析的,所以包比较少。但是像polars这种东西已经完全胜过pandas,你得自己去找找文档看看,我没法细说。Rust最好的地方就在于:pandas很多功能是可以用polars代替的,且polars是自动多线程,处理大数据集远远快于pandas。如果你有个跨课题/项目的数据分析步骤反复用到,可以用polars的API写成rust源码,再用cargo build成二进制可执行文件,用的时候在python脚本里subprocess.Popen就行,特别舒服 正则的与或非

凡是能说的,都能够说清楚 凡是无法言说的,应当保持沉默


  1. IOPS - 维基百科,自由的百科全书open in new window ↩︎

Loading...