数据存储
文章平均质量分 90
Dreammmming Time
人啊,毕业时意气风发,进入社会后就逐渐钝化了,因此希望通过知识分享和新知识学习,在大数据领域彼此勉励,共同成长,拒绝被环境束缚。
展开
-
Iceberg:ZOrder的实现及执行流程分析
使用Z-Order索引,可以按任意维度对数据进行排序,以获得更加高效且均衡地范围查询。它即可以作为一级索引,直接影响底层数据组织形式,甚至可以取代二索引(更加节省内存,吞吐量也理更高)。相比于传统的按的顺序的自然排序策略,一旦过滤条件与排序键的前缀匹配模型冲突,数据查找空间就会膨胀,进而影响查询性能,而ZOrder由于会考虑每个维度的值,将数据按排列,因此即使查询时不满足最优条件匹配模型,也不会导致查询空间的过度膨胀。原创 2023-12-23 17:41:17 · 1198 阅读 · 0 评论 -
Iceberg:浅析基于Snapshot的事务过程
Iceberg基于实现了乐观无锁地数据并发读写能力(MVCC,Multi Versions Concurrency Controll),默认提供了快照级别的事务隔离,因此可以至少避免脏读的问题。,是对于并发事务的INSERT/DELETE操作,会导致连续读取相同区间的数据记录时,数据条数不同。,是对于并发事务的UPDATE操作,会导致连续读取相同数据记录的数据发生了变化。原创 2023-12-24 15:37:03 · 1207 阅读 · 0 评论 -
HTAP(Hybrid Transactional/Analytical Processing)系统之统一存储的实时之道
本文介绍了一个支持实现写入的、基于LSM的、支持HTAP场景的存储系统,LASER。相关论文中提出了ColumnGroup存储规范,能在兼并行存、列存的优点,以相对最好的性能同时支持OLTP和OLAP事务,为打造流批一体计算&存储系统提供了借鉴,非学值得我们细细口味。原创 2024-01-09 19:03:56 · 1435 阅读 · 0 评论 -
Milvus实战:构建Q&A系统及推荐系统
不论是问答还是推荐,它们对上层暴露的接口仅仅是query(...),模式是相同的,因此可以共用一个基本的Schema,固定基本的字段即可。// 被embedding的字段.build();// embedding vector字段.build();原创 2023-12-19 14:39:08 · 426 阅读 · 0 评论 -
Iceberg:基于Spark3.x的MERGE INTO语法实现数据的增量写入
/ 新旧数据记录,Merge阶段,会为每一个结果行添加一个新的列,其列名就这个常量。原创 2023-02-18 14:42:19 · 1736 阅读 · 0 评论 -
HyperLogLog在Presto和ClickHouse中的兼容及性能差异
前言当前HyperLogLog是一种主流的算法,用于估算海量同类型数据的不同值,因此几乎所有的计算/查询引擎都有了想关的实现,当然虽然可能其它的优化算法,但算法主体相同,然而不同引擎实现的存储过程大同小异,如果想要在不同引擎之前共享中间结果,就需要深入了解不同引擎的存储实现。Presto是Facebook开源的,完全基于内存的并⾏计算,分布式SQL交互式查询引擎是一种Massively parallel processing (MPP)架构,多个节点管道式执⾏⽀持任意数据源(通过扩展式Connector原创 2021-02-23 18:28:56 · 1185 阅读 · 0 评论 -
基于Atomix(Copycat 2.x)实现基于Raft协议的HA调度系统
Copycat,<div id="page_end_html"> <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script></div>原创 2020-08-27 18:52:41 · 1220 阅读 · 0 评论 -
Parquet数据存储格式
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储列式存储和行式存储相比有哪些优势呢?可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编转载 2015-12-10 14:01:10 · 1241 阅读 · 0 评论