摘要:
常见消息中间件对比 特性 ActiveMQ RabbitMQ Kafka RocketMQ 所属公司 Apache Mozilla public license Apache Apache/ali 成熟度 成熟 成熟 成熟 比较成熟 生产-消费者模式 支持 支持 支持 支持 发布-订阅 支持 支持 阅读全文
摘要:
Google Tencent cloud Facebook Pineapple Fund Microsoft Aws Comcast Cloudera Verizon media Leaseweb ARM Bloomberg HUAWEI red hat,Inc. IBM Inspur JetBra 阅读全文
摘要:
通常Apache kafka应用在两类程序: (1)建立实时的数据管道,以可靠地在系统或应用程序之间获取数据 (2)构建实时流应用程序,以转换或响应数据流 如图,可以看到: (1)producers:可以有很多的应用程序,将消息数据放到kafka的集群中。 (2)Consumers:可以有很多的应用 阅读全文
摘要:
Kafka是由Apache软件基金会开发的一个开源流平台,由Scala和Java编写。Kafka的Apache官网是这样介绍Kafka的: Apache Kafka是一个分布式流平台,一个分布式的流平台应该包括的能力: 发布和订阅流数据流,类似消息队列或企业消息传递系统 以容错的持久化方式存储数据流 阅读全文
摘要:
页级锁是MySQL锁定粒度介于行级锁和表级锁中间的一种锁。 表级锁速度快,但冲突多;行级锁冲突少,但速度慢。 所以页级锁是折中的,一次锁定相邻的一组记录。BDB支持页级锁。 阅读全文
摘要:
时间戳就是数据库表中单独加一列时间戳,时间戳就是不加锁,通过时间戳来控制并发出现的问题。 比如“timestamp”每次读出来的时候,把该字段也读出来,当写回去的时候,把该字段加1,提交之前,跟数据库的该字段比较一次,如果比数据库的值大的话,就允许保存,否则不允许保存,这种处理方法虽然不使用数据库系 阅读全文
摘要:
(1)什么是乐观锁 乐观锁认为一个用户读数据的时候,别人不会去写自己所读的数据。 (2)什么是悲观锁 悲观锁和乐观锁相反,觉得自己读数据库的时候,别人可能刚好在写自己刚读的数据。在对数据时候,为了不让别人修改自己读取的数据,就会先对自己读取的数据加锁,只有自己把数据读完了,才允许别人修改那部分数据。 阅读全文
摘要:
不一定,这涉及到查询语句所要求的字段是否全部命中了索引,如果全部命中了索引,那么不需要进行回表查询。 例如,在学生表的年龄上建立了索引 CREATE INDEX sc_age ON sc(age) 查看sc的表结构 desc sc 当进行explain select age from sc wher 阅读全文
摘要:
Hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据。B+树底层实现是多路平衡查找树,对于每一次的查询都是从根节点出发,查找到叶子节点方可获得所查键值,然后根据查询判断是否需要回表查询数据。 Hash索引和B+树索引区别如下: 一般情况 阅读全文
摘要:
(1)数据结构角度 Btree Hash Fulltext R-Tree (2)物理存储角度 聚集索引 clustered index 非聚集索引 non-clustered index (3)从逻辑角度 普通索引:仅快速查询 唯一索引:加速查询+列值唯一(可以有null) 主键索引:加速查询+列值 阅读全文
摘要:
(1)搜索的索引列,不一定是所要选择的列。最适合索引的列是出现在where子句中的列,或链接子句中指定的列,而不是出现在select关键字后的选择列表中的列。 (2)使用唯一索引。考虑某列中值的分布。对于唯一值的列,索引的效果最好,而具有多个重复值的列,其索引效果最差。 (3)短索引。如果对串列进行 阅读全文