数据库
文章平均质量分 54
昵称不能为——
这个作者很懒,什么都没留下…
展开
-
HBase依赖服务——HBase原理与实践读书笔记(3)
ZooKeeper:被视为分布式系统中的基础设施.ZooKeeper集群是一个服务高可用的集群,通常由奇数个节点组成,集群确保不会因为小于一半的节点宕机而受影响。ZooKeeper集群实现了数据分区和数据复制(副本),并采用ZAB(ZooKeeper Atomic Broadcast)协议作为数据一致性的算法,ZAB由Paxos改进而来。ZooKeeper服务:提供极低延迟、超高可用的内存KV数据库服务。提供中心化的服务故障发现服务。提供分布式场景下的锁、Counter、Queue等协调服务。原创 2022-04-04 20:04:07 · 1309 阅读 · 0 评论 -
HBase中的基础数据结构与算法——HBase原理与实践读书笔记(2)
引文:列簇本质上是一颗LSM树。LSM树分为内存部分和磁盘部分。内存部分是一个维护有序数据集合的数据结构,可选择平衡二叉树、红黑树、跳跃表等。HBase选择了跳跃表,理由是并发性更好。磁盘部分由独立的文件组成,文件由独立的数据块组成,为了减少IO耗时(磁盘寻道及数据读取),HBase使用了布隆过滤器来判断数据是否存储在数据块中。跳跃表(SkipList):高效实现插入、删除、查找的内存数据结构,复杂度为O(logN)。与红黑树及其他的二分查找树相比,跳跃表的优势在于实现简单,并发场景下加锁粒度原创 2022-04-03 14:57:11 · 1305 阅读 · 0 评论 -
HBase简介——HBase原理与实践读书笔记(1)
HBase:是一款分布式KV(KeyValue,键值)数据库系统,目前已被很多大数据系统用于底层的数据存储服务,如Kylin、OpenTSDB等。HBase的前世:谷歌的三篇论文——GFS、MapReduce、BigTable。HBase数据模型:table:表,一个表包含多行数据。row:行,一行数据包含一个唯一的标识rowkey、多个column以及对应的值。在一张表中,按rowkey的字典序从小到大进行排序。column:列,由列簇(column family)和列名(qualifier)两原创 2022-04-03 13:32:57 · 1611 阅读 · 0 评论 -
事务——数据密集型应用系统设计读书笔记(3)
含义:事务将应用程序的多个读、写操作捆绑在一起成为一个逻辑操作单元。即事务中的所有读写是一个执行的整体,整个事务要么成功(提交)、要么失败(中止或回滚)。作用:简化应用层的编程模型,将某些内部潜在的错误和复杂的并发性问题交给数据库来处理(安全性保证)。历史:支持事务处理的数据库大多沿用了IBM于1975年推出的第一个SQL数据库Symtem R的总体设计。目前一些NoSQL数据库采用复制和分区的手段来改进传统的关系模型,由此弱化或取消了事务的支持。弱化或放弃事务的原因:为了更高的性能或更高的可用性以及原创 2022-03-23 20:12:30 · 1255 阅读 · 0 评论 -
数据分区——数据密集型应用系统设计读书笔记(2)
与分区相关的概念分区的其它名字:shard,region,tablet,vnode,vBucket等。定义:每一条数据(记录、每行或每个文档)只属于某个特定分区。分区可视为一个小型但完整的数据库。目的:提高可拓展性,实现负载均衡。历史:最初在20世纪80年代由Teradata和Tandem NonStop SQL等率先提出。目前被一些NoSQL数据库和基于Hadoop的数据仓库所重视(这就是说,分区适用于OLTP和OLAP)。与数据复制的区别:数据复制指一个分区存在多个副本。这意味着一条记录属于唯原创 2022-03-23 18:27:17 · 831 阅读 · 0 评论 -
事务处理与分析处理间的差异——数据密集型应用系统设计读书笔记(1)
在线事务处理(OLTP):在线:应用程序是交互式的。事务处理:相比于只能周期性运行(如每天一次)的批处理作业,允许客户端进行低延迟的读取与写入。读取:使用索引中的某些键查找少量数据。写入:根据用户的输入插入或更新记录。在线分析处理(OLAP):在线:目前尚不明确定义,可能指查询不仅仅针对预定义的报告(事先编写好脚本,运行一遍得出统计结果就完事了),而且还包括分析人员以交互式方式使用OLAP进行查询。流程:扫描大量数据,对每个记录只读取少数几列,计算汇总统计信息。特点:不返回原始数据,只返回分原创 2022-03-23 16:19:08 · 1956 阅读 · 0 评论