ES 十月 12, 2021

环境搭建

文章字数 5.2k 阅读约需 5 mins.

  1. 下载elasticsearch镜像

    docker pull elasticsearch:8.2.0
    
    root@空痕影的matebook:~# docker pull elasticsearch:8....
查看全文

ES 十月 12, 2021

环境搭建

文章字数 5.2k 阅读约需 5 mins.

  1. 下载elasticsearch镜像

    docker pull elasticsearch:8.2.0
    
    root@空痕影的matebook:~# docker pull elasticsearch:8.2.0
    8.2.0: Pulling from library/elasticsearch
    e0b25ef51634: Pull complete
    860caabdf263: Pull complete
    9fbe6bc43ac5: Pull complete
    9d4f6737f430: Pull complete...
查看全文

ES 十月 12, 2021

mapping

文章字数 5.3k 阅读约需 5 mins.

​ mapping就是ES数据字段field的type元数据,ES在创建索引的时候,dynamic mapping会自动为不同的数据指定相应mapping,mapping中包含了字段的类型、搜索方式(exact value或者full text)、分词器等。

  1. 在dev tools中命令查询

    GET user/_mapping

  2. 在索引管理界面中查看

    stack management ->index mamagement ->(select table) ->mappings

    ...
查看全文

ES 十月 10, 2021

搜索与查询

文章字数 20k 阅读约需 18 mins.

查询示例

GET kibana_sample_data_ecommerce/_search
{
  "size": 1
}


{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "...
查看全文

MYSQL 九月 07, 2021

MySQL(十一)读写分离与集群

文章字数 607 阅读约需 1 mins.

MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。

  1. 物理服务器增加,机器处理能力提升。拿硬件换性能。
  2. 主从只负责各自的读和写,极大程度缓解X锁和S锁争用。
  3. slave可以配置myiasm引擎,提升查询性能以及节约系统开销。
  4. master直接写是并发的,slave通过主库发送来的binlog恢复数据是异步。
  5. slave可以单独设置一些参数来提升其读的性能,与master不一样的规则.
  6. 增加冗余,提高可用性。...
查看全文

MYSQL 九月 07, 2021

MySQL(十)主从复制

文章字数 6.6k 阅读约需 6 mins.

  • 在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。
  • 做数据的热备
  • 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。

​ MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方...

查看全文

MYSQL 九月 07, 2021

MySQL(九)锁机制

文章字数 13k 阅读约需 12 mins.

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

​ 相对其他数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table...

查看全文

MYSQL 九月 06, 2021

MySQL(八)服务器参数设置

文章字数 4.7k 阅读约需 4 mins.

  • datadir=/var/lib/mysql 数据文件存放的目录

  • socket=/var/lib/mysql/mysql.sock mysql.socket表示server和client在同一台服务器,并且使用localhost进行连接,就会使用socket进行连接

  • pid_file=/var/lib/mysql/mysql.pid 存储mysql的pid

  • port=3306 mysql服务的端口号

  • default_storage_engine=InnoDB mysql默认存储引擎

  • ...
查看全文

MYSQL 九月 03, 2021

MySQL(七)分区表

文章字数 6.4k 阅读约需 6 mins.

对于用户而言,分区表是一个独立的逻辑表,但是底层是由多个物理子表组成。分区表对于用户而言是一个完全封装底层实现的黑盒子,对用户而言是透明的,从文件系统中可以看到多个使用#分隔命名的表文件。
mysql在创建表时使用partition by子句定义每个分区存放的数据,在执行查询的时候,优化器会根据分区定义过滤那些没有我们需要数据的分区,这样查询就无须扫描所有分区。
分区的主要目的是将数据安好一个较粗的力度分在不同的表中,这样可以将相关的数据存放在一起。

  1. 表非常大以至于无法全部都放在内存中,或者只在表...
查看全文

文章 九月 02, 2021

Untitled

文章字数 1.4k 阅读约需 1 mins.

有时候需要索引很长的字符串,这会让索引变的大且慢,通常情况下可以使用某个列开始的部分字符串,这样大大的节约索引空间,从而提高索引效率,但这会降低索引的选择性,索引的选择性是指不重复的索引值和数据表记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性更高的索引可以让mysql在查找的时候过滤掉更多的行。

一般情况下某个列前缀的选择性也是足够高的,足以满足查询的性能,但是对应BLOB,TEXT,VARCHAR类型的列,必须要使用前缀索引,因为mysql不允许索引这些列的...

查看全文

MYSQL 八月 29, 2021

MySQL索引优化

文章字数 8.1k 阅读约需 7 mins.

B+Tree是在BTree的基础上做的一种优化

  • B+Tree每个节点可以包含更多的节点.

    作用:

    1. 降低树的高度.

    2. 将数据范围变为多个区间,区间越多,数据检索越快.

  • 非叶子节点存储key,叶子节点存储key和数据,

  • 叶子节点两两指针相互连接,顺序查找性能越高.

索引的优点

  • 大大减少服务器需要扫描的数据量
  • 帮助服务器避免排序和临时表
  • 将随机io变成顺序io

索引的用处

  • 快速查找匹配where子句的行
  • 从consideration中消除行,如果可以在多个索引之间进行选择,mysql...
查看全文
加载更多
0%