mysql 原理

Posted by 夏泽民

基础架构

  1. connectors 与其他编程语言中的sql 语句进行交互,如php、java等。
  2. Management Serveices & Utilities 系统管理和控制工具
  3. Connection Pool (连接池) 管理缓冲用户连接,线程处理等需要缓存的需求
  4. SQL Interface (SQL接口) 接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface
  5. Parser (解析器) SQL命令传递到解析器的时候会被解析器验证和解析。 主要功能: a . 将SQL语句分解成数据结构,并将这个结构传递到后续步骤,后面SQL语句的传递和处理就是基于这个结构的 b. 如果在分解构成中遇到错误,那么就说明这个sql语句是不合理的,语句将不会继续执行下去
  6. Optimizer (查询优化器) SQL语句在查询之前会使用查询优化器对查询进行优化(产生多种执行计划,最终数据库会选择最优化的方案去执行,尽快返会结果) 他使用的是“选取-投影-联接”策略进行查询。 用一个例子就可以理解: select uid,name from user where gender = 1; 这个select 查询先根据where 语句进行选取,而不是先将表全部查询出来以后再进行gender过滤 这个select查询先根据uid和name进行属性投影,而不是将属性全部取出以后再进行过滤 将这两个查询条件联接起来生成最终查询结果.
  7. Cache和Buffer (查询缓存) 如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。 这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等


spark_memory

Posted by 夏泽民

在 spark-env.sh 中添加:



redis 持久化

Posted by 夏泽民

edis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。 (一)Snapshotting 快照是默认的持久化方式。这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久化的方式。我们可以配置redis在n秒内如果超过m个key被修改就自动做快照



spark toDF 失败原因总结

Posted by 夏泽民

错误提示 value toDF is not a member of org.apache.spark.rdd.RDD[(org.apache.spark.ml.



spark_start问题原因及解决办法

Posted by 夏泽民
:14: error: not found: value spark import spark.implicits._ ^ :14: error: not found: value spark import spark.sql ^ scala> var rdd = sc.parallelize(1 to 10) :39: error: not found: value sc var rdd = sc.parallelize(1 to 10) 日志: Caused by: java.lang.RuntimeException: java.net.ConnectException: Call From localhost/127.0.0.1 to localhost:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused


Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required